From 7204c31b60062d4528c6776b8652c0293e53e8a2 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 12 Aug 2021 15:35:20 +0100 Subject: [PATCH 01/24] trial breakpoints on pipelines --- src/fsharp/CompilerOptions.fs | 12 +- src/fsharp/Optimizer.fs | 165 +++++++++++++++---- src/fsharp/Optimizer.fsi | 41 +++-- src/fsharp/SyntaxTreeOps.fs | 9 +- src/fsharp/SyntaxTreeOps.fsi | 5 +- src/fsharp/TcGlobals.fs | 2 + src/fsharp/TypedTreeOps.fs | 7 + src/fsharp/TypedTreeOps.fsi | 7 +- src/fsharp/service/FSharpParseFileResults.fs | 13 ++ 9 files changed, 210 insertions(+), 51 deletions(-) diff --git a/src/fsharp/CompilerOptions.fs b/src/fsharp/CompilerOptions.fs index 602a9b5ddd..253e22747c 100644 --- a/src/fsharp/CompilerOptions.fs +++ b/src/fsharp/CompilerOptions.fs @@ -382,7 +382,7 @@ let setFlag r n = let SetOptimizeOff(tcConfigB: TcConfigBuilder) = tcConfigB.optSettings <- { tcConfigB.optSettings with jitOptUser = Some false } tcConfigB.optSettings <- { tcConfigB.optSettings with localOptUser = Some false } - tcConfigB.optSettings <- { tcConfigB.optSettings with crossModuleOptUser = Some false } + tcConfigB.optSettings <- { tcConfigB.optSettings with crossAssemblyOptimizationUser = Some false } tcConfigB.optSettings <- { tcConfigB.optSettings with lambdaInlineThreshold = 0 } tcConfigB.doDetuple <- false tcConfigB.doTLR <- false @@ -391,7 +391,7 @@ let SetOptimizeOff(tcConfigB: TcConfigBuilder) = let SetOptimizeOn(tcConfigB: TcConfigBuilder) = tcConfigB.optSettings <- { tcConfigB.optSettings with jitOptUser = Some true } tcConfigB.optSettings <- { tcConfigB.optSettings with localOptUser = Some true } - tcConfigB.optSettings <- { tcConfigB.optSettings with crossModuleOptUser = Some true } + tcConfigB.optSettings <- { tcConfigB.optSettings with crossAssemblyOptimizationUser = Some true } tcConfigB.optSettings <- { tcConfigB.optSettings with lambdaInlineThreshold = 6 } tcConfigB.doDetuple <- true tcConfigB.doTLR <- true @@ -420,7 +420,7 @@ let localoptimizeSwitch (tcConfigB: TcConfigBuilder) switch = tcConfigB.optSettings <- { tcConfigB.optSettings with localOptUser = Some (switch = OptionSwitch.On) } let crossOptimizeSwitch (tcConfigB: TcConfigBuilder) switch = - tcConfigB.optSettings <- { tcConfigB.optSettings with crossModuleOptUser = Some (switch = OptionSwitch.On) } + tcConfigB.optSettings <- { tcConfigB.optSettings with crossAssemblyOptimizationUser = Some (switch = OptionSwitch.On) } let splittingSwitch (tcConfigB: TcConfigBuilder) switch = tcConfigB.optSettings <- { tcConfigB.optSettings with abstractBigTargets = switch = OptionSwitch.On } @@ -540,7 +540,7 @@ let tagLangVersionValues = "{?|version|latest|preview}" let PrintOptionInfo (tcConfigB:TcConfigBuilder) = printfn " jitOptUser . . . . . . : %+A" tcConfigB.optSettings.jitOptUser printfn " localOptUser . . . . . : %+A" tcConfigB.optSettings.localOptUser - printfn " crossModuleOptUser . . : %+A" tcConfigB.optSettings.crossModuleOptUser + printfn " crossAssemblyOptimizationUser . . : %+A" tcConfigB.optSettings.crossAssemblyOptimizationUser printfn " lambdaInlineThreshold : %+A" tcConfigB.optSettings.lambdaInlineThreshold printfn " ignoreSymStoreSeqPts . : %+A" tcConfigB.ignoreSymbolStoreSequencePoints printfn " doDetuple . . . . . . : %+A" tcConfigB.doDetuple @@ -1359,12 +1359,12 @@ let deprecatedFlagsFsc tcConfigB = CompilerOption ("cross-optimize", tagNone, - OptionUnit (fun _ -> tcConfigB.optSettings <- { tcConfigB.optSettings with crossModuleOptUser = Some true }), + OptionUnit (fun _ -> tcConfigB.optSettings <- { tcConfigB.optSettings with crossAssemblyOptimizationUser = Some true }), Some(DeprecatedCommandLineOptionNoDescription("--cross-optimize", rangeCmdArgs)), None) CompilerOption ("no-cross-optimize", tagNone, - OptionUnit (fun _ -> tcConfigB.optSettings <- { tcConfigB.optSettings with crossModuleOptUser = Some false }), + OptionUnit (fun _ -> tcConfigB.optSettings <- { tcConfigB.optSettings with crossAssemblyOptimizationUser = Some false }), Some(DeprecatedCommandLineOptionNoDescription("--no-cross-optimize", rangeCmdArgs)), None) CompilerOption diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index f2a0436b59..00da55ff10 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -295,16 +295,21 @@ let [] jitOptDefault = true let [] localOptDefault = true -let [] crossModuleOptDefault = true +let [] crossAssemblyOptimizationDefault = true + +let [] debugPointsForPipeRightDefault = true type OptimizationSettings = - { abstractBigTargets : bool + { + abstractBigTargets : bool jitOptUser : bool option localOptUser : bool option - crossModuleOptUser : bool option + debugPointsForPipeRight: bool option + + crossAssemblyOptimizationUser : bool option /// size after which we start chopping methods in two, though only at match targets bigTargetSize : int @@ -331,9 +336,10 @@ type OptimizationSettings = { abstractBigTargets = false jitOptUser = None localOptUser = None + debugPointsForPipeRight = None bigTargetSize = 100 veryBigExprSize = 3000 - crossModuleOptUser = None + crossAssemblyOptimizationUser = None lambdaInlineThreshold = 6 reportingPhase = false reportNoNeedToTailcall = false @@ -342,40 +348,59 @@ type OptimizationSettings = reportTotalSizes = false } + /// Determines if JIT optimizations are enabled member x.jitOpt() = match x.jitOptUser with Some f -> f | None -> jitOptDefault + /// Determines if intra-assembly optimization is enabled member x.localOpt () = match x.localOptUser with Some f -> f | None -> localOptDefault - member x.crossModuleOpt () = x.localOpt () && (match x.crossModuleOptUser with Some f -> f | None -> crossModuleOptDefault) + /// Determines if cross-assembly optimization is enabled + member x.crossAssemblyOpt () = + x.localOpt () && + x.crossAssemblyOptimizationUser |> Option.defaultValue crossAssemblyOptimizationDefault + + /// Determines if we should keep optimization values + member x.KeepOptimizationValues = x.crossAssemblyOpt () - member x.KeepOptimizationValues() = x.crossModuleOpt () + /// Determines if we should inline calls + member x.InlineLambdas = x.localOpt () - /// inline calls? - member x.InlineLambdas () = x.localOpt () + /// Determines if we should eliminate unused bindings with no effect + member x.EliminateUnusedBindings = x.localOpt () - /// eliminate unused bindings with no effect - member x.EliminateUnusedBindings () = x.localOpt () + /// Determines if we should arrange things so we debug points for pipelines x |> f1 |> f2 + /// including locals "", "" and so on. + /// On by default for debug code. + member x.DebugPointsForPipeRight = + not (x.localOpt ()) && + x.debugPointsForPipeRight |> Option.defaultValue debugPointsForPipeRightDefault - /// eliminate try around expr with no effect - member x.EliminateTryWithAndTryFinally () = false // deemed too risky, given tiny overhead of including try/with. See https://github.com/Microsoft/visualfsharp/pull/376 + /// Determines if we should eliminate try/with or try/finally around an expr if it has no effect + /// + /// This optimization is off by default, given tiny overhead of including try/with. See https://github.com/Microsoft/visualfsharp/pull/376 + member _.EliminateTryWithAndTryFinally = false - /// eliminate first part of seq if no effect - member x.EliminateSequential () = x.localOpt () + /// Determines if we should eliminate first part of sequential expression if it has no effect + member x.EliminateSequential = x.localOpt () - /// determine branches in pattern matching - member x.EliminateSwitch () = x.localOpt () + /// Determines if we should determine branches in pattern matching based on known information, e.g. + /// eliminate a "if true then .. else ... " + member x.EliminateSwitch = x.localOpt () - member x.EliminateRecdFieldGet () = x.localOpt () + /// Determines if we should eliminate gets on a record if the value is known to be a record with known info and the field is not mutable + member x.EliminateRecdFieldGet = x.localOpt () - member x.EliminateTupleFieldGet () = x.localOpt () + /// Determines if we should eliminate gets on a tuple if the value is known to be a tuple with known info + member x.EliminateTupleFieldGet = x.localOpt () + /// Determines if we should eliminate gets on a union if the value is known to be that union case and the particular field has known info member x.EliminateUnionCaseFieldGet () = x.localOpt () - /// eliminate non-compiler generated immediate bindings + /// Determines if we should eliminate non-compiler generated immediate bindings member x.EliminateImmediatelyConsumedLocals() = x.localOpt () - /// expand "let x = (exp1, exp2, ...)" bindings as prior tmps - /// expand "let x = Some exp1" bindings as prior tmps + /// Determines if we should expand "let x = (exp1, exp2, ...)" bindings as prior tmps + /// Also if we should expand "let x = Some exp1" bindings as prior tmps member x.ExpandStructuralValues() = x.localOpt () type cenv = @@ -613,7 +638,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.crossModuleOpt () || vref.MustInline then + elif cenv.settings.crossAssemblyOpt () || vref.MustInline then match TryGetInfoForNonLocalEntityRef env vref.nlr.EnclosingEntity.nlr with | Some structInfo -> match structInfo.ValInfos.TryFind vref with @@ -1318,7 +1343,7 @@ let IsDiscardableEffectExpr expr = let ValueIsUsedOrHasEffect cenv fvs (b: Binding, binfo) = let v = b.Var // No discarding for debug code, except InlineIfLambda - (not (cenv.settings.EliminateUnusedBindings()) && not v.InlineIfLambda) || + (not cenv.settings.EliminateUnusedBindings && not v.InlineIfLambda) || // No discarding for members Option.isSome v.MemberInfo || // No discarding for bindings that have an effect @@ -2017,6 +2042,8 @@ let rec OptimizeExpr cenv (env: IncrementalOptimizationEnv) expr = match expr with | DelegateInvokeExpr cenv.g (iref, fty, tyargs, delegatef, args, m) -> OptimizeFSharpDelegateInvoke cenv env (iref, delegatef, fty, tyargs, args, m) + | OpPipeRight cenv.g _ when cenv.settings.DebugPointsForPipeRight -> + OptimizeDebugPipeRights cenv env expr | _ -> // eliminate uses of query @@ -2347,7 +2374,7 @@ and OptimizeConst cenv env expr (c, m, ty) = /// Optimize/analyze a record lookup. and TryOptimizeRecordFieldGet cenv _env (e1info, (RecdFieldRef (rtcref, _) as r), _tinst, m) = match destRecdValue e1info.Info with - | Some finfos when cenv.settings.EliminateRecdFieldGet() && not e1info.HasEffect -> + | Some finfos when cenv.settings.EliminateRecdFieldGet && not e1info.HasEffect -> match TryFindFSharpAttribute cenv.g cenv.g.attrib_CLIMutableAttribute rtcref.Attribs with | Some _ -> None | None -> @@ -2358,7 +2385,7 @@ and TryOptimizeRecordFieldGet cenv _env (e1info, (RecdFieldRef (rtcref, _) as r) and TryOptimizeTupleFieldGet cenv _env (_tupInfo, e1info, tys, n, m) = match destTupleValue e1info.Info with - | Some tups when cenv.settings.EliminateTupleFieldGet() && not e1info.HasEffect -> + | Some tups when cenv.settings.EliminateTupleFieldGet && not e1info.HasEffect -> let len = tups.Length if len <> tys.Length then errorR(InternalError("error: tuple lengths don't match", m)) if n >= len then errorR(InternalError("TryOptimizeTupleFieldGet: tuple index out of range", m)) @@ -2471,7 +2498,7 @@ and OptimizeLinearExpr cenv env expr contf = if (flag = NormalSeq) && // Always eliminate '(); expr' sequences, even in debug code, to ensure that // conditional method calls don't leave a dangling breakpoint (see FSharp 1.0 bug 6034) - (cenv.settings.EliminateSequential () || (match e1R with Expr.Const (Const.Unit, _, _) -> true | _ -> false)) && + (cenv.settings.EliminateSequential || (match e1R with Expr.Const (Const.Unit, _, _) -> true | _ -> false)) && not e1info.HasEffect then e2R, e2info else @@ -2539,7 +2566,7 @@ and OptimizeTryFinally cenv env (spTry, spFinally, e1, e2, m, ty) = MightMakeCriticalTailcall = false // no tailcalls from inside in try/finally Info = UnknownValue } // try-finally, so no effect means no exception can be raised, so just sequence the finally - if cenv.settings.EliminateTryWithAndTryFinally () && not e1info.HasEffect then + if cenv.settings.EliminateTryWithAndTryFinally && not e1info.HasEffect then let sp = match spTry with | DebugPointAtTry.Yes _ -> DebugPointAtSequential.SuppressNeither @@ -2554,7 +2581,7 @@ and OptimizeTryFinally cenv env (spTry, spFinally, e1, e2, m, ty) = and OptimizeTryWith cenv env (e1, vf, ef, vh, eh, m, ty, spTry, spWith) = let e1R, e1info = OptimizeExpr cenv env e1 // try-with, so no effect means no exception can be raised, so discard the with - if cenv.settings.EliminateTryWithAndTryFinally () && not e1info.HasEffect then + if cenv.settings.EliminateTryWithAndTryFinally && not e1info.HasEffect then e1R, e1info else let envinner = BindInternalValToUnknown cenv vf (BindInternalValToUnknown cenv vh env) @@ -2946,7 +2973,7 @@ and TryInlineApplication cenv env finfo (tyargs: TType list, args: Expr list, m) | StripLambdaValue (lambdaId, arities, size, f2, f2ty) when (// Considering inlining lambda cenv.optimizing && - cenv.settings.InlineLambdas () && + cenv.settings.InlineLambdas && not finfo.HasEffect && // Don't inline recursively! not (Zset.contains lambdaId env.dontInline) && @@ -3195,6 +3222,82 @@ and OptimizeApplication cenv env (f0, f0ty, tyargs, args, m) = MightMakeCriticalTailcall = mayBeCriticalTailcall Info=ValueOfExpr newExpr } +/// Extract a sequence of pipe-right operations (note the pipe-right operator is left-associative) +and getPipes g expr acc = + match expr with + | OpPipeRight g (xType, resType, xExpr, fExpr, m) -> + getPipes g xExpr ((xExpr.Range, xType, resType, fExpr, m) :: acc) + | _ -> expr, acc + +/// In debug code, process a pipe-right manually to lay down the debug point for the application of the function after +/// the evaluation of the argument, all the way down the chain. +and OptimizeDebugPipeRights cenv env expr = + let g = cenv.g + + let x0, pipes = getPipes g expr [] + assert (pipes.Length > 0) + let pipes, pipeLast = List.frontAndBack pipes + + let xR0, xInfo0 = OptimizeExpr cenv env x0 + + // The last pipe in the chain + // ... |> fLast + // turns into a then-do sequential, so + // fLast thendo () + // with a breakpoint on the first expression + let binderLast = + let (_, xType, resType, fExpr: Expr, _) = pipeLast + let fRange = fExpr.Range + let fType = mkFunTy xType resType + let fR, finfo = OptimizeExpr cenv env fExpr + let lastDebugPoint = DebugPointAtSequential.SuppressStmt + (fun (prevInputExpr, prevInputInfo) -> + let expr = mkThenDoSequential lastDebugPoint fRange (mkApps g ((fR, fType), [], [prevInputExpr], fRange)) (mkUnit g fRange) + let info = + { TotalSize=finfo.TotalSize + prevInputInfo.TotalSize + FunctionSize=finfo.FunctionSize + prevInputInfo.FunctionSize + HasEffect=true + MightMakeCriticalTailcall = true + Info=ValueOfExpr expr } + expr, info) + + // Mid points in the chain + // ... |> fMid |> rest + // turn into let-binding on an intermediate pipe stage + // let pipe-stage-n = fMid + // rest + // with a breakpoint on the binding + // + let pipesBinder = + (List.indexed pipes, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> + + let name = "" + let inputVal, inputExpr = mkLocal xRange name xType + + let fRange = fExpr.Range + let fType = mkFunTy xType resType + let fR, finfo = OptimizeExpr cenv env fExpr + let restExpr, restInfo = binder (inputExpr, finfo) + let appDebugPoint = DebugPointAtBinding.Yes fRange + let newBinder (ve, info) = + // The range used for the 'let' expression is only the 'f' in x |> f + let expr = mkLet appDebugPoint fRange inputVal (mkApps g ((fR, fType), [], [ve], fRange)) restExpr + let info = CombineValueInfosUnknown [info; restInfo] + expr, info + newBinder + ) + // The first point in the chain is similar + // let = x + // rest + // with a breakpoint on the pipe-input binding + let xRange0 = x0.Range + let inputVal, inputValExpr= mkLocal xRange0 "" (tyOfExpr g x0) + let pipesExpr, pipesInfo = pipesBinder (inputValExpr, xInfo0) + // The range used for the 'let' expression is only the 'f1' in x |> f1 |> f2 + let nextFuncRange = (p45 pipes.Head).Range + let expr = mkLet (DebugPointAtBinding.Yes xRange0) nextFuncRange inputVal xR0 pipesExpr + expr, pipesInfo + and OptimizeFSharpDelegateInvoke cenv env (invokeRef, f0, f0ty, tyargs, args, m) = let g = cenv.g let optf0, finfo = OptimizeExpr cenv env f0 @@ -3467,7 +3570,7 @@ and OptimizeSwitch cenv env (e, cases, dflt, m) = let eR, einfo = OptimizeExpr cenv env e let cases, dflt = - if cenv.settings.EliminateSwitch() && not einfo.HasEffect then + if cenv.settings.EliminateSwitch && not einfo.HasEffect then // Attempt to find a definite success, i.e. the first case where there is definite success match (List.tryFind (function TCase(d2, _) when TryOptimizeDecisionTreeTest cenv d2 einfo.Info = Some true -> true | _ -> false) cases) with | Some(TCase(_, case)) -> [], Some case @@ -3541,7 +3644,7 @@ and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = let einfo = if vref.MustInline || 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.MustInline && 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 diff --git a/src/fsharp/Optimizer.fsi b/src/fsharp/Optimizer.fsi index 85504d0262..f1a798afc0 100644 --- a/src/fsharp/Optimizer.fsi +++ b/src/fsharp/Optimizer.fsi @@ -10,20 +10,39 @@ open FSharp.Compiler.TypedTreeOps open FSharp.Compiler.TypedTreePickle type OptimizationSettings = - { abstractBigTargets: bool - jitOptUser: bool option - localOptUser: bool option - crossModuleOptUser: bool option - bigTargetSize: int - veryBigExprSize: int - lambdaInlineThreshold: int - reportingPhase: bool + { + abstractBigTargets : bool + + jitOptUser : bool option + + localOptUser : bool option + + debugPointsForPipeRight: bool option + + crossAssemblyOptimizationUser : bool option + + /// size after which we start chopping methods in two, though only at match targets + bigTargetSize : int + + /// size after which we start enforcing splitting sub-expressions to new methods, to avoid hitting .NET IL limitations + veryBigExprSize : int + + /// The size after which we don't inline + lambdaInlineThreshold : int + + /// For unit testing + reportingPhase : bool + reportNoNeedToTailcall: bool - reportFunctionSizes: bool - reportHasEffect: bool - reportTotalSizes: bool + + reportFunctionSizes : bool + + reportHasEffect : bool + + reportTotalSizes : bool } + member jitOpt: unit -> bool member localOpt: unit -> bool diff --git a/src/fsharp/SyntaxTreeOps.fs b/src/fsharp/SyntaxTreeOps.fs index ec0f6b90f8..6c8fa5aeba 100644 --- a/src/fsharp/SyntaxTreeOps.fs +++ b/src/fsharp/SyntaxTreeOps.fs @@ -759,4 +759,11 @@ let (|ParsedHashDirectiveArguments|) (input: ParsedHashDirectiveArgument list) = (function | ParsedHashDirectiveArgument.String (s, _, _) -> s | ParsedHashDirectiveArgument.SourceIdentifier (_, v, _) -> v) - input \ No newline at end of file + input + +let (|SynPipeRight|_|) input = + match input with + | SynExpr.App (ExprAtomicFlag.NonAtomic, false, SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, x1, _m1), x2, _m2) + when synId.idText = "op_PipeRight" -> + Some (x1, x2) + | _ -> None diff --git a/src/fsharp/SyntaxTreeOps.fsi b/src/fsharp/SyntaxTreeOps.fsi index 0e6f0c8ffa..8b087d93c6 100644 --- a/src/fsharp/SyntaxTreeOps.fsi +++ b/src/fsharp/SyntaxTreeOps.fsi @@ -262,4 +262,7 @@ val noInferredTypars: SynValTyparDecls val synExprContainsError: inpExpr:SynExpr -> bool -val ( |ParsedHashDirectiveArguments| ) : ParsedHashDirectiveArgument list -> string list \ No newline at end of file +val ( |ParsedHashDirectiveArguments| ) : ParsedHashDirectiveArgument list -> string list + +val (|SynPipeRight|_|): SynExpr -> (SynExpr * SynExpr) option + diff --git a/src/fsharp/TcGlobals.fs b/src/fsharp/TcGlobals.fs index efe5a93463..bb445efd29 100755 --- a/src/fsharp/TcGlobals.fs +++ b/src/fsharp/TcGlobals.fs @@ -624,6 +624,7 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d let v_reference_equality_inner_info = makeIntrinsicValRef(fslib_MFHashCompare_nleref, "PhysicalEqualityIntrinsic" , None , None , [vara], mk_rel_sig varaTy) + let v_piperight_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb],([[varaTy];[varaTy --> varbTy]], varbTy)) let v_bitwise_or_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseOr" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_and_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseAnd" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_xor_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_ExclusiveOr" , None , None , [vara], mk_binop_ty varaTy) @@ -1298,6 +1299,7 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d member val reference_equality_inner_vref = ValRefForIntrinsic v_reference_equality_inner_info + member val piperight_vref = ValRefForIntrinsic v_piperight_info member val bitwise_or_vref = ValRefForIntrinsic v_bitwise_or_info member val bitwise_and_vref = ValRefForIntrinsic v_bitwise_and_info member val bitwise_xor_vref = ValRefForIntrinsic v_bitwise_xor_info diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 76e5572590..afaaf829d8 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -7658,6 +7658,13 @@ let (|DelegateInvokeExpr|_|) g expr = Some(iref, fty, tyargs, f, args, m) | _ -> None +let (|OpPipeRight|_|) g expr = + match expr with + | Expr.App (Expr.Val (vref, _, _), _, [xType; resType], [xExpr; fExpr], m) + when valRefEq g vref g.piperight_vref -> + Some(xType, resType, xExpr, fExpr, m) + | _ -> None + let rec MakeFSharpDelegateInvokeAndTryBetaReduce g (invokeRef, f, fty, tyargs, argsl: Expr list, m) = match f with | Expr.Let (bind, body, mlet, _) -> diff --git a/src/fsharp/TypedTreeOps.fsi b/src/fsharp/TypedTreeOps.fsi index 402208b2be..c1d165be32 100755 --- a/src/fsharp/TypedTreeOps.fsi +++ b/src/fsharp/TypedTreeOps.fsi @@ -2505,4 +2505,9 @@ val (|ResumableCodeInvoke|_|): g:TcGlobals -> expr: Expr -> (Expr * Expr * Expr list * range * (Expr * Expr list -> Expr)) option - \ No newline at end of file + +val (|OpPipeRight|_|): + g:TcGlobals -> + expr: Expr -> + (TType * TType * Expr * Expr * range) option + diff --git a/src/fsharp/service/FSharpParseFileResults.fs b/src/fsharp/service/FSharpParseFileResults.fs index 97aa2eaf09..d7e2797c7f 100644 --- a/src/fsharp/service/FSharpParseFileResults.fs +++ b/src/fsharp/service/FSharpParseFileResults.fs @@ -534,6 +534,19 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, yield! checkRange e.Range yield! walkExpr false e + // Always allow breakpoints on input and stages of x |> f1 |> f2 pipelines + | SynPipeRight _ -> + let rec loop e = + seq { + match e with + | SynPipeRight (xExpr, fExpr) -> + yield! checkRange fExpr.Range + yield! walkExpr false fExpr + yield! loop xExpr + | _ -> + yield! walkExpr false e + } + yield! loop expr | SynExpr.NamedIndexedPropertySet (_, e1, e2, _) | SynExpr.DotSet (e1, _, e2, _) | SynExpr.Set (e1, e2, _) From 8ca9c5a24d07447d25f3220626f5d516036e7eef Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 12 Aug 2021 15:58:52 +0100 Subject: [PATCH 02/24] trial breakpoints on pipelines --- src/fsharp/Optimizer.fs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 00da55ff10..cc8537ebc3 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3236,7 +3236,7 @@ and OptimizeDebugPipeRights cenv env expr = let x0, pipes = getPipes g expr [] assert (pipes.Length > 0) - let pipes, pipeLast = List.frontAndBack pipes + let pipesFront, pipeLast = List.frontAndBack pipes let xR0, xInfo0 = OptimizeExpr cenv env x0 @@ -3269,7 +3269,7 @@ and OptimizeDebugPipeRights cenv env expr = // with a breakpoint on the binding // let pipesBinder = - (List.indexed pipes, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> + (List.indexed pipesFront, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> let name = "" let inputVal, inputExpr = mkLocal xRange name xType @@ -3292,10 +3292,8 @@ and OptimizeDebugPipeRights cenv env expr = // with a breakpoint on the pipe-input binding let xRange0 = x0.Range let inputVal, inputValExpr= mkLocal xRange0 "" (tyOfExpr g x0) - let pipesExpr, pipesInfo = pipesBinder (inputValExpr, xInfo0) - // The range used for the 'let' expression is only the 'f1' in x |> f1 |> f2 - let nextFuncRange = (p45 pipes.Head).Range - let expr = mkLet (DebugPointAtBinding.Yes xRange0) nextFuncRange inputVal xR0 pipesExpr + let pipesExprR, pipesInfo = pipesBinder (inputValExpr, xInfo0) + let expr = mkLet (DebugPointAtBinding.Yes xRange0) expr.Range inputVal xR0 pipesExprR expr, pipesInfo and OptimizeFSharpDelegateInvoke cenv env (invokeRef, f0, f0ty, tyargs, args, m) = From fd39288767a7f215812ec1a1fd59ac9379df650c Mon Sep 17 00:00:00 2001 From: Don Syme Date: Thu, 12 Aug 2021 16:22:36 +0100 Subject: [PATCH 03/24] trial breakpoints on pipelines --- src/fsharp/Optimizer.fs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index cc8537ebc3..e217606b0e 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3272,16 +3272,16 @@ and OptimizeDebugPipeRights cenv env expr = (List.indexed pipesFront, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> let name = "" - let inputVal, inputExpr = mkLocal xRange name xType + let stageVal, stageValExpr = mkLocal xRange name resType let fRange = fExpr.Range let fType = mkFunTy xType resType let fR, finfo = OptimizeExpr cenv env fExpr - let restExpr, restInfo = binder (inputExpr, finfo) + let restExpr, restInfo = binder (stageValExpr, finfo) let appDebugPoint = DebugPointAtBinding.Yes fRange let newBinder (ve, info) = // The range used for the 'let' expression is only the 'f' in x |> f - let expr = mkLet appDebugPoint fRange inputVal (mkApps g ((fR, fType), [], [ve], fRange)) restExpr + let expr = mkLet appDebugPoint fRange stageVal (mkApps g ((fR, fType), [], [ve], fRange)) restExpr let info = CombineValueInfosUnknown [info; restInfo] expr, info newBinder From fb75858d14ea2bb3bf4a17feac017aa9e906af0e Mon Sep 17 00:00:00 2001 From: Don Syme Date: Fri, 13 Aug 2021 11:42:23 +0100 Subject: [PATCH 04/24] increment pipeline number --- src/fsharp/Optimizer.fs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index e217606b0e..5f7c457f94 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -369,7 +369,7 @@ type OptimizationSettings = member x.EliminateUnusedBindings = x.localOpt () /// Determines if we should arrange things so we debug points for pipelines x |> f1 |> f2 - /// including locals "", "" and so on. + /// including locals "", "" and so on. /// On by default for debug code. member x.DebugPointsForPipeRight = not (x.localOpt ()) && @@ -422,10 +422,17 @@ type cenv = /// cache methods with SecurityAttribute applied to them, to prevent unnecessary calls to ExistsInEntireHierarchyOfType casApplied: Dictionary + } override x.ToString() = "" +// environment for a method +type menv = + { mutable pipelineCount: int } + + override x.ToString() = "" + type IncrementalOptimizationEnv = { /// An identifier to help with name generation latestBoundId: Ident option @@ -448,6 +455,8 @@ type IncrementalOptimizationEnv = localExternalVals: LayeredMap + methEnv: menv + globalModuleInfos: LayeredMap } @@ -459,7 +468,8 @@ type IncrementalOptimizationEnv = dontSplitVars = ValMap.Empty disableMethodSplitting = false localExternalVals = LayeredMap.Empty - globalModuleInfos = LayeredMap.Empty } + globalModuleInfos = LayeredMap.Empty + methEnv = { pipelineCount = 0 } } override x.ToString() = "" @@ -3234,6 +3244,7 @@ and getPipes g expr acc = and OptimizeDebugPipeRights cenv env expr = let g = cenv.g + env.methEnv.pipelineCount <- env.methEnv.pipelineCount + 1 let x0, pipes = getPipes g expr [] assert (pipes.Length > 0) let pipesFront, pipeLast = List.frontAndBack pipes @@ -3271,7 +3282,7 @@ and OptimizeDebugPipeRights cenv env expr = let pipesBinder = (List.indexed pipesFront, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> - let name = "" + let name = "Pipe #" + string env.methEnv.pipelineCount + " stage #" + string (i+1) let stageVal, stageValExpr = mkLocal xRange name resType let fRange = fExpr.Range @@ -3291,7 +3302,7 @@ and OptimizeDebugPipeRights cenv env expr = // rest // with a breakpoint on the pipe-input binding let xRange0 = x0.Range - let inputVal, inputValExpr= mkLocal xRange0 "" (tyOfExpr g x0) + let inputVal, inputValExpr= mkLocal xRange0 ("Pipe #" + string env.methEnv.pipelineCount + " input") (tyOfExpr g x0) let pipesExprR, pipesInfo = pipesBinder (inputValExpr, xInfo0) let expr = mkLet (DebugPointAtBinding.Yes xRange0) expr.Range inputVal xR0 pipesExprR expr, pipesInfo @@ -3326,6 +3337,7 @@ and OptimizeLambdas (vspec: Val option) cenv env topValInfo e ety = match e with | Expr.Lambda (lambdaId, _, _, _, _, m, _) | Expr.TyLambda (lambdaId, _, _, m, _) -> + let env = { env with methEnv = { pipelineCount = 0 }} let tps, ctorThisValOpt, baseValOpt, vsl, body, bodyty = IteratedAdjustArityOfLambda cenv.g cenv.amap topValInfo e let env = { env with functionVal = (match vspec with None -> None | Some v -> Some (v, topValInfo)) } let env = Option.foldBack (BindInternalValToUnknown cenv) ctorThisValOpt env @@ -3869,7 +3881,8 @@ let OptimizeImplFile (settings, ccu, tcGlobals, tcVal, importMap, optEnv, isIncr optimizing=true localInternalVals=Dictionary(10000) emitTailcalls=emitTailcalls - casApplied=Dictionary() } + casApplied=Dictionary() + } let env, _, _, _ as results = OptimizeImplFileInternal cenv optEnv isIncrementalFragment hidden mimpls From 235d3f7a327bda1845227d79ff426f5743778faf Mon Sep 17 00:00:00 2001 From: Don Syme Date: Fri, 13 Aug 2021 18:11:05 +0100 Subject: [PATCH 05/24] upddate baselines and fix bug with then-do expressions --- src/fsharp/symbols/Exprs.fs | 3 +- .../AsyncExpressionSteppingTest1.il.bsl | 19 +- .../AsyncExpressionSteppingTest2.il.bsl | 19 +- .../AsyncExpressionSteppingTest3.il.bsl | 9 +- .../AsyncExpressionSteppingTest4.il.bsl | 9 +- .../AsyncExpressionSteppingTest5.il.bsl | 19 +- .../AsyncExpressionSteppingTest6.il.bsl | 9 +- .../ComputationExpr01.il.bsl | 30 +- .../ComputationExpr02.il.bsl | 30 +- .../ComputationExpr03.il.bsl | 80 +- .../ComputationExpr04.il.bsl | 30 +- .../ComputationExpr05.il.bsl | 30 +- .../ComputationExpr06.il.bsl | 30 +- .../ComputationExpr07.il.bsl | 30 +- .../EmittedIL/Misc/CodeGenRenamings01.il.bsl | 189 +- .../EmittedIL/Misc/LetIfThenElse01.il.bsl | 9 +- .../Linq101Aggregates01.il.bsl | 1686 +++++++++-------- .../Linq101Grouping01.il.bsl | 506 ++--- .../Linq101Joins01.il.bsl | 602 +++--- .../Linq101Ordering01.il.bsl | 780 ++++---- .../Linq101Partitioning01.il.bsl | 722 +++---- .../Linq101Quantifiers01.il.bsl | 376 ++-- .../Linq101Select01.il.bsl | 1350 ++++++------- .../Linq101SetOperators01.il.bsl | 294 +-- .../Linq101Where01.il.bsl | 618 +++--- .../SeqExpressionSteppingTest1.il.bsl | 20 +- .../SeqExpressionSteppingTest2.il.bsl | 20 +- .../SeqExpressionSteppingTest3.il.bsl | 20 +- .../SeqExpressionSteppingTest4.il.bsl | 20 +- .../SeqExpressionSteppingTest5.il.bsl | 20 +- .../SeqExpressionSteppingTest6.il.bsl | 20 +- .../TestFunctions/Testfunction15.il.bsl | 29 +- tests/service/ExprTests.fs | 8 +- 33 files changed, 3997 insertions(+), 3639 deletions(-) diff --git a/src/fsharp/symbols/Exprs.fs b/src/fsharp/symbols/Exprs.fs index 32bc39663d..95c774bb46 100644 --- a/src/fsharp/symbols/Exprs.fs +++ b/src/fsharp/symbols/Exprs.fs @@ -401,7 +401,8 @@ module FSharpExprConvert = // tail recursive ConvExprLinear cenv env e2 (contF << (fun e2R -> E.Sequential(e1R, e2R))) - | Expr.Sequential (x0, x1, ThenDoSeq, _, _) -> E.Sequential(ConvExpr cenv env x0, ConvExpr cenv env x1) + | Expr.Sequential (x0, x1, ThenDoSeq, _, _) -> + E.Sequential(ConvExpr cenv env x0, ConvExpr cenv env x1) |> contF | ModuleValueOrMemberUse cenv.g (vref, vFlags, _f, _fty, tyargs, curriedArgs) when (nonNil tyargs || nonNil curriedArgs) && vref.IsMemberOrModuleBinding -> ConvModuleValueOrMemberUseLinear cenv env (expr, vref, vFlags, tyargs, curriedArgs) contF diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl index 3e69ae4967..a0d83aa269 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:3:0 + .ver 5:0:0:0 } .assembly AsyncExpressionSteppingTest1 { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.AsyncExpressionSteppingTest1 { - // Offset: 0x00000000 Length: 0x0000026C + // Offset: 0x00000000 Length: 0x00000260 } .mresource public FSharpOptimizationData.AsyncExpressionSteppingTest1 { - // Offset: 0x00000270 Length: 0x000000B1 + // Offset: 0x00000268 Length: 0x000000B1 } .module AsyncExpressionSteppingTest1.dll -// MVID: {5AF5DDAE-6394-B5D4-A745-0383AEDDF55A} +// MVID: {6116A45A-6394-B5D4-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x02880000 +// Image base: 0x07170000 // =============== CLASS MEMBERS DECLARATION =================== @@ -83,7 +83,7 @@ // Code size 62 (0x3e) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 17,32 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest1.fs' + .line 6,6 : 17,32 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest1.fs' 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) @@ -140,11 +140,12 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) - .line 10,10 : 13,43 '' + .line 10,10 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest1/AsyncExpressionSteppingTest1::f1() IL_0005: stloc.0 + .line 10,10 : 21,43 '' IL_0006: ldloc.0 IL_0007: stloc.1 IL_0008: ldloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl index 7bdb6a074c..83cd4e3fb5 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:3:0 + .ver 5:0:0:0 } .assembly AsyncExpressionSteppingTest2 { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.AsyncExpressionSteppingTest2 { - // Offset: 0x00000000 Length: 0x0000026C + // Offset: 0x00000000 Length: 0x00000260 } .mresource public FSharpOptimizationData.AsyncExpressionSteppingTest2 { - // Offset: 0x00000270 Length: 0x000000B1 + // Offset: 0x00000268 Length: 0x000000B1 } .module AsyncExpressionSteppingTest2.dll -// MVID: {5AF5DDAE-6394-D499-A745-0383AEDDF55A} +// MVID: {6116A45A-6394-D499-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04520000 +// Image base: 0x051E0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,7 +80,7 @@ // Code size 15 (0xf) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 23,29 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest2.fs' + .line 6,6 : 23,29 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest2.fs' IL_0000: ldarg.0 IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 AsyncExpressionSteppingTest2/AsyncExpressionSteppingTest2/'f2@6-1'::x IL_0006: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) @@ -237,11 +237,12 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) - .line 11,11 : 13,43 '' + .line 11,11 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest2/AsyncExpressionSteppingTest2::f2() IL_0005: stloc.0 + .line 11,11 : 21,43 '' IL_0006: ldloc.0 IL_0007: stloc.1 IL_0008: ldloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl index 76f073cdd4..cf6d2196ce 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest3.dll -// MVID: {60EDFA6D-6394-F35E-A745-03836DFAED60} +// MVID: {6116A45A-6394-F35E-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06D00000 +// Image base: 0x07080000 // =============== CLASS MEMBERS DECLARATION =================== @@ -198,11 +198,12 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) - .line 12,12 : 13,43 '' + .line 12,12 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest3/AsyncExpressionSteppingTest3::f3() IL_0005: stloc.0 + .line 12,12 : 21,43 '' IL_0006: ldloc.0 IL_0007: stloc.1 IL_0008: ldloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl index 61ab690daf..f037dfe042 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest4.dll -// MVID: {60EDFA6D-6394-6D4B-A745-03836DFAED60} +// MVID: {6116A45A-6394-6D4B-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06840000 +// Image base: 0x07230000 // =============== CLASS MEMBERS DECLARATION =================== @@ -346,11 +346,12 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) - .line 15,15 : 13,43 '' + .line 15,15 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest4/AsyncExpressionSteppingTest4::f4() IL_0005: stloc.0 + .line 15,15 : 21,43 '' IL_0006: ldloc.0 IL_0007: stloc.1 IL_0008: ldloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl index da554a3adf..b9878a7359 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:3:0 + .ver 5:0:0:0 } .assembly AsyncExpressionSteppingTest5 { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.AsyncExpressionSteppingTest5 { - // Offset: 0x00000000 Length: 0x000002B8 + // Offset: 0x00000000 Length: 0x000002AC } .mresource public FSharpOptimizationData.AsyncExpressionSteppingTest5 { - // Offset: 0x000002C0 Length: 0x000000BE + // Offset: 0x000002B0 Length: 0x000000BE } .module AsyncExpressionSteppingTest5.dll -// MVID: {5AF5DDAE-6394-30E8-A745-0383AEDDF55A} +// MVID: {6116A45A-6394-30E8-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04430000 +// Image base: 0x07030000 // =============== CLASS MEMBERS DECLARATION =================== @@ -84,7 +84,7 @@ .maxstack 5 .locals init ([0] int32 x) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 17,31 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest5.fs' + .line 6,6 : 17,31 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest5.fs' IL_0000: ldarg.1 IL_0001: stloc.0 .line 7,7 : 20,35 '' @@ -399,7 +399,7 @@ // Code size 48 (0x30) .maxstack 6 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es, - [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1, + [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [2] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2) .line 4,4 : 5,21 '' IL_0000: ldc.i4.3 @@ -415,9 +415,10 @@ IL_0017: dup IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$AsyncExpressionSteppingTest5::es@4 IL_001d: stloc.0 - .line 13,13 : 13,43 '' + .line 13,13 : 13,17 '' IL_001e: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5::f7() IL_0023: stloc.1 + .line 13,13 : 21,43 '' IL_0024: ldloc.1 IL_0025: stloc.2 IL_0026: ldloc.2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl index 165e470e0b..6ef3694237 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BE } .module AsyncExpressionSteppingTest6.dll -// MVID: {60EDFA6D-6394-4FAD-A745-03836DFAED60} +// MVID: {6116A45A-6394-4FAD-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x071A0000 +// Image base: 0x06870000 // =============== CLASS MEMBERS DECLARATION =================== @@ -768,11 +768,12 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) - .line 22,22 : 13,43 '' + .line 22,22 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f3() IL_0005: stloc.0 + .line 22,22 : 21,43 '' IL_0006: ldloc.0 IL_0007: stloc.1 IL_0008: ldloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl index 056640724c..2ec27fd2d6 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr01 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr01 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr01.exe -// MVID: {5A1F62A7-3703-E566-A745-0383A7621F5A} +// MVID: {6116A45A-3703-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x007B0000 +// Image base: 0x06AC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -83,7 +83,7 @@ // Code size 15 (0xf) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 9,17 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr01.fs' + .line 8,8 : 9,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr01.fs' IL_0000: ldarg.0 IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr01/res1@8::builder@ IL_0006: ldc.i4.1 @@ -123,10 +123,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res1, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -137,11 +138,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr01::res1@6 IL_0018: stloc.0 - .line 10,10 : 1,25 '' + .line 10,10 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr01::get_res1() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 10,10 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr01::main@ } // end of class ''.$ComputationExpr01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl index 80dd23ca0b..f0bc31e125 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr02 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr02 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr02.exe -// MVID: {5A1F62A7-3624-E566-A745-0383A7621F5A} +// MVID: {6116A45A-3624-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x01010000 +// Image base: 0x07280000 // =============== CLASS MEMBERS DECLARATION =================== @@ -84,7 +84,7 @@ .maxstack 7 .locals init ([0] int32 x) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 18,33 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr02.fs' + .line 8,8 : 18,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr02.fs' 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) @@ -135,10 +135,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res2, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -149,11 +150,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr02::res2@6 IL_0018: stloc.0 - .line 10,10 : 1,25 '' + .line 10,10 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr02::get_res2() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 10,10 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr02::main@ } // end of class ''.$ComputationExpr02 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl index 46926f5d00..6badd0772f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr03 { - // Offset: 0x00000000 Length: 0x00000222 + // Offset: 0x00000000 Length: 0x00000238 } .mresource public FSharpOptimizationData.ComputationExpr03 { - // Offset: 0x00000228 Length: 0x0000008C + // Offset: 0x00000240 Length: 0x0000008C } .module ComputationExpr03.exe -// MVID: {5A1F62A7-3649-E566-A745-0383A7621F5A} +// MVID: {6116A45A-3649-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00BF0000 +// Image base: 0x06F30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -55,7 +55,7 @@ extends [mscorlib]System.Object { .custom instance 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@8-1' + .class auto ansi serializable sealed nested assembly beforefieldinit res2@8 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ @@ -73,9 +73,9 @@ 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 ComputationExpr03/'res2@8-1'::builder@ + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/res2@8::builder@ IL_000d: ret - } // end of method 'res2@8-1'::.ctor + } // end of method res2@8::.ctor .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed @@ -84,7 +84,7 @@ .maxstack 7 .locals init ([0] int32 x) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 18,33 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr03.fs' + .line 8,8 : 18,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr03.fs' 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) @@ -95,16 +95,16 @@ IL_001a: stloc.0 .line 9,9 : 9,21 '' IL_001b: ldarg.0 - IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/'res2@8-1'::builder@ + IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/res2@8::builder@ IL_0021: ldloc.0 IL_0022: ldloc.0 IL_0023: add IL_0024: tail. IL_0026: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) IL_002b: ret - } // end of method 'res2@8-1'::Invoke + } // end of method res2@8::Invoke - } // end of class 'res2@8-1' + } // end of class res2@8 .class auto ansi serializable sealed nested assembly beforefieldinit 'res3@17-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -295,7 +295,7 @@ { // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::'res2@6-2' + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::res2@6 IL_0005: ret } // end of method ComputationExpr03::get_res2 @@ -325,7 +325,7 @@ .class private abstract auto ansi sealed ''.$ComputationExpr03 extends [mscorlib]System.Object { - .field static assembly class [ComputationExprLibrary]Library.Eventually`1 'res2@6-2' + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res2@6 .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res3@12 .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) @@ -336,40 +336,48 @@ .method public static void main@() cil managed { .entrypoint - // Code size 73 (0x49) + // Code size 82 (0x52) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res2, [1] class [ComputationExprLibrary]Library.Eventually`1 res3, [2] class [ComputationExprLibrary]Library.EventuallyBuilder V_2, - [3] class [ComputationExprLibrary]Library.EventuallyBuilder V_3) + [3] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input', + [4] class [ComputationExprLibrary]Library.EventuallyBuilder V_4, + [5] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #2 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.2 IL_0006: ldloc.2 IL_0007: ldloc.2 - IL_0008: newobj instance void ComputationExpr03/'res2@8-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0008: newobj instance void ComputationExpr03/res2@8::.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: dup - IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::'res2@6-2' + IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::res2@6 IL_0018: stloc.0 - .line 10,10 : 1,25 '' + .line 10,10 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr03::get_res2() - 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.3 - IL_002a: ldloc.3 - IL_002b: ldloc.3 - IL_002c: newobj instance void ComputationExpr03/res3@14::.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: dup - IL_0037: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::res3@12 - IL_003c: stloc.1 - .line 22,22 : 1,26 '' - IL_003d: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr03::get_res3() - IL_0042: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0047: pop - IL_0048: ret + IL_001e: stloc.3 + .line 10,10 : 9,25 '' + IL_001f: ldloc.3 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_002b: stloc.s V_4 + IL_002d: ldloc.s V_4 + IL_002f: ldloc.s V_4 + IL_0031: newobj instance void ComputationExpr03/res3@14::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0036: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003b: dup + IL_003c: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr03::res3@12 + IL_0041: stloc.1 + .line 22,22 : 1,5 '' + IL_0042: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr03::get_res3() + IL_0047: stloc.s 'Pipe #2 input' + .line 22,22 : 10,26 '' + IL_0049: ldloc.s 'Pipe #2 input' + IL_004b: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0050: pop + IL_0051: ret } // end of method $ComputationExpr03::main@ } // end of class ''.$ComputationExpr03 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl index 6f211063ee..5cee4af74c 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr04 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr04 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr04.exe -// MVID: {5A1F62A7-366A-E566-A745-0383A7621F5A} +// MVID: {6116A45A-366A-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04DD0000 +// Image base: 0x072A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -85,7 +85,7 @@ .locals init ([0] int32 x, [1] string V_1) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 7,7 : 22,37 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr04.fs' + .line 7,7 : 22,37 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr04.fs' 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) @@ -250,10 +250,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res4, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -264,11 +265,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr04::res4@4 IL_0018: stloc.0 - .line 14,14 : 1,25 '' + .line 14,14 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr04::get_res4() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 14,14 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr04::main@ } // end of class ''.$ComputationExpr04 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl index 02f3be89cb..6d196dbca1 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr05 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr05 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr05.exe -// MVID: {5A1F62A7-3687-E566-A745-0383A7621F5A} +// MVID: {6116A45A-3687-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x039D0000 +// Image base: 0x05210000 // =============== CLASS MEMBERS DECLARATION =================== @@ -79,7 +79,7 @@ // Code size 1 (0x1) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 68,70 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr05.fs' + .line 9,9 : 68,70 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr05.fs' IL_0000: ret } // end of method 'res5@9-1'::System.IDisposable.Dispose @@ -220,10 +220,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res5, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -234,11 +235,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr05::res5@6 IL_0018: stloc.0 - .line 13,13 : 1,25 '' + .line 13,13 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr05::get_res5() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 13,13 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr05::main@ } // end of class ''.$ComputationExpr05 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl index 93152a9b90..8536521ddb 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr06 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr06 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr06.exe -// MVID: {5A1F62A7-35A8-E566-A745-0383A7621F5A} +// MVID: {6116A45A-35A8-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00DD0000 +// Image base: 0x06900000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,7 +80,7 @@ // Code size 15 (0xf) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 15,21 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr06.fs' + .line 9,9 : 15,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr06.fs' IL_0000: ldarg.0 IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 ComputationExpr06/'res6@9-1'::x IL_0006: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) @@ -292,10 +292,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res6, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -306,11 +307,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr06::res6@6 IL_0018: stloc.0 - .line 18,18 : 1,25 '' + .line 18,18 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr06::get_res6() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 18,18 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr06::main@ } // end of class ''.$ComputationExpr06 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl index 2e07f1e3d6..6a5f7980af 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly extern ComputationExprLibrary { @@ -33,20 +33,20 @@ } .mresource public FSharpSignatureData.ComputationExpr07 { - // Offset: 0x00000000 Length: 0x000001F8 + // Offset: 0x00000000 Length: 0x0000020E } .mresource public FSharpOptimizationData.ComputationExpr07 { - // Offset: 0x00000200 Length: 0x0000007D + // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr07.exe -// MVID: {5A1F62A7-35BD-E566-A745-0383A7621F5A} +// MVID: {6116A45A-35BD-E566-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x03800000 +// Image base: 0x06EC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -89,7 +89,7 @@ .maxstack 7 .locals init ([0] int32 v) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 9,29 'C:\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr07.fs' + .line 9,9 : 9,29 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr07.fs' IL_0000: ldarg.1 IL_0001: stloc.0 .line 10,10 : 13,24 '' @@ -254,10 +254,11 @@ .method public static void main@() cil managed { .entrypoint - // Code size 37 (0x25) + // Code size 39 (0x27) .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res7, - [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 @@ -268,11 +269,14 @@ IL_0012: dup IL_0013: stsfld class [ComputationExprLibrary]Library.Eventually`1 ''.$ComputationExpr07::res7@6 IL_0018: stloc.0 - .line 13,13 : 1,25 '' + .line 13,13 : 1,5 '' IL_0019: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr07::get_res7() - IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) - IL_0023: pop - IL_0024: ret + IL_001e: stloc.2 + .line 13,13 : 9,25 '' + IL_001f: ldloc.2 + IL_0020: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0025: pop + IL_0026: ret } // end of method $ComputationExpr07::main@ } // end of class ''.$ComputationExpr07 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl index 08a6e0020c..3886efc6c7 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000003D0 Length: 0x0000011B } .module CodeGenRenamings01.exe -// MVID: {60B78A57-8173-986B-A745-0383578AB760} +// MVID: {6116A45A-8173-986B-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CA0000 +// Image base: 0x06CB0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -422,8 +422,8 @@ .method public static void main@() cil managed { .entrypoint - // Code size 567 (0x237) - .maxstack 12 + // Code size 583 (0x247) + .maxstack 8 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 alist, [1] int32[] 'array', [2] class [mscorlib]System.Collections.Generic.IEnumerable`1 aseq, @@ -435,12 +435,16 @@ [8] int32[0...,0...,0...,0...] array4D, [9] int32[] a1, [10] int32[] a2, - [11] class [mscorlib]System.Tuple`4 V_11, - [12] class [mscorlib]System.Tuple`4 V_12, - [13] class [mscorlib]System.Tuple`3 V_13, - [14] class [mscorlib]System.Tuple`3 V_14, - [15] class [mscorlib]System.Tuple`4 V_15, - [16] class [mscorlib]System.Tuple`4 V_16) + [11] int32 'Pipe #1 input', + [12] class [mscorlib]System.Tuple`4 'Pipe #2 input', + [13] class [mscorlib]System.Tuple`4 V_13, + [14] int32 'Pipe #3 input', + [15] class [mscorlib]System.Tuple`3 'Pipe #4 input', + [16] class [mscorlib]System.Tuple`3 V_16, + [17] int32 'Pipe #5 input', + [18] class [mscorlib]System.Tuple`4 'Pipe #6 input', + [19] class [mscorlib]System.Tuple`4 V_19, + [20] int32 'Pipe #7 input') .line 5,5 : 1,24 '' IL_0000: ldc.i4.1 IL_0001: ldc.i4.1 @@ -594,66 +598,70 @@ IL_0137: dup IL_0138: stsfld int32[] ''.$CodeGenRenamings01::a2@26 IL_013d: stloc.s a2 - .line 27,27 : 1,33 '' - IL_013f: call int32[] CodeGenRenamings01::get_a2() + .line 27,27 : 1,15 '' + IL_013f: call int32[] CodeGenRenamings01::get_a1() IL_0144: ldc.i4.0 - IL_0145: call int32[] CodeGenRenamings01::get_a1() - IL_014a: ldc.i4.0 - IL_014b: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], + IL_0145: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], int32) - IL_0150: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], + IL_014a: stloc.s 'Pipe #1 input' + .line 27,27 : 19,33 '' + IL_014c: call int32[] CodeGenRenamings01::get_a2() + IL_0151: ldc.i4.0 + IL_0152: ldloc.s 'Pipe #1 input' + IL_0154: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], int32, !!0) - IL_0155: nop - .line 30,30 : 1,87 '' - IL_0156: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_015b: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) - IL_0160: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_0165: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) - IL_016a: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_016f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) - IL_0174: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_0179: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) - IL_017e: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, + IL_0159: nop + .line 30,30 : 2,76 '' + IL_015a: call int32[0...,0...] CodeGenRenamings01::get_a3() + IL_015f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) + IL_0164: call int32[0...,0...] CodeGenRenamings01::get_a3() + IL_0169: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) + IL_016e: call int32[0...,0...] CodeGenRenamings01::get_a3() + IL_0173: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) + IL_0178: call int32[0...,0...] CodeGenRenamings01::get_a3() + IL_017d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) + IL_0182: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, !1, !2, !3) - IL_0183: stloc.s V_11 - IL_0185: ldloc.s V_11 - IL_0187: stloc.s V_12 - .line 31,31 : 1,41 '' - IL_0189: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_018e: ldc.i4.0 - IL_018f: ldc.i4.0 - IL_0190: call int32[0...,0...] CodeGenRenamings01::get_a3() - IL_0195: ldc.i4.0 - IL_0196: ldc.i4.0 - IL_0197: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], + IL_0187: stloc.s 'Pipe #2 input' + .line 30,30 : 81,87 '' + IL_0189: ldloc.s 'Pipe #2 input' + IL_018b: stloc.s V_13 + .line 31,31 : 1,19 '' + IL_018d: call int32[0...,0...] CodeGenRenamings01::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_019c: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], + IL_0199: stloc.s 'Pipe #3 input' + .line 31,31 : 23,41 '' + IL_019b: call int32[0...,0...] CodeGenRenamings01::get_a3() + IL_01a0: ldc.i4.0 + IL_01a1: ldc.i4.0 + IL_01a2: ldloc.s 'Pipe #3 input' + IL_01a4: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], int32, int32, !!0) - IL_01a1: nop - .line 34,34 : 1,86 '' - IL_01a2: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() - IL_01a7: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) - IL_01ac: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() - IL_01b1: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) - IL_01b6: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() - IL_01bb: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) - IL_01c0: newobj instance void class [mscorlib]System.Tuple`3::.ctor(!0, + IL_01a9: nop + .line 34,34 : 2,75 '' + IL_01aa: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() + IL_01af: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) + IL_01b4: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() + IL_01b9: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) + IL_01be: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() + IL_01c3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) + IL_01c8: newobj instance void class [mscorlib]System.Tuple`3::.ctor(!0, !1, !2) - IL_01c5: stloc.s V_13 - IL_01c7: ldloc.s V_13 - IL_01c9: stloc.s V_14 - .line 35,35 : 1,55 '' - IL_01cb: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() - IL_01d0: ldc.i4.0 - IL_01d1: ldc.i4.0 - IL_01d2: ldc.i4.0 + IL_01cd: stloc.s 'Pipe #4 input' + .line 34,34 : 80,86 '' + IL_01cf: ldloc.s 'Pipe #4 input' + IL_01d1: stloc.s V_16 + .line 35,35 : 1,26 '' IL_01d3: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() IL_01d8: ldc.i4.0 IL_01d9: ldc.i4.0 @@ -662,52 +670,63 @@ int32, int32, int32) - IL_01e0: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], + IL_01e0: stloc.s 'Pipe #5 input' + .line 35,35 : 30,55 '' + IL_01e2: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() + IL_01e7: ldc.i4.0 + IL_01e8: ldc.i4.0 + IL_01e9: ldc.i4.0 + IL_01ea: ldloc.s 'Pipe #5 input' + IL_01ec: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], int32, int32, int32, !!0) - IL_01e5: nop - .line 38,38 : 1,111 '' - IL_01e6: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_01eb: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) - IL_01f0: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_01f5: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) - IL_01fa: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_01ff: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) - IL_0204: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_0209: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) - IL_020e: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, + IL_01f1: nop + .line 38,38 : 2,100 '' + IL_01f2: call int32[0...,0...,0...,0...] CodeGenRenamings01::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...] CodeGenRenamings01::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...] CodeGenRenamings01::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...] CodeGenRenamings01::get_array4D() + IL_0215: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) + IL_021a: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, !1, !2, !3) - IL_0213: stloc.s V_15 - IL_0215: ldloc.s V_15 - IL_0217: stloc.s V_16 - .line 39,39 : 1,59 '' - IL_0219: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_021e: ldc.i4.0 - IL_021f: ldc.i4.0 - IL_0220: ldc.i4.0 - IL_0221: ldc.i4.0 - IL_0222: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() - IL_0227: ldc.i4.0 - IL_0228: ldc.i4.0 - IL_0229: ldc.i4.0 + IL_021f: stloc.s 'Pipe #6 input' + .line 38,38 : 105,111 '' + IL_0221: ldloc.s 'Pipe #6 input' + IL_0223: stloc.s V_19 + .line 39,39 : 1,28 '' + IL_0225: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() IL_022a: ldc.i4.0 - IL_022b: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,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_0230: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], + IL_0233: stloc.s 'Pipe #7 input' + .line 39,39 : 32,59 '' + IL_0235: call int32[0...,0...,0...,0...] CodeGenRenamings01::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 'Pipe #7 input' + IL_0240: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], int32, int32, int32, int32, !!0) - IL_0235: nop - IL_0236: ret + IL_0245: nop + IL_0246: ret } // end of method $CodeGenRenamings01::main@ } // end of class ''.$CodeGenRenamings01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl index 4fd045b716..3abac7c586 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001E0 Length: 0x00000076 } .module LetIfThenElse01.exe -// MVID: {60B68B7F-BE5A-D8FD-A745-03837F8BB660} +// MVID: {6116A45A-BE5A-D8FD-A745-03835AA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AF0000 +// Image base: 0x06D90000 // =============== CLASS MEMBERS DECLARATION =================== @@ -171,12 +171,13 @@ .entrypoint // Code size 10 (0xa) .maxstack 3 - .locals init ([0] class [mscorlib]System.Tuple`4 V_0, + .locals init ([0] class [mscorlib]System.Tuple`4 'Pipe #1 input', [1] class [mscorlib]System.Tuple`4 V_1) - .line 12,12 : 1,15 '' + .line 12,12 : 1,5 '' IL_0000: ldc.i4.1 IL_0001: call class [mscorlib]System.Tuple`4 LetIfThenElse01::F(!!0) IL_0006: stloc.0 + .line 12,12 : 9,15 '' IL_0007: ldloc.0 IL_0008: stloc.1 IL_0009: ret diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl index b951385cf7..2cbf3dbe45 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl @@ -50,13 +50,13 @@ // Offset: 0x000005F0 Length: 0x00000211 } .module Linq101Aggregates01.exe -// MVID: {60BD472F-D281-4783-A745-03832F47BD60} +// MVID: {6116A45B-D281-4783-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05800000 +// Image base: 0x04F80000 // =============== CLASS MEMBERS DECLARATION =================== @@ -65,7 +65,7 @@ extends [mscorlib]System.Object { .custom instance 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 uniqueFactors@12 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@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 ) @@ -90,17 +90,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0009: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Aggregates01/uniqueFactors@12::current + IL_0010: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method uniqueFactors@12::.ctor + } // end of method 'Pipe #1 input@12'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -112,7 +112,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -139,18 +139,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_factorsOf300() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0037: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc .line 12,12 : 9,33 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 12,12 : 9,33 '' @@ -159,10 +159,10 @@ .line 13,13 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0059: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Aggregates01/uniqueFactors@12::current + IL_0060: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -172,24 +172,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_006c: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc .line 12,12 : 9,33 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0086: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Aggregates01/uniqueFactors@12::current + IL_008d: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method uniqueFactors@12::GenerateNext + } // end of method 'Pipe #1 input@12'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -200,7 +200,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -216,7 +216,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0018: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -246,19 +246,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0044: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0058: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Aggregates01/uniqueFactors@12::current + IL_005f: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current IL_0064: leave.s IL_0070 } // end .try @@ -287,7 +287,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method uniqueFactors@12::Close + } // end of method 'Pipe #1 input@12'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -296,7 +296,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -330,7 +330,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method uniqueFactors@12::get_CheckClose + } // end of method 'Pipe #1 input@12'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -340,9 +340,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::current + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current IL_0006: ret - } // end of method uniqueFactors@12::get_LastGenerated + } // end of method 'Pipe #1 input@12'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -354,13 +354,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Aggregates01/uniqueFactors@12::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Aggregates01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method uniqueFactors@12::GetFreshEnumerator + } // end of method 'Pipe #1 input@12'::GetFreshEnumerator - } // end of class uniqueFactors@12 + } // end of class 'Pipe #1 input@12' .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1031,7 +1031,7 @@ } // end of class 'totalChars@31-1' - .class auto ansi serializable sealed nested assembly beforefieldinit categories@39 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@39' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1049,9 +1049,9 @@ 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 Linq101Aggregates01/categories@39::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@39'::builder@ IL_000d: ret - } // end of method categories@39::.ctor + } // end of method 'Pipe #2 input@39'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1064,19 +1064,19 @@ IL_0001: stloc.0 .line 40,40 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories@39::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@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 - } // end of method categories@39::Invoke + } // end of method 'Pipe #2 input@39'::Invoke - } // end of class categories@39 + } // end of class 'Pipe #2 input@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories@40-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories@40-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input@40-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1087,7 +1087,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories@40-1'::.ctor + } // end of method 'Pipe #2 input@40-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1097,24 +1097,24 @@ .line 40,40 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories@40-1'::Invoke + } // end of method 'Pipe #2 input@40-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories@40-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories@40-1' Linq101Aggregates01/'categories@40-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@40-1' Linq101Aggregates01/'Pipe #2 input@40-1'::@_instance IL_000a: ret - } // end of method 'categories@40-1'::.cctor + } // end of method 'Pipe #2 input@40-1'::.cctor - } // end of class 'categories@40-1' + } // end of class 'Pipe #2 input@40-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories@40-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories@40-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input@40-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1125,7 +1125,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories@40-2'::.ctor + } // end of method 'Pipe #2 input@40-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1137,19 +1137,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories@40-2'::Invoke + } // end of method 'Pipe #2 input@40-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories@40-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories@40-2' Linq101Aggregates01/'categories@40-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@40-2' Linq101Aggregates01/'Pipe #2 input@40-2'::@_instance IL_000a: ret - } // end of method 'categories@40-2'::.cctor + } // end of method 'Pipe #2 input@40-2'::.cctor - } // end of class 'categories@40-2' + } // end of class 'Pipe #2 input@40-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1496,7 +1496,7 @@ } // end of class 'sum@43-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories@40-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@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@ @@ -1514,9 +1514,9 @@ 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 Linq101Aggregates01/'categories@40-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@40-3'::builder@ IL_000d: ret - } // end of method 'categories@40-3'::.ctor + } // end of method 'Pipe #2 input@40-3'::.ctor .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 @@ -1604,7 +1604,7 @@ IL_0073: stloc.1 .line 45,45 : 9,28 '' IL_0074: ldarg.0 - IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories@40-3'::builder@ + IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@40-3'::builder@ IL_007a: ldloc.0 IL_007b: ldloc.1 IL_007c: newobj instance void class [mscorlib]System.Tuple`2,int32>::.ctor(!0, @@ -1612,14 +1612,14 @@ IL_0081: tail. IL_0083: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) IL_0088: ret - } // end of method 'categories@40-3'::Invoke + } // end of method 'Pipe #2 input@40-3'::Invoke - } // end of class 'categories@40-3' + } // end of class 'Pipe #2 input@40-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories@45-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@45-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'categories@45-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input@45-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1630,7 +1630,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'categories@45-4'::.ctor + } // end of method 'Pipe #2 input@45-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,int32> tupledArg) cil managed @@ -1653,19 +1653,19 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'categories@45-4'::Invoke + } // end of method 'Pipe #2 input@45-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories@45-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories@45-4' Linq101Aggregates01/'categories@45-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@45-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@45-4' Linq101Aggregates01/'Pipe #2 input@45-4'::@_instance IL_000a: ret - } // end of method 'categories@45-4'::.cctor + } // end of method 'Pipe #2 input@45-4'::.cctor - } // end of class 'categories@45-4' + } // end of class 'Pipe #2 input@45-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -2336,7 +2336,7 @@ } // end of class 'shortestWord@52-1' - .class auto ansi serializable sealed nested assembly beforefieldinit categories2@57 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@57' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2354,9 +2354,9 @@ 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 Linq101Aggregates01/categories2@57::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@57'::builder@ IL_000d: ret - } // end of method categories2@57::.ctor + } // end of method 'Pipe #3 input@57'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -2369,19 +2369,19 @@ IL_0001: stloc.0 .line 58,58 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories2@57::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@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 - } // end of method categories2@57::Invoke + } // end of method 'Pipe #3 input@57'::Invoke - } // end of class categories2@57 + } // end of class 'Pipe #3 input@57' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories2@58-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories2@58-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input@58-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2392,7 +2392,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories2@58-1'::.ctor + } // end of method 'Pipe #3 input@58-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -2402,24 +2402,24 @@ .line 58,58 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories2@58-1'::Invoke + } // end of method 'Pipe #3 input@58-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories2@58-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories2@58-1' Linq101Aggregates01/'categories2@58-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@58-1' Linq101Aggregates01/'Pipe #3 input@58-1'::@_instance IL_000a: ret - } // end of method 'categories2@58-1'::.cctor + } // end of method 'Pipe #3 input@58-1'::.cctor - } // end of class 'categories2@58-1' + } // end of class 'Pipe #3 input@58-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories2@58-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories2@58-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input@58-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2430,7 +2430,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories2@58-2'::.ctor + } // end of method 'Pipe #3 input@58-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -2442,19 +2442,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories2@58-2'::Invoke + } // end of method 'Pipe #3 input@58-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories2@58-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories2@58-2' Linq101Aggregates01/'categories2@58-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@58-2' Linq101Aggregates01/'Pipe #3 input@58-2'::@_instance IL_000a: ret - } // end of method 'categories2@58-2'::.cctor + } // end of method 'Pipe #3 input@58-2'::.cctor - } // end of class 'categories2@58-2' + } // end of class 'Pipe #3 input@58-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -2801,7 +2801,7 @@ } // end of class 'min@59-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories2@58-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2819,9 +2819,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories2@58-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@58-3'::builder@ IL_000d: ret - } // end of method 'categories2@58-3'::.ctor + } // end of method 'Pipe #3 input@58-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -2849,7 +2849,7 @@ IL_001f: stloc.1 .line 60,60 : 9,28 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories2@58-3'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@58-3'::builder@ IL_0026: ldloc.0 IL_0027: ldloc.1 IL_0028: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -2857,14 +2857,14 @@ IL_002d: tail. IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_0034: ret - } // end of method 'categories2@58-3'::Invoke + } // end of method 'Pipe #3 input@58-3'::Invoke - } // end of class 'categories2@58-3' + } // end of class 'Pipe #3 input@58-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories2@60-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@60-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'categories2@60-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input@60-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2875,7 +2875,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'categories2@60-4'::.ctor + } // end of method 'Pipe #3 input@60-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -2898,21 +2898,21 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'categories2@60-4'::Invoke + } // end of method 'Pipe #3 input@60-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories2@60-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories2@60-4' Linq101Aggregates01/'categories2@60-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@60-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@60-4' Linq101Aggregates01/'Pipe #3 input@60-4'::@_instance IL_000a: ret - } // end of method 'categories2@60-4'::.cctor + } // end of method 'Pipe #3 input@60-4'::.cctor - } // end of class 'categories2@60-4' + } // end of class 'Pipe #3 input@60-4' - .class auto ansi serializable sealed nested assembly beforefieldinit categories3@66 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@66' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2930,9 +2930,9 @@ 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 Linq101Aggregates01/categories3@66::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@66'::builder@ IL_000d: ret - } // end of method categories3@66::.ctor + } // end of method 'Pipe #4 input@66'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -2945,19 +2945,19 @@ IL_0001: stloc.0 .line 67,67 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories3@66::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@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 - } // end of method categories3@66::Invoke + } // end of method 'Pipe #4 input@66'::Invoke - } // end of class categories3@66 + } // end of class 'Pipe #4 input@66' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories3@67-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories3@67-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input@67-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2968,7 +2968,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories3@67-1'::.ctor + } // end of method 'Pipe #4 input@67-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -2978,24 +2978,24 @@ .line 67,67 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories3@67-1'::Invoke + } // end of method 'Pipe #4 input@67-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories3@67-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories3@67-1' Linq101Aggregates01/'categories3@67-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@67-1' Linq101Aggregates01/'Pipe #4 input@67-1'::@_instance IL_000a: ret - } // end of method 'categories3@67-1'::.cctor + } // end of method 'Pipe #4 input@67-1'::.cctor - } // end of class 'categories3@67-1' + } // end of class 'Pipe #4 input@67-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories3@67-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories3@67-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input@67-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -3006,7 +3006,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories3@67-2'::.ctor + } // end of method 'Pipe #4 input@67-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -3018,19 +3018,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories3@67-2'::Invoke + } // end of method 'Pipe #4 input@67-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories3@67-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories3@67-2' Linq101Aggregates01/'categories3@67-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@67-2' Linq101Aggregates01/'Pipe #4 input@67-2'::@_instance IL_000a: ret - } // end of method 'categories3@67-2'::.cctor + } // end of method 'Pipe #4 input@67-2'::.cctor - } // end of class 'categories3@67-2' + } // end of class 'Pipe #4 input@67-2' .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' extends [mscorlib]System.Object @@ -3391,7 +3391,7 @@ } // end of class 'cheapestProducts@69-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories3@67-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -3409,9 +3409,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]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 Linq101Aggregates01/'categories3@67-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@67-3'::builder@ IL_000d: ret - } // end of method 'categories3@67-3'::.ctor + } // end of method 'Pipe #4 input@67-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -3455,7 +3455,7 @@ IL_003a: stloc.2 .line 70,70 : 9,41 '' IL_003b: ldarg.0 - IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories3@67-3'::builder@ + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@67-3'::builder@ IL_0041: ldloc.0 IL_0042: ldloc.1 IL_0043: ldloc.2 @@ -3465,14 +3465,14 @@ IL_0049: tail. IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(!!0) IL_0050: ret - } // end of method 'categories3@67-3'::Invoke + } // end of method 'Pipe #4 input@67-3'::Invoke - } // end of class 'categories3@67-3' + } // end of class 'Pipe #4 input@67-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories3@70-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@70-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Aggregates01/'categories3@70-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input@70-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -3483,7 +3483,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'categories3@70-4'::.ctor + } // end of method 'Pipe #4 input@70-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed @@ -3510,19 +3510,19 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0021: ret - } // end of method 'categories3@70-4'::Invoke + } // end of method 'Pipe #4 input@70-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories3@70-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories3@70-4' Linq101Aggregates01/'categories3@70-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@70-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@70-4' Linq101Aggregates01/'Pipe #4 input@70-4'::@_instance IL_000a: ret - } // end of method 'categories3@70-4'::.cctor + } // end of method 'Pipe #4 input@70-4'::.cctor - } // end of class 'categories3@70-4' + } // end of class 'Pipe #4 input@70-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -4193,7 +4193,7 @@ } // end of class 'longestLength@77-1' - .class auto ansi serializable sealed nested assembly beforefieldinit categories4@82 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@82' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -4211,9 +4211,9 @@ 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 Linq101Aggregates01/categories4@82::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@82'::builder@ IL_000d: ret - } // end of method categories4@82::.ctor + } // end of method 'Pipe #5 input@82'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -4226,19 +4226,19 @@ IL_0001: stloc.0 .line 83,83 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories4@82::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@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 - } // end of method categories4@82::Invoke + } // end of method 'Pipe #5 input@82'::Invoke - } // end of class categories4@82 + } // end of class 'Pipe #5 input@82' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories4@83-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories4@83-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input@83-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4249,7 +4249,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories4@83-1'::.ctor + } // end of method 'Pipe #5 input@83-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -4259,24 +4259,24 @@ .line 83,83 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories4@83-1'::Invoke + } // end of method 'Pipe #5 input@83-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories4@83-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories4@83-1' Linq101Aggregates01/'categories4@83-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@83-1' Linq101Aggregates01/'Pipe #5 input@83-1'::@_instance IL_000a: ret - } // end of method 'categories4@83-1'::.cctor + } // end of method 'Pipe #5 input@83-1'::.cctor - } // end of class 'categories4@83-1' + } // end of class 'Pipe #5 input@83-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories4@83-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories4@83-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input@83-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4287,7 +4287,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories4@83-2'::.ctor + } // end of method 'Pipe #5 input@83-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -4299,19 +4299,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories4@83-2'::Invoke + } // end of method 'Pipe #5 input@83-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories4@83-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories4@83-2' Linq101Aggregates01/'categories4@83-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@83-2' Linq101Aggregates01/'Pipe #5 input@83-2'::@_instance IL_000a: ret - } // end of method 'categories4@83-2'::.cctor + } // end of method 'Pipe #5 input@83-2'::.cctor - } // end of class 'categories4@83-2' + } // end of class 'Pipe #5 input@83-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -4658,7 +4658,7 @@ } // end of class 'mostExpensivePrice@84-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories4@83-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -4676,9 +4676,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories4@83-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@83-3'::builder@ IL_000d: ret - } // end of method 'categories4@83-3'::.ctor + } // end of method 'Pipe #5 input@83-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -4706,7 +4706,7 @@ IL_001f: stloc.1 .line 85,85 : 9,43 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories4@83-3'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@83-3'::builder@ IL_0026: ldloc.0 IL_0027: ldloc.1 IL_0028: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -4714,14 +4714,14 @@ IL_002d: tail. IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_0034: ret - } // end of method 'categories4@83-3'::Invoke + } // end of method 'Pipe #5 input@83-3'::Invoke - } // end of class 'categories4@83-3' + } // end of class 'Pipe #5 input@83-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories4@85-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@85-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'categories4@85-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input@85-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4732,7 +4732,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'categories4@85-4'::.ctor + } // end of method 'Pipe #5 input@85-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -4755,21 +4755,21 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'categories4@85-4'::Invoke + } // end of method 'Pipe #5 input@85-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories4@85-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories4@85-4' Linq101Aggregates01/'categories4@85-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@85-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@85-4' Linq101Aggregates01/'Pipe #5 input@85-4'::@_instance IL_000a: ret - } // end of method 'categories4@85-4'::.cctor + } // end of method 'Pipe #5 input@85-4'::.cctor - } // end of class 'categories4@85-4' + } // end of class 'Pipe #5 input@85-4' - .class auto ansi serializable sealed nested assembly beforefieldinit categories5@91 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@91' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -4787,9 +4787,9 @@ 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 Linq101Aggregates01/categories5@91::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@91'::builder@ IL_000d: ret - } // end of method categories5@91::.ctor + } // end of method 'Pipe #6 input@91'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -4802,19 +4802,19 @@ IL_0001: stloc.0 .line 92,92 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories5@91::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@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 - } // end of method categories5@91::Invoke + } // end of method 'Pipe #6 input@91'::Invoke - } // end of class categories5@91 + } // end of class 'Pipe #6 input@91' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories5@92-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories5@92-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input@92-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4825,7 +4825,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories5@92-1'::.ctor + } // end of method 'Pipe #6 input@92-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -4835,24 +4835,24 @@ .line 92,92 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories5@92-1'::Invoke + } // end of method 'Pipe #6 input@92-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories5@92-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories5@92-1' Linq101Aggregates01/'categories5@92-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@92-1' Linq101Aggregates01/'Pipe #6 input@92-1'::@_instance IL_000a: ret - } // end of method 'categories5@92-1'::.cctor + } // end of method 'Pipe #6 input@92-1'::.cctor - } // end of class 'categories5@92-1' + } // end of class 'Pipe #6 input@92-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories5@92-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories5@92-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input@92-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4863,7 +4863,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories5@92-2'::.ctor + } // end of method 'Pipe #6 input@92-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -4875,19 +4875,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories5@92-2'::Invoke + } // end of method 'Pipe #6 input@92-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories5@92-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories5@92-2' Linq101Aggregates01/'categories5@92-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@92-2' Linq101Aggregates01/'Pipe #6 input@92-2'::@_instance IL_000a: ret - } // end of method 'categories5@92-2'::.cctor + } // end of method 'Pipe #6 input@92-2'::.cctor - } // end of class 'categories5@92-2' + } // end of class 'Pipe #6 input@92-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -5575,7 +5575,7 @@ } // end of class 'mostExpensiveProducts@94-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories5@92-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -5593,9 +5593,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]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 Linq101Aggregates01/'categories5@92-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@92-3'::builder@ IL_000d: ret - } // end of method 'categories5@92-3'::.ctor + } // end of method 'Pipe #6 input@92-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -5644,7 +5644,7 @@ IL_0045: stloc.2 .line 95,95 : 9,46 '' IL_0046: ldarg.0 - IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories5@92-3'::builder@ + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@92-3'::builder@ IL_004c: ldloc.0 IL_004d: ldloc.1 IL_004e: ldloc.2 @@ -5654,14 +5654,14 @@ IL_0054: tail. IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(!!0) IL_005b: ret - } // end of method 'categories5@92-3'::Invoke + } // end of method 'Pipe #6 input@92-3'::Invoke - } // end of class 'categories5@92-3' + } // end of class 'Pipe #6 input@92-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories5@95-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@95-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Aggregates01/'categories5@95-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input@95-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -5672,7 +5672,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'categories5@95-4'::.ctor + } // end of method 'Pipe #6 input@95-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed @@ -5699,19 +5699,19 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0021: ret - } // end of method 'categories5@95-4'::Invoke + } // end of method 'Pipe #6 input@95-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories5@95-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories5@95-4' Linq101Aggregates01/'categories5@95-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@95-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@95-4' Linq101Aggregates01/'Pipe #6 input@95-4'::@_instance IL_000a: ret - } // end of method 'categories5@95-4'::.cctor + } // end of method 'Pipe #6 input@95-4'::.cctor - } // end of class 'categories5@95-4' + } // end of class 'Pipe #6 input@95-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -6072,28 +6072,34 @@ .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(string _arg1) cil managed { - // Code size 31 (0x1f) + // Code size 34 (0x22) .maxstack 7 .locals init ([0] string w, - [1] float64 wl) + [1] float64 wl, + [2] int32 'Pipe #1 input') .line 105,105 : 9,26 '' IL_0000: ldarg.1 IL_0001: stloc.0 .line 106,106 : 9,35 '' - IL_0002: ldloc.0 - IL_0003: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_0008: conv.r8 - IL_0009: stloc.1 + IL_0002: nop + .line 106,106 : 18,26 '' + IL_0003: ldloc.0 + IL_0004: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_0009: stloc.2 + .line 106,106 : 30,35 '' + IL_000a: ldloc.2 + IL_000b: conv.r8 + IL_000c: stloc.1 .line 107,107 : 9,21 '' - IL_000a: ldarg.0 - IL_000b: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/averageLength@105::builder@ - IL_0010: ldloc.0 - IL_0011: ldloc.1 - IL_0012: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, + IL_000d: ldarg.0 + IL_000e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/averageLength@105::builder@ + IL_0013: ldloc.0 + IL_0014: ldloc.1 + IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) - IL_0017: tail. - IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) - IL_001e: ret + IL_001a: tail. + IL_001c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0021: ret } // end of method averageLength@105::Invoke } // end of class averageLength@105 @@ -6145,7 +6151,7 @@ } // end of class 'averageLength@107-1' - .class auto ansi serializable sealed nested assembly beforefieldinit categories6@113 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@113' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -6163,9 +6169,9 @@ 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 Linq101Aggregates01/categories6@113::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@113'::builder@ IL_000d: ret - } // end of method categories6@113::.ctor + } // end of method 'Pipe #7 input@113'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -6178,19 +6184,19 @@ IL_0001: stloc.0 .line 114,114 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/categories6@113::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@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 - } // end of method categories6@113::Invoke + } // end of method 'Pipe #7 input@113'::Invoke - } // end of class categories6@113 + } // end of class 'Pipe #7 input@113' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories6@114-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories6@114-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input@114-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6201,7 +6207,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories6@114-1'::.ctor + } // end of method 'Pipe #7 input@114-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -6211,24 +6217,24 @@ .line 114,114 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'categories6@114-1'::Invoke + } // end of method 'Pipe #7 input@114-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories6@114-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories6@114-1' Linq101Aggregates01/'categories6@114-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@114-1' Linq101Aggregates01/'Pipe #7 input@114-1'::@_instance IL_000a: ret - } // end of method 'categories6@114-1'::.cctor + } // end of method 'Pipe #7 input@114-1'::.cctor - } // end of class 'categories6@114-1' + } // end of class 'Pipe #7 input@114-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories6@114-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Aggregates01/'categories6@114-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input@114-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6239,7 +6245,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'categories6@114-2'::.ctor + } // end of method 'Pipe #7 input@114-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -6251,19 +6257,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'categories6@114-2'::Invoke + } // end of method 'Pipe #7 input@114-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories6@114-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories6@114-2' Linq101Aggregates01/'categories6@114-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@114-2' Linq101Aggregates01/'Pipe #7 input@114-2'::@_instance IL_000a: ret - } // end of method 'categories6@114-2'::.cctor + } // end of method 'Pipe #7 input@114-2'::.cctor - } // end of class 'categories6@114-2' + } // end of class 'Pipe #7 input@114-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -6610,7 +6616,7 @@ } // end of class 'averagePrice@115-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories6@114-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -6628,9 +6634,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories6@114-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@114-3'::builder@ IL_000d: ret - } // end of method 'categories6@114-3'::.ctor + } // end of method 'Pipe #7 input@114-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -6766,7 +6772,7 @@ IL_00c2: stloc.1 .line 116,116 : 9,37 '' IL_00c3: ldarg.0 - IL_00c4: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'categories6@114-3'::builder@ + IL_00c4: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@114-3'::builder@ IL_00c9: ldloc.0 IL_00ca: ldloc.1 IL_00cb: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -6774,14 +6780,14 @@ IL_00d0: tail. IL_00d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_00d7: ret - } // end of method 'categories6@114-3'::Invoke + } // end of method 'Pipe #7 input@114-3'::Invoke - } // end of class 'categories6@114-3' + } // end of class 'Pipe #7 input@114-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categories6@116-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@116-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'categories6@116-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input@116-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6792,7 +6798,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'categories6@116-4'::.ctor + } // end of method 'Pipe #7 input@116-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -6815,19 +6821,19 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'categories6@116-4'::Invoke + } // end of method 'Pipe #7 input@116-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'categories6@116-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'categories6@116-4' Linq101Aggregates01/'categories6@116-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@116-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@116-4' Linq101Aggregates01/'Pipe #7 input@116-4'::@_instance IL_000a: ret - } // end of method 'categories6@116-4'::.cctor + } // end of method 'Pipe #7 input@116-4'::.cctor - } // end of class 'categories6@116-4' + } // end of class 'Pipe #7 input@116-4' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed @@ -7172,7 +7178,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 1721 (0x6b9) + // Code size 1756 (0x6dc) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300, [1] int32 uniqueFactors, @@ -7194,55 +7200,62 @@ [17] float64 averageNum, [18] float64 averageLength, [19] class [mscorlib]System.Tuple`2[] categories6, - [20] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20, + [20] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [21] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, [22] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, - [23] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_23, - [24] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_24, - [25] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_25, - [26] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_26, - [27] int32 V_27, + [23] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, + [24] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_24, + [25] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_25, + [26] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_26, + [27] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_27, [28] int32 V_28, - [29] class [mscorlib]System.IDisposable V_29, - [30] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + [29] int32 V_29, + [30] class [mscorlib]System.IDisposable V_30, [31] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, - [32] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_32, - [33] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_33, - [34] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_34, - [35] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_35, - [36] int32 V_36, + [32] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_32, + [33] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_33, + [34] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_34, + [35] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_35, + [36] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_36, [37] int32 V_37, - [38] class [mscorlib]System.IDisposable V_38, - [39] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_39, - [40] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_40, + [38] int32 V_38, + [39] class [mscorlib]System.IDisposable V_39, + [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', [41] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_41, - [42] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_42, + [42] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', [43] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43, - [44] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_44, + [44] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #4 input', [45] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_45, - [46] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_46, - [47] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_47, - [48] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_48, - [49] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_49, - [50] float64 V_50, - [51] float64 V_51, - [52] int32 V_52, - [53] float64 V_53, - [54] int32 V_54, - [55] class [mscorlib]System.IDisposable V_55, - [56] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_56, - [57] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_57, - [58] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> V_58, - [59] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_59, - [60] class [mscorlib]System.Collections.Generic.IEnumerable`1> V_60, - [61] class [mscorlib]System.Collections.Generic.IEnumerator`1> V_61, - [62] float64 V_62, - [63] float64 V_63, - [64] int32 V_64, - [65] float64 V_65, - [66] int32 V_66, - [67] class [mscorlib]System.IDisposable V_67, - [68] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_68) + [46] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input', + [47] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_47, + [48] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #6 input', + [49] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_49, + [50] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_50, + [51] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_51, + [52] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_52, + [53] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_53, + [54] class [mscorlib]System.Collections.Generic.IEnumerable`1 V_54, + [55] class [mscorlib]System.Collections.Generic.IEnumerator`1 V_55, + [56] float64 V_56, + [57] float64 V_57, + [58] int32 V_58, + [59] float64 V_59, + [60] int32 V_60, + [61] class [mscorlib]System.IDisposable V_61, + [62] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_62, + [63] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_63, + [64] class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> V_64, + [65] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_65, + [66] class [mscorlib]System.Collections.Generic.IEnumerable`1> V_66, + [67] class [mscorlib]System.Collections.Generic.IEnumerator`1> V_67, + [68] float64 V_68, + [69] float64 V_69, + [70] int32 V_70, + [71] float64 V_71, + [72] int32 V_72, + [73] class [mscorlib]System.IDisposable V_73, + [74] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input', + [75] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_75) .line 8,8 : 1,31 '' IL_0000: ldc.i4.2 IL_0001: ldc.i4.2 @@ -7264,36 +7277,39 @@ IL_0024: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::factorsOf300@8 IL_0029: stloc.0 .line 10,14 : 1,20 '' - IL_002a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_002f: stloc.s V_20 - IL_0031: ldloc.s V_20 - IL_0033: ldnull - IL_0034: ldc.i4.0 + IL_002a: nop + .line 11,11 : 5,10 '' + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0030: stloc.s V_21 + IL_0032: ldloc.s V_21 + IL_0034: ldnull IL_0035: ldc.i4.0 - IL_0036: newobj instance void Linq101Aggregates01/uniqueFactors@12::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_003b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0040: 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_0045: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_004a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_004f: dup - IL_0050: stsfld int32 ''.$Linq101Aggregates01::uniqueFactors@10 - IL_0055: stloc.1 + IL_0036: ldc.i4.0 + IL_0037: newobj instance void Linq101Aggregates01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0041: 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_0046: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.s 'Pipe #1 input' + .line 14,14 : 10,20 '' + IL_004d: ldloc.s 'Pipe #1 input' + IL_004f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0054: dup + IL_0055: stsfld int32 ''.$Linq101Aggregates01::uniqueFactors@10 + IL_005a: stloc.1 .line 17,17 : 1,47 '' - IL_0056: ldc.i4.5 - IL_0057: ldc.i4.4 - IL_0058: ldc.i4.1 - IL_0059: ldc.i4.3 - IL_005a: ldc.i4.s 9 - IL_005c: ldc.i4.8 - IL_005d: ldc.i4.6 - IL_005e: ldc.i4.7 - IL_005f: ldc.i4.2 - IL_0060: ldc.i4.0 - IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - 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_005b: ldc.i4.5 + IL_005c: ldc.i4.4 + IL_005d: ldc.i4.1 + IL_005e: ldc.i4.3 + IL_005f: ldc.i4.s 9 + IL_0061: ldc.i4.8 + IL_0062: ldc.i4.6 + IL_0063: ldc.i4.7 + IL_0064: ldc.i4.2 + IL_0065: ldc.i4.0 + IL_0066: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() IL_006b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0070: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, @@ -7312,635 +7328,667 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0093: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0098: dup - IL_0099: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::numbers@17 - IL_009e: stloc.2 - IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00a4: stloc.s V_21 - IL_00a6: ldloc.s V_21 - IL_00a8: stloc.s V_22 - IL_00aa: ldnull - IL_00ab: ldc.i4.0 - IL_00ac: ldc.i4.0 - IL_00ad: newobj instance void Linq101Aggregates01/numSum@21::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0098: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009d: dup + IL_009e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::numbers@17 + IL_00a3: stloc.2 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_22 + IL_00ab: ldloc.s V_22 + IL_00ad: stloc.s V_23 + IL_00af: ldnull + IL_00b0: ldc.i4.0 + IL_00b1: ldc.i4.0 + IL_00b2: newobj instance void Linq101Aggregates01/numSum@21::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, int32) - IL_00b2: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00b7: stloc.s V_23 - IL_00b9: ldsfld class Linq101Aggregates01/'numSum@22-1' Linq101Aggregates01/'numSum@22-1'::@_instance - IL_00be: stloc.s V_24 - IL_00c0: ldloc.s V_23 - IL_00c2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00c7: stloc.s V_25 - IL_00c9: ldloc.s V_25 - IL_00cb: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_00d0: stloc.s V_26 + IL_00b7: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00bc: stloc.s V_24 + IL_00be: ldsfld class Linq101Aggregates01/'numSum@22-1' Linq101Aggregates01/'numSum@22-1'::@_instance + IL_00c3: stloc.s V_25 + IL_00c5: ldloc.s V_24 + IL_00c7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00cc: stloc.s V_26 + IL_00ce: ldloc.s V_26 + IL_00d0: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00d5: stloc.s V_27 .try { - IL_00d2: ldc.i4.0 - IL_00d3: stloc.s V_28 - IL_00d5: ldloc.s V_26 - IL_00d7: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() - IL_00dc: brfalse.s IL_00f4 + IL_00d7: ldc.i4.0 + IL_00d8: stloc.s V_29 + IL_00da: ldloc.s V_27 + IL_00dc: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_00e1: brfalse.s IL_00f9 .line 22,22 : 9,16 '' - IL_00de: ldloc.s V_28 - IL_00e0: ldloc.s V_24 - IL_00e2: ldloc.s V_26 - IL_00e4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() - IL_00e9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_00ee: add.ovf - IL_00ef: stloc.s V_28 + IL_00e3: ldloc.s V_29 + IL_00e5: ldloc.s V_25 + IL_00e7: ldloc.s V_27 + IL_00e9: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00ee: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00f3: add.ovf + IL_00f4: stloc.s V_29 .line 100001,100001 : 0,0 '' - IL_00f1: nop - IL_00f2: br.s IL_00d5 + IL_00f6: nop + IL_00f7: br.s IL_00da - IL_00f4: ldloc.s V_28 - IL_00f6: stloc.s V_27 - IL_00f8: leave.s IL_0110 + IL_00f9: ldloc.s V_29 + IL_00fb: stloc.s V_28 + IL_00fd: leave.s IL_0115 } // end .try finally { - IL_00fa: ldloc.s V_26 - IL_00fc: isinst [mscorlib]System.IDisposable - IL_0101: stloc.s V_29 - IL_0103: ldloc.s V_29 - IL_0105: brfalse.s IL_010f + IL_00ff: ldloc.s V_27 + IL_0101: isinst [mscorlib]System.IDisposable + IL_0106: stloc.s V_30 + IL_0108: ldloc.s V_30 + IL_010a: brfalse.s IL_0114 .line 100001,100001 : 0,0 '' - IL_0107: ldloc.s V_29 - IL_0109: callvirt instance void [netstandard]System.IDisposable::Dispose() - IL_010e: endfinally + IL_010c: ldloc.s V_30 + IL_010e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0113: endfinally .line 100001,100001 : 0,0 '' - IL_010f: endfinally + IL_0114: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_0110: ldloc.s V_27 - IL_0112: dup - IL_0113: stsfld int32 ''.$Linq101Aggregates01::numSum@19 - IL_0118: stloc.3 + IL_0115: ldloc.s V_28 + IL_0117: dup + IL_0118: stsfld int32 ''.$Linq101Aggregates01::numSum@19 + IL_011d: stloc.3 .line 26,26 : 1,45 '' - IL_0119: ldstr "cherry" - IL_011e: ldstr "apple" - IL_0123: ldstr "blueberry" - 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_011e: ldstr "cherry" + IL_0123: ldstr "apple" + IL_0128: ldstr "blueberry" + IL_012d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() 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: dup - IL_013d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::words@26 - IL_0142: stloc.s words - IL_0144: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0149: stloc.s V_30 - IL_014b: ldloc.s V_30 - IL_014d: stloc.s V_31 - IL_014f: ldnull - IL_0150: ldc.i4.0 - IL_0151: ldnull - IL_0152: newobj instance void Linq101Aggregates01/totalChars@30::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`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: dup + IL_0142: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::words@26 + IL_0147: stloc.s words + IL_0149: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014e: stloc.s V_31 + IL_0150: ldloc.s V_31 + IL_0152: stloc.s V_32 + IL_0154: ldnull + IL_0155: ldc.i4.0 + IL_0156: ldnull + IL_0157: newobj instance void Linq101Aggregates01/totalChars@30::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) - IL_0157: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_015c: stloc.s V_32 - IL_015e: ldsfld class Linq101Aggregates01/'totalChars@31-1' Linq101Aggregates01/'totalChars@31-1'::@_instance - IL_0163: stloc.s V_33 - IL_0165: ldloc.s V_32 - IL_0167: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_016c: stloc.s V_34 - IL_016e: ldloc.s V_34 - IL_0170: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0175: stloc.s V_35 + IL_015c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0161: stloc.s V_33 + IL_0163: ldsfld class Linq101Aggregates01/'totalChars@31-1' Linq101Aggregates01/'totalChars@31-1'::@_instance + IL_0168: stloc.s V_34 + IL_016a: ldloc.s V_33 + IL_016c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0171: stloc.s V_35 + IL_0173: ldloc.s V_35 + IL_0175: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_017a: stloc.s V_36 .try { - IL_0177: ldc.i4.0 - IL_0178: stloc.s V_37 - IL_017a: ldloc.s V_35 - IL_017c: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() - IL_0181: brfalse.s IL_0199 + IL_017c: ldc.i4.0 + IL_017d: stloc.s V_38 + IL_017f: ldloc.s V_36 + IL_0181: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0186: brfalse.s IL_019e .line 31,31 : 9,25 '' - IL_0183: ldloc.s V_37 - IL_0185: ldloc.s V_33 - IL_0187: ldloc.s V_35 - IL_0189: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() - IL_018e: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0193: add.ovf - IL_0194: stloc.s V_37 + IL_0188: ldloc.s V_38 + IL_018a: ldloc.s V_34 + IL_018c: ldloc.s V_36 + IL_018e: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0193: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0198: add.ovf + IL_0199: stloc.s V_38 .line 100001,100001 : 0,0 '' - IL_0196: nop - IL_0197: br.s IL_017a + IL_019b: nop + IL_019c: br.s IL_017f - IL_0199: ldloc.s V_37 - IL_019b: stloc.s V_36 - IL_019d: leave.s IL_01b5 + IL_019e: ldloc.s V_38 + IL_01a0: stloc.s V_37 + IL_01a2: leave.s IL_01ba } // end .try finally { - IL_019f: ldloc.s V_35 - IL_01a1: isinst [mscorlib]System.IDisposable - IL_01a6: stloc.s V_38 - IL_01a8: ldloc.s V_38 - IL_01aa: brfalse.s IL_01b4 + IL_01a4: ldloc.s V_36 + IL_01a6: isinst [mscorlib]System.IDisposable + IL_01ab: stloc.s V_39 + IL_01ad: ldloc.s V_39 + IL_01af: brfalse.s IL_01b9 .line 100001,100001 : 0,0 '' - IL_01ac: ldloc.s V_38 - IL_01ae: callvirt instance void [netstandard]System.IDisposable::Dispose() - IL_01b3: endfinally + IL_01b1: ldloc.s V_39 + IL_01b3: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_01b8: endfinally .line 100001,100001 : 0,0 '' - IL_01b4: endfinally + IL_01b9: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_01b5: ldloc.s V_36 - IL_01b7: dup - IL_01b8: stsfld int32 ''.$Linq101Aggregates01::totalChars@28 - IL_01bd: stloc.s totalChars + IL_01ba: ldloc.s V_37 + IL_01bc: dup + IL_01bd: stsfld int32 ''.$Linq101Aggregates01::totalChars@28 + IL_01c2: stloc.s totalChars .line 35,35 : 1,32 '' - IL_01bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_01c4: dup - IL_01c5: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::products@35 - IL_01ca: stloc.s products + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01c9: dup + IL_01ca: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::products@35 + IL_01cf: stloc.s products .line 37,46 : 1,21 '' - IL_01cc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_01d1: stloc.s V_39 - IL_01d3: ldloc.s V_39 - IL_01d5: ldloc.s V_39 - IL_01d7: ldloc.s V_39 - IL_01d9: ldloc.s V_39 - IL_01db: ldloc.s V_39 - IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_01e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01e7: ldloc.s V_39 - IL_01e9: newobj instance void Linq101Aggregates01/categories@39::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_01ee: 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, + IL_01d1: nop + .line 38,38 : 5,10 '' + IL_01d2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d7: stloc.s V_41 + IL_01d9: ldloc.s V_41 + IL_01db: ldloc.s V_41 + IL_01dd: ldloc.s V_41 + IL_01df: ldloc.s V_41 + IL_01e1: ldloc.s V_41 + IL_01e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ed: ldloc.s V_41 + IL_01ef: newobj instance void Linq101Aggregates01/'Pipe #2 input@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f4: 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_01f3: ldsfld class Linq101Aggregates01/'categories@40-1' Linq101Aggregates01/'categories@40-1'::@_instance - IL_01f8: ldsfld class Linq101Aggregates01/'categories@40-2' Linq101Aggregates01/'categories@40-2'::@_instance - IL_01fd: 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, + IL_01f9: ldsfld class Linq101Aggregates01/'Pipe #2 input@40-1' Linq101Aggregates01/'Pipe #2 input@40-1'::@_instance + IL_01fe: ldsfld class Linq101Aggregates01/'Pipe #2 input@40-2' Linq101Aggregates01/'Pipe #2 input@40-2'::@_instance + IL_0203: 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_0202: ldloc.s V_39 - IL_0204: newobj instance void Linq101Aggregates01/'categories@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0209: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0208: ldloc.s V_41 + IL_020a: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_020f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_020e: ldsfld class Linq101Aggregates01/'categories@45-4' Linq101Aggregates01/'categories@45-4'::@_instance - IL_0213: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0214: ldsfld class Linq101Aggregates01/'Pipe #2 input@45-4' Linq101Aggregates01/'Pipe #2 input@45-4'::@_instance + IL_0219: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0218: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_021d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0222: dup - IL_0223: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories@37 - IL_0228: stloc.s categories - IL_022a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_022f: ldnull - IL_0230: ldc.i4.0 - IL_0231: ldc.i4.0 - IL_0232: newobj instance void Linq101Aggregates01/minNum@49::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_021e: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0223: stloc.s 'Pipe #2 input' + .line 46,46 : 10,21 '' + IL_0225: ldloc.s 'Pipe #2 input' + IL_0227: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_022c: dup + IL_022d: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories@37 + IL_0232: stloc.s categories + IL_0234: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0239: ldnull + IL_023a: ldc.i4.0 + IL_023b: ldc.i4.0 + IL_023c: newobj instance void Linq101Aggregates01/minNum@49::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, int32) - IL_0237: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_023c: ldsfld class Linq101Aggregates01/'minNum@49-1' Linq101Aggregates01/'minNum@49-1'::@_instance - IL_0241: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0241: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0246: ldsfld class Linq101Aggregates01/'minNum@49-1' Linq101Aggregates01/'minNum@49-1'::@_instance + IL_024b: 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_0246: dup - IL_0247: stsfld int32 ''.$Linq101Aggregates01::minNum@49 - IL_024c: stloc.s minNum - IL_024e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0253: ldnull - IL_0254: ldc.i4.0 - IL_0255: ldnull - IL_0256: newobj instance void Linq101Aggregates01/shortestWord@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0250: dup + IL_0251: stsfld int32 ''.$Linq101Aggregates01::minNum@49 + IL_0256: stloc.s minNum + IL_0258: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_025d: ldnull + IL_025e: ldc.i4.0 + IL_025f: ldnull + IL_0260: newobj instance void Linq101Aggregates01/shortestWord@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) - IL_025b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0260: ldsfld class Linq101Aggregates01/'shortestWord@52-1' Linq101Aggregates01/'shortestWord@52-1'::@_instance - IL_0265: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0265: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_026a: ldsfld class Linq101Aggregates01/'shortestWord@52-1' Linq101Aggregates01/'shortestWord@52-1'::@_instance + IL_026f: 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_026a: dup - IL_026b: stsfld int32 ''.$Linq101Aggregates01::shortestWord@52 - IL_0270: stloc.s shortestWord + IL_0274: dup + IL_0275: stsfld int32 ''.$Linq101Aggregates01::shortestWord@52 + IL_027a: stloc.s shortestWord .line 55,61 : 1,21 '' - IL_0272: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0277: stloc.s V_40 - IL_0279: ldloc.s V_40 - IL_027b: ldloc.s V_40 - IL_027d: ldloc.s V_40 - IL_027f: ldloc.s V_40 - IL_0281: ldloc.s V_40 - IL_0283: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_0288: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_028d: ldloc.s V_40 - IL_028f: newobj instance void Linq101Aggregates01/categories2@57::.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 [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_027c: nop + .line 56,56 : 5,10 '' + IL_027d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0282: stloc.s V_43 + IL_0284: ldloc.s V_43 + IL_0286: ldloc.s V_43 + IL_0288: ldloc.s V_43 + IL_028a: ldloc.s V_43 + IL_028c: ldloc.s V_43 + IL_028e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_0293: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0298: ldloc.s V_43 + IL_029a: newobj instance void Linq101Aggregates01/'Pipe #3 input@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_029f: 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_0299: ldsfld class Linq101Aggregates01/'categories2@58-1' Linq101Aggregates01/'categories2@58-1'::@_instance - IL_029e: ldsfld class Linq101Aggregates01/'categories2@58-2' Linq101Aggregates01/'categories2@58-2'::@_instance - IL_02a3: 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, + IL_02a4: ldsfld class Linq101Aggregates01/'Pipe #3 input@58-1' Linq101Aggregates01/'Pipe #3 input@58-1'::@_instance + IL_02a9: ldsfld class Linq101Aggregates01/'Pipe #3 input@58-2' Linq101Aggregates01/'Pipe #3 input@58-2'::@_instance + IL_02ae: 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_02a8: ldloc.s V_40 - IL_02aa: newobj instance void Linq101Aggregates01/'categories2@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_02af: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_02b3: ldloc.s V_43 + IL_02b5: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_02b4: ldsfld class Linq101Aggregates01/'categories2@60-4' Linq101Aggregates01/'categories2@60-4'::@_instance - IL_02b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_02bf: ldsfld class Linq101Aggregates01/'Pipe #3 input@60-4' Linq101Aggregates01/'Pipe #3 input@60-4'::@_instance + IL_02c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_02be: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_02c3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_02c8: dup - IL_02c9: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories2@55 - IL_02ce: stloc.s categories2 + IL_02c9: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_02ce: stloc.s 'Pipe #3 input' + .line 61,61 : 10,21 '' + IL_02d0: ldloc.s 'Pipe #3 input' + IL_02d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02d7: dup + IL_02d8: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories2@55 + IL_02dd: stloc.s categories2 .line 64,71 : 1,21 '' - IL_02d0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_02d5: stloc.s V_41 - IL_02d7: ldloc.s V_41 - IL_02d9: ldloc.s V_41 - IL_02db: ldloc.s V_41 - IL_02dd: ldloc.s V_41 - IL_02df: ldloc.s V_41 - IL_02e1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_02e6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_02eb: ldloc.s V_41 - IL_02ed: newobj instance void Linq101Aggregates01/categories3@66::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_02f2: 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, + IL_02df: nop + .line 65,65 : 5,10 '' + IL_02e0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02e5: stloc.s V_45 + IL_02e7: ldloc.s V_45 + IL_02e9: ldloc.s V_45 + IL_02eb: ldloc.s V_45 + IL_02ed: ldloc.s V_45 + IL_02ef: ldloc.s V_45 + IL_02f1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_02f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02fb: ldloc.s V_45 + IL_02fd: newobj instance void Linq101Aggregates01/'Pipe #4 input@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0302: 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_02f7: ldsfld class Linq101Aggregates01/'categories3@67-1' Linq101Aggregates01/'categories3@67-1'::@_instance - IL_02fc: ldsfld class Linq101Aggregates01/'categories3@67-2' Linq101Aggregates01/'categories3@67-2'::@_instance - IL_0301: 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, + IL_0307: ldsfld class Linq101Aggregates01/'Pipe #4 input@67-1' Linq101Aggregates01/'Pipe #4 input@67-1'::@_instance + IL_030c: ldsfld class Linq101Aggregates01/'Pipe #4 input@67-2' Linq101Aggregates01/'Pipe #4 input@67-2'::@_instance + IL_0311: 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_0306: ldloc.s V_41 - IL_0308: newobj instance void Linq101Aggregates01/'categories3@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_030d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0316: ldloc.s V_45 + IL_0318: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_031d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0312: ldsfld class Linq101Aggregates01/'categories3@70-4' Linq101Aggregates01/'categories3@70-4'::@_instance - IL_0317: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0322: ldsfld class Linq101Aggregates01/'Pipe #4 input@70-4' Linq101Aggregates01/'Pipe #4 input@70-4'::@_instance + IL_0327: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_031c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0321: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0326: dup - IL_0327: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories3@64 - IL_032c: stloc.s categories3 - IL_032e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0333: ldnull - IL_0334: ldc.i4.0 - IL_0335: ldc.i4.0 - IL_0336: newobj instance void Linq101Aggregates01/maxNum@74::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_032c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0331: stloc.s 'Pipe #4 input' + .line 71,71 : 10,21 '' + IL_0333: ldloc.s 'Pipe #4 input' + IL_0335: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_033a: dup + IL_033b: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories3@64 + IL_0340: stloc.s categories3 + IL_0342: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0347: ldnull + IL_0348: ldc.i4.0 + IL_0349: ldc.i4.0 + IL_034a: newobj instance void Linq101Aggregates01/maxNum@74::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, int32) - IL_033b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0340: ldsfld class Linq101Aggregates01/'maxNum@74-1' Linq101Aggregates01/'maxNum@74-1'::@_instance - IL_0345: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_034f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0354: ldsfld class Linq101Aggregates01/'maxNum@74-1' Linq101Aggregates01/'maxNum@74-1'::@_instance + IL_0359: 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_034a: dup - IL_034b: stsfld int32 ''.$Linq101Aggregates01::maxNum@74 - IL_0350: stloc.s maxNum - IL_0352: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0357: ldnull - IL_0358: ldc.i4.0 - IL_0359: ldnull - IL_035a: newobj instance void Linq101Aggregates01/longestLength@77::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_035e: dup + IL_035f: stsfld int32 ''.$Linq101Aggregates01::maxNum@74 + IL_0364: stloc.s maxNum + IL_0366: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_036b: ldnull + IL_036c: ldc.i4.0 + IL_036d: ldnull + IL_036e: newobj instance void Linq101Aggregates01/longestLength@77::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) - IL_035f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0364: ldsfld class Linq101Aggregates01/'longestLength@77-1' Linq101Aggregates01/'longestLength@77-1'::@_instance - IL_0369: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0373: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0378: ldsfld class Linq101Aggregates01/'longestLength@77-1' Linq101Aggregates01/'longestLength@77-1'::@_instance + IL_037d: 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_036e: dup - IL_036f: stsfld int32 ''.$Linq101Aggregates01::longestLength@77 - IL_0374: stloc.s longestLength + IL_0382: dup + IL_0383: stsfld int32 ''.$Linq101Aggregates01::longestLength@77 + IL_0388: stloc.s longestLength .line 80,86 : 1,21 '' - IL_0376: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_037b: stloc.s V_42 - IL_037d: ldloc.s V_42 - IL_037f: ldloc.s V_42 - IL_0381: ldloc.s V_42 - IL_0383: ldloc.s V_42 - IL_0385: ldloc.s V_42 - IL_0387: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_038c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0391: ldloc.s V_42 - IL_0393: newobj instance void Linq101Aggregates01/categories4@82::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0398: 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, + IL_038a: nop + .line 81,81 : 5,10 '' + IL_038b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0390: stloc.s V_47 + IL_0392: ldloc.s V_47 + IL_0394: ldloc.s V_47 + IL_0396: ldloc.s V_47 + IL_0398: ldloc.s V_47 + IL_039a: ldloc.s V_47 + IL_039c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_03a1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a6: ldloc.s V_47 + IL_03a8: newobj instance void Linq101Aggregates01/'Pipe #5 input@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03ad: 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_039d: ldsfld class Linq101Aggregates01/'categories4@83-1' Linq101Aggregates01/'categories4@83-1'::@_instance - IL_03a2: ldsfld class Linq101Aggregates01/'categories4@83-2' Linq101Aggregates01/'categories4@83-2'::@_instance - IL_03a7: 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, + IL_03b2: ldsfld class Linq101Aggregates01/'Pipe #5 input@83-1' Linq101Aggregates01/'Pipe #5 input@83-1'::@_instance + IL_03b7: ldsfld class Linq101Aggregates01/'Pipe #5 input@83-2' Linq101Aggregates01/'Pipe #5 input@83-2'::@_instance + IL_03bc: 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_03ac: ldloc.s V_42 - IL_03ae: newobj instance void Linq101Aggregates01/'categories4@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_03b3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03c1: ldloc.s V_47 + IL_03c3: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03c8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03b8: ldsfld class Linq101Aggregates01/'categories4@85-4' Linq101Aggregates01/'categories4@85-4'::@_instance - IL_03bd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03cd: ldsfld class Linq101Aggregates01/'Pipe #5 input@85-4' Linq101Aggregates01/'Pipe #5 input@85-4'::@_instance + IL_03d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03c2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_03c7: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03cc: dup - IL_03cd: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories4@80 - IL_03d2: stloc.s categories4 + IL_03d7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_03dc: stloc.s 'Pipe #5 input' + .line 86,86 : 10,21 '' + IL_03de: ldloc.s 'Pipe #5 input' + IL_03e0: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03e5: dup + IL_03e6: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories4@80 + IL_03eb: stloc.s categories4 .line 89,96 : 1,21 '' - IL_03d4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_03d9: stloc.s V_43 - IL_03db: ldloc.s V_43 - IL_03dd: ldloc.s V_43 - IL_03df: ldloc.s V_43 - IL_03e1: ldloc.s V_43 - IL_03e3: ldloc.s V_43 - IL_03e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_03ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03ef: ldloc.s V_43 - IL_03f1: newobj instance void Linq101Aggregates01/categories5@91::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_03f6: 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, + IL_03ed: nop + .line 90,90 : 5,10 '' + IL_03ee: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03f3: stloc.s V_49 + IL_03f5: ldloc.s V_49 + IL_03f7: ldloc.s V_49 + IL_03f9: ldloc.s V_49 + IL_03fb: ldloc.s V_49 + IL_03fd: ldloc.s V_49 + IL_03ff: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_0404: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0409: ldloc.s V_49 + IL_040b: newobj instance void Linq101Aggregates01/'Pipe #6 input@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0410: 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_03fb: ldsfld class Linq101Aggregates01/'categories5@92-1' Linq101Aggregates01/'categories5@92-1'::@_instance - IL_0400: ldsfld class Linq101Aggregates01/'categories5@92-2' Linq101Aggregates01/'categories5@92-2'::@_instance - IL_0405: 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, + IL_0415: ldsfld class Linq101Aggregates01/'Pipe #6 input@92-1' Linq101Aggregates01/'Pipe #6 input@92-1'::@_instance + IL_041a: ldsfld class Linq101Aggregates01/'Pipe #6 input@92-2' Linq101Aggregates01/'Pipe #6 input@92-2'::@_instance + IL_041f: 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_040a: ldloc.s V_43 - IL_040c: newobj instance void Linq101Aggregates01/'categories5@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0411: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0424: ldloc.s V_49 + IL_0426: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_042b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0416: ldsfld class Linq101Aggregates01/'categories5@95-4' Linq101Aggregates01/'categories5@95-4'::@_instance - IL_041b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0430: ldsfld class Linq101Aggregates01/'Pipe #6 input@95-4' Linq101Aggregates01/'Pipe #6 input@95-4'::@_instance + IL_0435: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0420: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0425: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_042a: dup - IL_042b: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories5@89 - IL_0430: stloc.s categories5 + IL_043a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_043f: stloc.s 'Pipe #6 input' + .line 96,96 : 10,21 '' + IL_0441: ldloc.s 'Pipe #6 input' + IL_0443: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0448: dup + IL_0449: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories5@89 + IL_044e: stloc.s categories5 .line 99,99 : 1,66 '' - IL_0432: ldc.r8 5. - IL_043b: ldc.r8 4. - IL_0444: ldc.r8 1. - IL_044d: ldc.r8 3. - IL_0456: ldc.r8 9. - IL_045f: ldc.r8 8. - IL_0468: ldc.r8 6. - IL_0471: ldc.r8 7. - IL_047a: ldc.r8 2. - IL_0483: ldc.r8 0.0 - IL_048c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0491: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0450: ldc.r8 5. + IL_0459: ldc.r8 4. + IL_0462: ldc.r8 1. + IL_046b: ldc.r8 3. + IL_0474: ldc.r8 9. + IL_047d: ldc.r8 8. + IL_0486: ldc.r8 6. + IL_048f: ldc.r8 7. + IL_0498: ldc.r8 2. + IL_04a1: ldc.r8 0.0 + IL_04aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_04af: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0496: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_049b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04a0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04c3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04af: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04d7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_04dc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_04c3: dup - IL_04c4: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::numbers2@99 - IL_04c9: stloc.s numbers2 - IL_04cb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_04d0: stloc.s V_44 - IL_04d2: ldloc.s V_44 - IL_04d4: stloc.s V_45 - IL_04d6: ldnull - IL_04d7: ldc.i4.0 - IL_04d8: ldc.r8 0.0 - IL_04e1: newobj instance void Linq101Aggregates01/averageNum@100::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_04e1: dup + IL_04e2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Aggregates01::numbers2@99 + IL_04e7: stloc.s numbers2 + IL_04e9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_04ee: stloc.s V_50 + IL_04f0: ldloc.s V_50 + IL_04f2: stloc.s V_51 + IL_04f4: ldnull + IL_04f5: ldc.i4.0 + IL_04f6: ldc.r8 0.0 + IL_04ff: newobj instance void Linq101Aggregates01/averageNum@100::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, float64) - IL_04e6: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_04eb: stloc.s V_46 - IL_04ed: ldsfld class Linq101Aggregates01/'averageNum@100-1' Linq101Aggregates01/'averageNum@100-1'::@_instance - IL_04f2: stloc.s V_47 - IL_04f4: ldloc.s V_46 - IL_04f6: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_04fb: stloc.s V_48 - IL_04fd: ldloc.s V_48 - IL_04ff: box class [mscorlib]System.Collections.Generic.IEnumerable`1 - IL_0504: brtrue.s IL_0511 + IL_0504: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0509: stloc.s V_52 + IL_050b: ldsfld class Linq101Aggregates01/'averageNum@100-1' Linq101Aggregates01/'averageNum@100-1'::@_instance + IL_0510: stloc.s V_53 + IL_0512: ldloc.s V_52 + IL_0514: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0519: stloc.s V_54 + IL_051b: ldloc.s V_54 + IL_051d: box class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_0522: brtrue.s IL_052f .line 100001,100001 : 0,0 '' - IL_0506: ldstr "source" - IL_050b: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) - IL_0510: throw + IL_0524: ldstr "source" + IL_0529: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_052e: throw .line 100001,100001 : 0,0 '' - IL_0511: nop - IL_0512: ldloc.s V_48 - IL_0514: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0519: stloc.s V_49 + IL_052f: nop + IL_0530: ldloc.s V_54 + IL_0532: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0537: stloc.s V_55 .try { - IL_051b: ldc.r8 0.0 - IL_0524: stloc.s V_51 - IL_0526: ldc.i4.0 - IL_0527: stloc.s V_52 - IL_0529: ldloc.s V_49 - IL_052b: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() - IL_0530: brfalse.s IL_054e - - IL_0532: ldloc.s V_51 - IL_0534: ldloc.s V_47 - IL_0536: ldloc.s V_49 - IL_0538: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() - IL_053d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0542: add - IL_0543: stloc.s V_51 + IL_0539: ldc.r8 0.0 + IL_0542: stloc.s V_57 + IL_0544: ldc.i4.0 + IL_0545: stloc.s V_58 + IL_0547: ldloc.s V_55 + IL_0549: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_054e: brfalse.s IL_056c + + IL_0550: ldloc.s V_57 + IL_0552: ldloc.s V_53 + IL_0554: ldloc.s V_55 + IL_0556: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_055b: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0560: add + IL_0561: stloc.s V_57 .line 100,100 : 47,58 '' - IL_0545: ldloc.s V_52 - IL_0547: ldc.i4.1 - IL_0548: add - IL_0549: stloc.s V_52 + IL_0563: ldloc.s V_58 + IL_0565: ldc.i4.1 + IL_0566: add + IL_0567: stloc.s V_58 .line 100001,100001 : 0,0 '' - IL_054b: nop - IL_054c: br.s IL_0529 + IL_0569: nop + IL_056a: br.s IL_0547 - IL_054e: ldloc.s V_52 - IL_0550: brtrue.s IL_055d + IL_056c: ldloc.s V_58 + IL_056e: brtrue.s IL_057b .line 100001,100001 : 0,0 '' - IL_0552: ldstr "source" - IL_0557: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) - IL_055c: throw + IL_0570: ldstr "source" + IL_0575: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_057a: throw .line 100001,100001 : 0,0 '' - IL_055d: nop - IL_055e: ldloc.s V_51 - IL_0560: stloc.s V_53 - IL_0562: ldloc.s V_52 - IL_0564: stloc.s V_54 - IL_0566: ldloc.s V_53 - IL_0568: ldloc.s V_54 - IL_056a: conv.r8 - IL_056b: div - IL_056c: stloc.s V_50 - IL_056e: leave.s IL_0586 + IL_057b: nop + IL_057c: ldloc.s V_57 + IL_057e: stloc.s V_59 + IL_0580: ldloc.s V_58 + IL_0582: stloc.s V_60 + IL_0584: ldloc.s V_59 + IL_0586: ldloc.s V_60 + IL_0588: conv.r8 + IL_0589: div + IL_058a: stloc.s V_56 + IL_058c: leave.s IL_05a4 } // end .try finally { - IL_0570: ldloc.s V_49 - IL_0572: isinst [mscorlib]System.IDisposable - IL_0577: stloc.s V_55 - IL_0579: ldloc.s V_55 - IL_057b: brfalse.s IL_0585 + IL_058e: ldloc.s V_55 + IL_0590: isinst [mscorlib]System.IDisposable + IL_0595: stloc.s V_61 + IL_0597: ldloc.s V_61 + IL_0599: brfalse.s IL_05a3 .line 100001,100001 : 0,0 '' - IL_057d: ldloc.s V_55 - IL_057f: callvirt instance void [netstandard]System.IDisposable::Dispose() - IL_0584: endfinally + IL_059b: ldloc.s V_61 + IL_059d: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_05a2: endfinally .line 100001,100001 : 0,0 '' - IL_0585: endfinally + IL_05a3: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_0586: ldloc.s V_50 - IL_0588: dup - IL_0589: stsfld float64 ''.$Linq101Aggregates01::averageNum@100 - IL_058e: stloc.s averageNum - IL_0590: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0595: stloc.s V_56 - IL_0597: ldloc.s V_56 - IL_0599: stloc.s V_57 - IL_059b: ldloc.s V_56 - IL_059d: ldloc.s V_56 - IL_059f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_words() - IL_05a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_05a9: ldloc.s V_56 - IL_05ab: newobj instance void Linq101Aggregates01/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_05b0: 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, + IL_05a4: ldloc.s V_56 + IL_05a6: dup + IL_05a7: stsfld float64 ''.$Linq101Aggregates01::averageNum@100 + IL_05ac: stloc.s averageNum + IL_05ae: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_05b3: stloc.s V_62 + IL_05b5: ldloc.s V_62 + IL_05b7: stloc.s V_63 + IL_05b9: ldloc.s V_62 + IL_05bb: ldloc.s V_62 + IL_05bd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_words() + IL_05c2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_05c7: ldloc.s V_62 + IL_05c9: newobj instance void Linq101Aggregates01/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_05ce: 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_05b5: stloc.s V_58 - IL_05b7: ldsfld class Linq101Aggregates01/'averageLength@107-1' Linq101Aggregates01/'averageLength@107-1'::@_instance - IL_05bc: stloc.s V_59 - IL_05be: ldloc.s V_58 - IL_05c0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_05c5: stloc.s V_60 - IL_05c7: ldloc.s V_60 - IL_05c9: box class [mscorlib]System.Collections.Generic.IEnumerable`1> - IL_05ce: brtrue.s IL_05db + IL_05d3: stloc.s V_64 + IL_05d5: ldsfld class Linq101Aggregates01/'averageLength@107-1' Linq101Aggregates01/'averageLength@107-1'::@_instance + IL_05da: stloc.s V_65 + IL_05dc: ldloc.s V_64 + IL_05de: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_05e3: stloc.s V_66 + IL_05e5: ldloc.s V_66 + IL_05e7: box class [mscorlib]System.Collections.Generic.IEnumerable`1> + IL_05ec: brtrue.s IL_05f9 .line 100001,100001 : 0,0 '' - IL_05d0: ldstr "source" - IL_05d5: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) - IL_05da: throw + IL_05ee: ldstr "source" + IL_05f3: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_05f8: throw .line 100001,100001 : 0,0 '' - IL_05db: nop - IL_05dc: ldloc.s V_60 - IL_05de: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() - IL_05e3: stloc.s V_61 + IL_05f9: nop + IL_05fa: ldloc.s V_66 + IL_05fc: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() + IL_0601: stloc.s V_67 .try { - IL_05e5: ldc.r8 0.0 - IL_05ee: stloc.s V_63 - IL_05f0: ldc.i4.0 - IL_05f1: stloc.s V_64 - IL_05f3: ldloc.s V_61 - IL_05f5: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() - IL_05fa: brfalse.s IL_0618 - - IL_05fc: ldloc.s V_63 - IL_05fe: ldloc.s V_59 - IL_0600: ldloc.s V_61 - IL_0602: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() - IL_0607: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) - IL_060c: add - IL_060d: stloc.s V_63 + IL_0603: ldc.r8 0.0 + IL_060c: stloc.s V_69 + IL_060e: ldc.i4.0 + IL_060f: stloc.s V_70 + IL_0611: ldloc.s V_67 + IL_0613: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0618: brfalse.s IL_0636 + + IL_061a: ldloc.s V_69 + IL_061c: ldloc.s V_65 + IL_061e: ldloc.s V_67 + IL_0620: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() + IL_0625: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) + IL_062a: add + IL_062b: stloc.s V_69 .line 107,107 : 9,21 '' - IL_060f: ldloc.s V_64 - IL_0611: ldc.i4.1 - IL_0612: add - IL_0613: stloc.s V_64 + IL_062d: ldloc.s V_70 + IL_062f: ldc.i4.1 + IL_0630: add + IL_0631: stloc.s V_70 .line 100001,100001 : 0,0 '' - IL_0615: nop - IL_0616: br.s IL_05f3 + IL_0633: nop + IL_0634: br.s IL_0611 - IL_0618: ldloc.s V_64 - IL_061a: brtrue.s IL_0627 + IL_0636: ldloc.s V_70 + IL_0638: brtrue.s IL_0645 .line 100001,100001 : 0,0 '' - IL_061c: ldstr "source" - IL_0621: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) - IL_0626: throw + IL_063a: ldstr "source" + IL_063f: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_0644: throw .line 100001,100001 : 0,0 '' - IL_0627: nop - IL_0628: ldloc.s V_63 - IL_062a: stloc.s V_65 - IL_062c: ldloc.s V_64 - IL_062e: stloc.s V_66 - IL_0630: ldloc.s V_65 - IL_0632: ldloc.s V_66 - IL_0634: conv.r8 - IL_0635: div - IL_0636: stloc.s V_62 - IL_0638: leave.s IL_0650 + IL_0645: nop + IL_0646: ldloc.s V_69 + IL_0648: stloc.s V_71 + IL_064a: ldloc.s V_70 + IL_064c: stloc.s V_72 + IL_064e: ldloc.s V_71 + IL_0650: ldloc.s V_72 + IL_0652: conv.r8 + IL_0653: div + IL_0654: stloc.s V_68 + IL_0656: leave.s IL_066e } // end .try finally { - IL_063a: ldloc.s V_61 - IL_063c: isinst [mscorlib]System.IDisposable - IL_0641: stloc.s V_67 - IL_0643: ldloc.s V_67 - IL_0645: brfalse.s IL_064f + IL_0658: ldloc.s V_67 + IL_065a: isinst [mscorlib]System.IDisposable + IL_065f: stloc.s V_73 + IL_0661: ldloc.s V_73 + IL_0663: brfalse.s IL_066d .line 100001,100001 : 0,0 '' - IL_0647: ldloc.s V_67 - IL_0649: callvirt instance void [netstandard]System.IDisposable::Dispose() - IL_064e: endfinally + IL_0665: ldloc.s V_73 + IL_0667: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_066c: endfinally .line 100001,100001 : 0,0 '' - IL_064f: endfinally + IL_066d: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_0650: ldloc.s V_62 - IL_0652: dup - IL_0653: stsfld float64 ''.$Linq101Aggregates01::averageLength@103 - IL_0658: stloc.s averageLength + IL_066e: ldloc.s V_68 + IL_0670: dup + IL_0671: stsfld float64 ''.$Linq101Aggregates01::averageLength@103 + IL_0676: stloc.s averageLength .line 111,117 : 1,21 '' - IL_065a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_065f: stloc.s V_68 - IL_0661: ldloc.s V_68 - IL_0663: ldloc.s V_68 - IL_0665: ldloc.s V_68 - IL_0667: ldloc.s V_68 - IL_0669: ldloc.s V_68 - IL_066b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() - IL_0670: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0675: ldloc.s V_68 - IL_0677: newobj instance void Linq101Aggregates01/categories6@113::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_067c: 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, + IL_0678: nop + .line 112,112 : 5,10 '' + IL_0679: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_067e: stloc.s V_75 + IL_0680: ldloc.s V_75 + IL_0682: ldloc.s V_75 + IL_0684: ldloc.s V_75 + IL_0686: ldloc.s V_75 + IL_0688: ldloc.s V_75 + IL_068a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() + IL_068f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0694: ldloc.s V_75 + IL_0696: newobj instance void Linq101Aggregates01/'Pipe #7 input@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_069b: 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_0681: ldsfld class Linq101Aggregates01/'categories6@114-1' Linq101Aggregates01/'categories6@114-1'::@_instance - IL_0686: ldsfld class Linq101Aggregates01/'categories6@114-2' Linq101Aggregates01/'categories6@114-2'::@_instance - IL_068b: 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, + IL_06a0: ldsfld class Linq101Aggregates01/'Pipe #7 input@114-1' Linq101Aggregates01/'Pipe #7 input@114-1'::@_instance + IL_06a5: ldsfld class Linq101Aggregates01/'Pipe #7 input@114-2' Linq101Aggregates01/'Pipe #7 input@114-2'::@_instance + IL_06aa: 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_0690: ldloc.s V_68 - IL_0692: newobj instance void Linq101Aggregates01/'categories6@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0697: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_06af: ldloc.s V_75 + IL_06b1: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_06b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_069c: ldsfld class Linq101Aggregates01/'categories6@116-4' Linq101Aggregates01/'categories6@116-4'::@_instance - IL_06a1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_06bb: ldsfld class Linq101Aggregates01/'Pipe #7 input@116-4' Linq101Aggregates01/'Pipe #7 input@116-4'::@_instance + IL_06c0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_06a6: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_06ab: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_06b0: dup - IL_06b1: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories6@111 - IL_06b6: stloc.s categories6 - IL_06b8: ret + IL_06c5: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_06ca: stloc.s 'Pipe #7 input' + .line 117,117 : 10,21 '' + IL_06cc: ldloc.s 'Pipe #7 input' + IL_06ce: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_06d3: dup + IL_06d4: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories6@111 + IL_06d9: stloc.s categories6 + IL_06db: ret } // end of method $Linq101Aggregates01::main@ } // end of class ''.$Linq101Aggregates01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl index 3a62a0db54..da94eb56be 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl @@ -50,13 +50,13 @@ // Offset: 0x00000408 Length: 0x00000129 } .module Linq101Grouping01.exe -// MVID: {60BCC37C-FB79-E5BF-A745-03837CC3BC60} +// MVID: {6116A45B-FB79-E5BF-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05800000 +// Image base: 0x06AB0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -65,7 +65,7 @@ extends [mscorlib]System.Object { .custom instance 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 numberGroups@14 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -83,9 +83,9 @@ 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 Linq101Grouping01/numberGroups@14::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@14'::builder@ IL_000d: ret - } // end of method numberGroups@14::.ctor + } // end of method 'Pipe #1 input@14'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -99,19 +99,19 @@ IL_0001: stloc.0 .line 15,15 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/numberGroups@14::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@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 - } // end of method numberGroups@14::Invoke + } // end of method 'Pipe #1 input@14'::Invoke - } // end of class numberGroups@14 + } // end of class 'Pipe #1 input@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'numberGroups@15-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'numberGroups@15-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input@15-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -122,7 +122,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'numberGroups@15-1'::.ctor + } // end of method 'Pipe #1 input@15-1'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -132,24 +132,24 @@ .line 15,15 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'numberGroups@15-1'::Invoke + } // end of method 'Pipe #1 input@15-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'numberGroups@15-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'numberGroups@15-1' Linq101Grouping01/'numberGroups@15-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@15-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@15-1' Linq101Grouping01/'Pipe #1 input@15-1'::@_instance IL_000a: ret - } // end of method 'numberGroups@15-1'::.cctor + } // end of method 'Pipe #1 input@15-1'::.cctor - } // end of class 'numberGroups@15-1' + } // end of class 'Pipe #1 input@15-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'numberGroups@15-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'numberGroups@15-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input@15-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -160,7 +160,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'numberGroups@15-2'::.ctor + } // end of method 'Pipe #1 input@15-2'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -172,21 +172,21 @@ IL_0001: ldc.i4.5 IL_0002: rem IL_0003: ret - } // end of method 'numberGroups@15-2'::Invoke + } // end of method 'Pipe #1 input@15-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'numberGroups@15-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'numberGroups@15-2' Linq101Grouping01/'numberGroups@15-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@15-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@15-2' Linq101Grouping01/'Pipe #1 input@15-2'::@_instance IL_000a: ret - } // end of method 'numberGroups@15-2'::.cctor + } // end of method 'Pipe #1 input@15-2'::.cctor - } // end of class 'numberGroups@15-2' + } // end of class 'Pipe #1 input@15-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'numberGroups@15-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@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@ @@ -204,9 +204,9 @@ 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 Linq101Grouping01/'numberGroups@15-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@15-3'::builder@ IL_000d: ret - } // end of method 'numberGroups@15-3'::.ctor + } // end of method 'Pipe #1 input@15-3'::.ctor .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 @@ -218,19 +218,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'numberGroups@15-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@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 - } // end of method 'numberGroups@15-3'::Invoke + } // end of method 'Pipe #1 input@15-3'::Invoke - } // end of class 'numberGroups@15-3' + } // end of class 'Pipe #1 input@15-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'numberGroups@16-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@16-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'numberGroups@16-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input@16-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -241,7 +241,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'numberGroups@16-4'::.ctor + } // end of method 'Pipe #1 input@16-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -256,21 +256,21 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'numberGroups@16-4'::Invoke + } // end of method 'Pipe #1 input@16-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'numberGroups@16-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'numberGroups@16-4' Linq101Grouping01/'numberGroups@16-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@16-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@16-4' Linq101Grouping01/'Pipe #1 input@16-4'::@_instance IL_000a: ret - } // end of method 'numberGroups@16-4'::.cctor + } // end of method 'Pipe #1 input@16-4'::.cctor - } // end of class 'numberGroups@16-4' + } // end of class 'Pipe #1 input@16-4' - .class auto ansi serializable sealed nested assembly beforefieldinit wordGroups@24 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@24' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -288,9 +288,9 @@ 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 Linq101Grouping01/wordGroups@24::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@24'::builder@ IL_000d: ret - } // end of method wordGroups@24::.ctor + } // end of method 'Pipe #2 input@24'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed @@ -303,19 +303,19 @@ IL_0001: stloc.0 .line 25,25 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/wordGroups@24::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@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 - } // end of method wordGroups@24::Invoke + } // end of method 'Pipe #2 input@24'::Invoke - } // end of class wordGroups@24 + } // end of class 'Pipe #2 input@24' - .class auto ansi serializable sealed nested assembly beforefieldinit 'wordGroups@25-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@25-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'wordGroups@25-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input@25-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -326,7 +326,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'wordGroups@25-1'::.ctor + } // end of method 'Pipe #2 input@25-1'::.ctor .method public strict virtual instance string Invoke(string w) cil managed @@ -336,24 +336,24 @@ .line 25,25 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'wordGroups@25-1'::Invoke + } // end of method 'Pipe #2 input@25-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'wordGroups@25-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'wordGroups@25-1' Linq101Grouping01/'wordGroups@25-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@25-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@25-1' Linq101Grouping01/'Pipe #2 input@25-1'::@_instance IL_000a: ret - } // end of method 'wordGroups@25-1'::.cctor + } // end of method 'Pipe #2 input@25-1'::.cctor - } // end of class 'wordGroups@25-1' + } // end of class 'Pipe #2 input@25-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'wordGroups@25-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@25-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'wordGroups@25-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input@25-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -364,7 +364,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'wordGroups@25-2'::.ctor + } // end of method 'Pipe #2 input@25-2'::.ctor .method public strict virtual instance char Invoke(string w) cil managed @@ -376,21 +376,21 @@ IL_0001: ldc.i4.0 IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) IL_0007: ret - } // end of method 'wordGroups@25-2'::Invoke + } // end of method 'Pipe #2 input@25-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'wordGroups@25-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'wordGroups@25-2' Linq101Grouping01/'wordGroups@25-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@25-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@25-2' Linq101Grouping01/'Pipe #2 input@25-2'::@_instance IL_000a: ret - } // end of method 'wordGroups@25-2'::.cctor + } // end of method 'Pipe #2 input@25-2'::.cctor - } // end of class 'wordGroups@25-2' + } // end of class 'Pipe #2 input@25-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'wordGroups@25-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@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@ @@ -408,9 +408,9 @@ 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 Linq101Grouping01/'wordGroups@25-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@25-3'::builder@ IL_000d: ret - } // end of method 'wordGroups@25-3'::.ctor + } // end of method 'Pipe #2 input@25-3'::.ctor .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 @@ -422,19 +422,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'wordGroups@25-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@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 - } // end of method 'wordGroups@25-3'::Invoke + } // end of method 'Pipe #2 input@25-3'::Invoke - } // end of class 'wordGroups@25-3' + } // end of class 'Pipe #2 input@25-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'wordGroups@26-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@26-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'wordGroups@26-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input@26-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -445,7 +445,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'wordGroups@26-4'::.ctor + } // end of method 'Pipe #2 input@26-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -460,21 +460,21 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'wordGroups@26-4'::Invoke + } // end of method 'Pipe #2 input@26-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'wordGroups@26-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'wordGroups@26-4' Linq101Grouping01/'wordGroups@26-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@26-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@26-4' Linq101Grouping01/'Pipe #2 input@26-4'::@_instance IL_000a: ret - } // end of method 'wordGroups@26-4'::.cctor + } // end of method 'Pipe #2 input@26-4'::.cctor - } // end of class 'wordGroups@26-4' + } // end of class 'Pipe #2 input@26-4' - .class auto ansi serializable sealed nested assembly beforefieldinit orderGroups@34 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@34' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -492,9 +492,9 @@ 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 Linq101Grouping01/orderGroups@34::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@34'::builder@ IL_000d: ret - } // end of method orderGroups@34::.ctor + } // end of method 'Pipe #3 input@34'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -507,19 +507,19 @@ IL_0001: stloc.0 .line 35,35 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/orderGroups@34::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@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 - } // end of method orderGroups@34::Invoke + } // end of method 'Pipe #3 input@34'::Invoke - } // end of class orderGroups@34 + } // end of class 'Pipe #3 input@34' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orderGroups@35-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@35-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'orderGroups@35-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input@35-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -530,7 +530,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'orderGroups@35-1'::.ctor + } // end of method 'Pipe #3 input@35-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -540,24 +540,24 @@ .line 35,35 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'orderGroups@35-1'::Invoke + } // end of method 'Pipe #3 input@35-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'orderGroups@35-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'orderGroups@35-1' Linq101Grouping01/'orderGroups@35-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@35-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@35-1' Linq101Grouping01/'Pipe #3 input@35-1'::@_instance IL_000a: ret - } // end of method 'orderGroups@35-1'::.cctor + } // end of method 'Pipe #3 input@35-1'::.cctor - } // end of class 'orderGroups@35-1' + } // end of class 'Pipe #3 input@35-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orderGroups@35-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@35-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Grouping01/'orderGroups@35-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input@35-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -568,7 +568,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'orderGroups@35-2'::.ctor + } // end of method 'Pipe #3 input@35-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -580,21 +580,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'orderGroups@35-2'::Invoke + } // end of method 'Pipe #3 input@35-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'orderGroups@35-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'orderGroups@35-2' Linq101Grouping01/'orderGroups@35-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@35-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@35-2' Linq101Grouping01/'Pipe #3 input@35-2'::@_instance IL_000a: ret - } // end of method 'orderGroups@35-2'::.cctor + } // end of method 'Pipe #3 input@35-2'::.cctor - } // end of class 'orderGroups@35-2' + } // end of class 'Pipe #3 input@35-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orderGroups@35-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@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@ @@ -612,9 +612,9 @@ 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 Linq101Grouping01/'orderGroups@35-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@35-3'::builder@ IL_000d: ret - } // end of method 'orderGroups@35-3'::.ctor + } // end of method 'Pipe #3 input@35-3'::.ctor .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 @@ -626,19 +626,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'orderGroups@35-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@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 - } // end of method 'orderGroups@35-3'::Invoke + } // end of method 'Pipe #3 input@35-3'::Invoke - } // end of class 'orderGroups@35-3' + } // end of class 'Pipe #3 input@35-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orderGroups@36-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@36-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'orderGroups@36-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input@36-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -649,7 +649,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'orderGroups@36-4'::.ctor + } // end of method 'Pipe #3 input@36-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -664,19 +664,19 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'orderGroups@36-4'::Invoke + } // end of method 'Pipe #3 input@36-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'orderGroups@36-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'orderGroups@36-4' Linq101Grouping01/'orderGroups@36-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@36-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@36-4' Linq101Grouping01/'Pipe #3 input@36-4'::@_instance IL_000a: ret - } // end of method 'orderGroups@36-4'::.cctor + } // end of method 'Pipe #3 input@36-4'::.cctor - } // end of class 'orderGroups@36-4' + } // end of class 'Pipe #3 input@36-4' .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -1134,7 +1134,7 @@ } // end of class 'yearGroups@55-4' - .class auto ansi serializable sealed nested assembly beforefieldinit customerOrderGroups@44 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@44' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1152,9 +1152,9 @@ 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 Linq101Grouping01/customerOrderGroups@44::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #4 input@44'::builder@ IL_000d: ret - } // end of method customerOrderGroups@44::.ctor + } // end of method 'Pipe #4 input@44'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -1198,7 +1198,7 @@ IL_004c: stloc.1 .line 57,57 : 9,53 '' IL_004d: ldarg.0 - IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/customerOrderGroups@44::builder@ + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #4 input@44'::builder@ IL_0053: ldloc.0 IL_0054: ldloc.1 IL_0055: newobj instance void class [mscorlib]System.Tuple`2[]>>>::.ctor(!0, @@ -1206,14 +1206,14 @@ 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 - } // end of method customerOrderGroups@44::Invoke + } // end of method 'Pipe #4 input@44'::Invoke - } // end of class customerOrderGroups@44 + } // end of class 'Pipe #4 input@44' - .class auto ansi serializable sealed nested assembly beforefieldinit 'customerOrderGroups@57-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@57-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [mscorlib]System.Tuple`2[]>[]>> { - .field static assembly initonly class Linq101Grouping01/'customerOrderGroups@57-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #4 input@57-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1224,7 +1224,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [mscorlib]System.Tuple`2[]>[]>>::.ctor() IL_0006: ret - } // end of method 'customerOrderGroups@57-1'::.ctor + } // end of method 'Pipe #4 input@57-1'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2[]>[]> Invoke(class [mscorlib]System.Tuple`2[]>>> tupledArg) cil managed @@ -1248,19 +1248,19 @@ IL_001a: newobj instance void class [mscorlib]System.Tuple`2[]>[]>::.ctor(!0, !1) IL_001f: ret - } // end of method 'customerOrderGroups@57-1'::Invoke + } // end of method 'Pipe #4 input@57-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'customerOrderGroups@57-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'customerOrderGroups@57-1' Linq101Grouping01/'customerOrderGroups@57-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #4 input@57-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #4 input@57-1' Linq101Grouping01/'Pipe #4 input@57-1'::@_instance IL_000a: ret - } // end of method 'customerOrderGroups@57-1'::.cctor + } // end of method 'Pipe #4 input@57-1'::.cctor - } // end of class 'customerOrderGroups@57-1' + } // end of class 'Pipe #4 input@57-1' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed @@ -1427,7 +1427,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 628 (0x274) + // Code size 648 (0x288) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, @@ -1438,10 +1438,14 @@ [6] class [mscorlib]System.Tuple`2[] orderGroups, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers, [8] class [mscorlib]System.Tuple`2[]>[]>[] customerOrderGroups, - [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, - [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, - [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) + [11] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', + [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1[]>[]>> 'Pipe #4 input', + [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16) .line 7,7 : 1,96 '' IL_0000: ldstr "zero" IL_0005: ldstr "one" @@ -1513,46 +1517,49 @@ IL_00b3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::numbers@10 IL_00b8: stloc.1 .line 12,17 : 1,21 '' - IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00be: stloc.s V_9 - IL_00c0: ldloc.s V_9 - IL_00c2: ldloc.s V_9 - IL_00c4: ldloc.s V_9 - IL_00c6: ldloc.s V_9 - IL_00c8: ldloc.s V_9 - IL_00ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_numbers() - IL_00cf: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00d4: ldloc.s V_9 - IL_00d6: newobj instance void Linq101Grouping01/numberGroups@14::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00db: 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, + IL_00b9: nop + .line 13,13 : 5,10 '' + IL_00ba: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00bf: stloc.s V_10 + IL_00c1: ldloc.s V_10 + IL_00c3: ldloc.s V_10 + IL_00c5: ldloc.s V_10 + IL_00c7: ldloc.s V_10 + IL_00c9: ldloc.s V_10 + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_numbers() + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00d5: ldloc.s V_10 + IL_00d7: newobj instance void Linq101Grouping01/'Pipe #1 input@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00dc: 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_00e0: ldsfld class Linq101Grouping01/'numberGroups@15-1' Linq101Grouping01/'numberGroups@15-1'::@_instance - IL_00e5: ldsfld class Linq101Grouping01/'numberGroups@15-2' Linq101Grouping01/'numberGroups@15-2'::@_instance - IL_00ea: 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, + IL_00e1: ldsfld class Linq101Grouping01/'Pipe #1 input@15-1' Linq101Grouping01/'Pipe #1 input@15-1'::@_instance + IL_00e6: ldsfld class Linq101Grouping01/'Pipe #1 input@15-2' Linq101Grouping01/'Pipe #1 input@15-2'::@_instance + IL_00eb: 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_00ef: ldloc.s V_9 - IL_00f1: newobj instance void Linq101Grouping01/'numberGroups@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00f0: ldloc.s V_10 + IL_00f2: newobj instance void Linq101Grouping01/'Pipe #1 input@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_00fb: ldsfld class Linq101Grouping01/'numberGroups@16-4' Linq101Grouping01/'numberGroups@16-4'::@_instance - IL_0100: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00fc: ldsfld class Linq101Grouping01/'Pipe #1 input@16-4' Linq101Grouping01/'Pipe #1 input@16-4'::@_instance + IL_0101: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0105: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_010a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_010f: dup - IL_0110: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::numberGroups@12 - IL_0115: stloc.2 + IL_0106: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_010b: stloc.s 'Pipe #1 input' + .line 17,17 : 10,21 '' + IL_010d: ldloc.s 'Pipe #1 input' + IL_010f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0114: dup + IL_0115: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::numberGroups@12 + IL_011a: stloc.2 .line 20,20 : 1,80 '' - IL_0116: ldstr "blueberry" - IL_011b: ldstr "chimpanzee" - IL_0120: ldstr "abacus" - IL_0125: ldstr "banana" - IL_012a: ldstr "apple" - IL_012f: ldstr "cheese" - IL_0134: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0139: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011b: ldstr "blueberry" + IL_0120: ldstr "chimpanzee" + IL_0125: ldstr "abacus" + IL_012a: ldstr "banana" + IL_012f: ldstr "apple" + IL_0134: ldstr "cheese" + IL_0139: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() IL_013e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0143: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, @@ -1563,102 +1570,119 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0152: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0157: dup - IL_0158: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::words@20 - IL_015d: stloc.3 + IL_0157: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015c: dup + IL_015d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::words@20 + IL_0162: stloc.3 .line 22,27 : 1,21 '' - IL_015e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0163: stloc.s V_10 - IL_0165: ldloc.s V_10 - IL_0167: ldloc.s V_10 - IL_0169: ldloc.s V_10 - IL_016b: ldloc.s V_10 - IL_016d: ldloc.s V_10 - IL_016f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_words() - IL_0174: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0179: ldloc.s V_10 - IL_017b: newobj instance void Linq101Grouping01/wordGroups@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0180: 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, + IL_0163: nop + .line 23,23 : 5,10 '' + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0169: stloc.s V_12 + IL_016b: ldloc.s V_12 + IL_016d: ldloc.s V_12 + IL_016f: ldloc.s V_12 + IL_0171: ldloc.s V_12 + IL_0173: ldloc.s V_12 + IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_words() + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_017f: ldloc.s V_12 + IL_0181: newobj instance void Linq101Grouping01/'Pipe #2 input@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0186: 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_0185: ldsfld class Linq101Grouping01/'wordGroups@25-1' Linq101Grouping01/'wordGroups@25-1'::@_instance - IL_018a: ldsfld class Linq101Grouping01/'wordGroups@25-2' Linq101Grouping01/'wordGroups@25-2'::@_instance - IL_018f: 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, + IL_018b: ldsfld class Linq101Grouping01/'Pipe #2 input@25-1' Linq101Grouping01/'Pipe #2 input@25-1'::@_instance + IL_0190: ldsfld class Linq101Grouping01/'Pipe #2 input@25-2' Linq101Grouping01/'Pipe #2 input@25-2'::@_instance + IL_0195: 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_0194: ldloc.s V_10 - IL_0196: newobj instance void Linq101Grouping01/'wordGroups@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_019b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_019a: ldloc.s V_12 + IL_019c: newobj instance void Linq101Grouping01/'Pipe #2 input@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01a1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_01a0: ldsfld class Linq101Grouping01/'wordGroups@26-4' Linq101Grouping01/'wordGroups@26-4'::@_instance - IL_01a5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_01a6: ldsfld class Linq101Grouping01/'Pipe #2 input@26-4' Linq101Grouping01/'Pipe #2 input@26-4'::@_instance + IL_01ab: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_01aa: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_01af: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01b4: dup - IL_01b5: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::wordGroups@22 - IL_01ba: stloc.s wordGroups + IL_01b0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_01b5: stloc.s 'Pipe #2 input' + .line 27,27 : 10,21 '' + IL_01b7: ldloc.s 'Pipe #2 input' + IL_01b9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01be: dup + IL_01bf: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::wordGroups@22 + IL_01c4: stloc.s wordGroups .line 30,30 : 1,32 '' - IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_01c1: dup - IL_01c2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::products@30 - IL_01c7: stloc.s products + IL_01c6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01cb: dup + IL_01cc: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::products@30 + IL_01d1: stloc.s products .line 32,37 : 1,21 '' - IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_01ce: stloc.s V_11 - IL_01d0: ldloc.s V_11 - IL_01d2: ldloc.s V_11 - IL_01d4: ldloc.s V_11 - IL_01d6: ldloc.s V_11 - IL_01d8: ldloc.s V_11 - IL_01da: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_products() - IL_01df: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01e4: ldloc.s V_11 - IL_01e6: newobj instance void Linq101Grouping01/orderGroups@34::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_01eb: 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, + IL_01d3: nop + .line 33,33 : 5,10 '' + IL_01d4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d9: stloc.s V_14 + IL_01db: ldloc.s V_14 + IL_01dd: ldloc.s V_14 + IL_01df: ldloc.s V_14 + IL_01e1: ldloc.s V_14 + IL_01e3: ldloc.s V_14 + IL_01e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_products() + IL_01ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ef: ldloc.s V_14 + IL_01f1: newobj instance void Linq101Grouping01/'Pipe #3 input@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f6: 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_01f0: ldsfld class Linq101Grouping01/'orderGroups@35-1' Linq101Grouping01/'orderGroups@35-1'::@_instance - IL_01f5: ldsfld class Linq101Grouping01/'orderGroups@35-2' Linq101Grouping01/'orderGroups@35-2'::@_instance - IL_01fa: 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, + IL_01fb: ldsfld class Linq101Grouping01/'Pipe #3 input@35-1' Linq101Grouping01/'Pipe #3 input@35-1'::@_instance + IL_0200: ldsfld class Linq101Grouping01/'Pipe #3 input@35-2' Linq101Grouping01/'Pipe #3 input@35-2'::@_instance + IL_0205: 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_01ff: ldloc.s V_11 - IL_0201: newobj instance void Linq101Grouping01/'orderGroups@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0206: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_020a: ldloc.s V_14 + IL_020c: newobj instance void Linq101Grouping01/'Pipe #3 input@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0211: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_020b: ldsfld class Linq101Grouping01/'orderGroups@36-4' Linq101Grouping01/'orderGroups@36-4'::@_instance - IL_0210: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0216: ldsfld class Linq101Grouping01/'Pipe #3 input@36-4' Linq101Grouping01/'Pipe #3 input@36-4'::@_instance + IL_021b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0215: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_021a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_021f: dup - IL_0220: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::orderGroups@32 - IL_0225: stloc.s orderGroups + IL_0220: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0225: stloc.s 'Pipe #3 input' + .line 37,37 : 10,21 '' + IL_0227: ldloc.s 'Pipe #3 input' + IL_0229: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_022e: dup + IL_022f: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::orderGroups@32 + IL_0234: stloc.s orderGroups .line 40,40 : 1,34 '' - IL_0227: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_022c: dup - IL_022d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::customers@40 - IL_0232: stloc.s customers + IL_0236: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_023b: dup + IL_023c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Grouping01::customers@40 + IL_0241: stloc.s customers .line 42,58 : 1,21 '' - IL_0234: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0239: stloc.s V_12 - IL_023b: ldloc.s V_12 - IL_023d: ldloc.s V_12 - IL_023f: ldloc.s V_12 - IL_0241: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_customers() - IL_0246: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_024b: ldloc.s V_12 - IL_024d: newobj instance void Linq101Grouping01/customerOrderGroups@44::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0252: 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, + IL_0243: nop + .line 43,43 : 5,10 '' + IL_0244: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0249: stloc.s V_16 + IL_024b: ldloc.s V_16 + IL_024d: ldloc.s V_16 + IL_024f: ldloc.s V_16 + IL_0251: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_customers() + IL_0256: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_025b: ldloc.s V_16 + IL_025d: newobj instance void Linq101Grouping01/'Pipe #4 input@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0262: 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_0257: ldsfld class Linq101Grouping01/'customerOrderGroups@57-1' Linq101Grouping01/'customerOrderGroups@57-1'::@_instance - IL_025c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0267: ldsfld class Linq101Grouping01/'Pipe #4 input@57-1' Linq101Grouping01/'Pipe #4 input@57-1'::@_instance + IL_026c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0261: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0266: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_026b: dup - IL_026c: stsfld class [mscorlib]System.Tuple`2[]>[]>[] ''.$Linq101Grouping01::customerOrderGroups@42 - IL_0271: stloc.s customerOrderGroups - IL_0273: ret + IL_0271: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0276: stloc.s 'Pipe #4 input' + .line 58,58 : 10,21 '' + IL_0278: ldloc.s 'Pipe #4 input' + IL_027a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027f: dup + IL_0280: stsfld class [mscorlib]System.Tuple`2[]>[]>[] ''.$Linq101Grouping01::customerOrderGroups@42 + IL_0285: stloc.s customerOrderGroups + IL_0287: ret } // end of method $Linq101Grouping01::main@ } // end of class ''.$Linq101Grouping01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl index 0f1a446e98..6fd8411f17 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000310 Length: 0x000000C3 } .module Linq101Joins01.exe -// MVID: {60BCC37C-151B-685E-A745-03837CC3BC60} +// MVID: {6116A45B-151B-685E-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x059A0000 +// Image base: 0x06CA0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,10 +60,10 @@ extends [mscorlib]System.Object { .custom instance 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@14 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/q@14 @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input@14' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -74,7 +74,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method q@14::.ctor + } // end of method 'Pipe #1 input@14'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -85,24 +85,24 @@ .line 14,14 : 32,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Joins01.fs' IL_0000: ldarg.1 IL_0001: ret - } // end of method q@14::Invoke + } // end of method 'Pipe #1 input@14'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/q@14::.ctor() - IL_0005: stsfld class Linq101Joins01/q@14 Linq101Joins01/q@14::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14' Linq101Joins01/'Pipe #1 input@14'::@_instance IL_000a: ret - } // end of method q@14::.cctor + } // end of method 'Pipe #1 input@14'::.cctor - } // end of class q@14 + } // end of class 'Pipe #1 input@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q@14-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/'q@14-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input@14-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -113,7 +113,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'q@14-1'::.ctor + } // end of method 'Pipe #1 input@14-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -125,24 +125,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'q@14-1'::Invoke + } // end of method 'Pipe #1 input@14-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q@14-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q@14-1' Linq101Joins01/'q@14-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14-1' Linq101Joins01/'Pipe #1 input@14-1'::@_instance IL_000a: ret - } // end of method 'q@14-1'::.cctor + } // end of method 'Pipe #1 input@14-1'::.cctor - } // end of class 'q@14-1' + } // end of class 'Pipe #1 input@14-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q@14-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14-2' extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> { - .field static assembly initonly class Linq101Joins01/'q@14-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input@14-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -153,7 +153,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() IL_0006: ret - } // end of method 'q@14-2'::.ctor + } // end of method 'Pipe #1 input@14-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(string c, @@ -167,21 +167,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0007: ret - } // end of method 'q@14-2'::Invoke + } // end of method 'Pipe #1 input@14-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q@14-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q@14-2' Linq101Joins01/'q@14-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14-2' Linq101Joins01/'Pipe #1 input@14-2'::@_instance IL_000a: ret - } // end of method 'q@14-2'::.cctor + } // end of method 'Pipe #1 input@14-2'::.cctor - } // end of class 'q@14-2' + } // end of class 'Pipe #1 input@14-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q@14-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@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@ @@ -199,9 +199,9 @@ 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 Linq101Joins01/'q@14-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #1 input@14-3'::builder@ IL_000d: ret - } // end of method 'q@14-3'::.ctor + } // end of method 'Pipe #1 input@14-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [mscorlib]System.Tuple`2 _arg1) cil managed @@ -221,7 +221,7 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q@14-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #1 input@14-3'::builder@ IL_0016: ldloc.2 IL_0017: ldloc.1 IL_0018: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, @@ -229,14 +229,14 @@ 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 - } // end of method 'q@14-3'::Invoke + } // end of method 'Pipe #1 input@14-3'::Invoke - } // end of class 'q@14-3' + } // end of class 'Pipe #1 input@14-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q@15-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'q@15-4' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input@15-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -247,7 +247,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'q@15-4'::.ctor + } // end of method 'Pipe #1 input@15-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -270,24 +270,24 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'q@15-4'::Invoke + } // end of method 'Pipe #1 input@15-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q@15-4'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q@15-4' Linq101Joins01/'q@15-4'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@15-4'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@15-4' Linq101Joins01/'Pipe #1 input@15-4'::@_instance IL_000a: ret - } // end of method 'q@15-4'::.cctor + } // end of method 'Pipe #1 input@15-4'::.cctor - } // end of class 'q@15-4' + } // end of class 'Pipe #1 input@15-4' - .class auto ansi serializable sealed nested assembly beforefieldinit q2@22 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/q2@22 @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input@22' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -298,7 +298,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method q2@22::.ctor + } // end of method 'Pipe #2 input@22'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -308,24 +308,24 @@ .line 22,22 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method q2@22::Invoke + } // end of method 'Pipe #2 input@22'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/q2@22::.ctor() - IL_0005: stsfld class Linq101Joins01/q2@22 Linq101Joins01/q2@22::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22' Linq101Joins01/'Pipe #2 input@22'::@_instance IL_000a: ret - } // end of method q2@22::.cctor + } // end of method 'Pipe #2 input@22'::.cctor - } // end of class q2@22 + } // end of class 'Pipe #2 input@22' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q2@22-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/'q2@22-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -336,7 +336,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'q2@22-1'::.ctor + } // end of method 'Pipe #2 input@22-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -348,24 +348,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'q2@22-1'::Invoke + } // end of method 'Pipe #2 input@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q2@22-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q2@22-1' Linq101Joins01/'q2@22-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22-1' Linq101Joins01/'Pipe #2 input@22-1'::@_instance IL_000a: ret - } // end of method 'q2@22-1'::.cctor + } // end of method 'Pipe #2 input@22-1'::.cctor - } // end of class 'q2@22-1' + } // end of class 'Pipe #2 input@22-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q2@22-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-2' extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'q2@22-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -376,7 +376,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'q2@22-2'::.ctor + } // end of method 'Pipe #2 input@22-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -390,21 +390,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'q2@22-2'::Invoke + } // end of method 'Pipe #2 input@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q2@22-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q2@22-2' Linq101Joins01/'q2@22-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22-2' Linq101Joins01/'Pipe #2 input@22-2'::@_instance IL_000a: ret - } // end of method 'q2@22-2'::.cctor + } // end of method 'Pipe #2 input@22-2'::.cctor - } // end of class 'q2@22-2' + } // end of class 'Pipe #2 input@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q2@22-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@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@ @@ -422,9 +422,9 @@ 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 Linq101Joins01/'q2@22-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #2 input@22-3'::builder@ IL_000d: ret - } // end of method 'q2@22-3'::.ctor + } // end of method 'Pipe #2 input@22-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -444,7 +444,7 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q2@22-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #2 input@22-3'::builder@ IL_0016: ldloc.2 IL_0017: ldloc.1 IL_0018: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, @@ -452,14 +452,14 @@ 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 - } // end of method 'q2@22-3'::Invoke + } // end of method 'Pipe #2 input@22-3'::Invoke - } // end of class 'q2@22-3' + } // end of class 'Pipe #2 input@22-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q2@23-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@23-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'q2@23-4' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input@23-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -470,7 +470,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'q2@23-4'::.ctor + } // end of method 'Pipe #2 input@23-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`2> tupledArg) cil managed @@ -492,24 +492,24 @@ IL_0010: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0015: ret - } // end of method 'q2@23-4'::Invoke + } // end of method 'Pipe #2 input@23-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q2@23-4'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q2@23-4' Linq101Joins01/'q2@23-4'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@23-4'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@23-4' Linq101Joins01/'Pipe #2 input@23-4'::@_instance IL_000a: ret - } // end of method 'q2@23-4'::.cctor + } // end of method 'Pipe #2 input@23-4'::.cctor - } // end of class 'q2@23-4' + } // end of class 'Pipe #2 input@23-4' - .class auto ansi serializable sealed nested assembly beforefieldinit q3@30 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/q3@30 @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input@30' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -520,7 +520,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method q3@30::.ctor + } // end of method 'Pipe #3 input@30'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -530,24 +530,24 @@ .line 30,30 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method q3@30::Invoke + } // end of method 'Pipe #3 input@30'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/q3@30::.ctor() - IL_0005: stsfld class Linq101Joins01/q3@30 Linq101Joins01/q3@30::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30' Linq101Joins01/'Pipe #3 input@30'::@_instance IL_000a: ret - } // end of method q3@30::.cctor + } // end of method 'Pipe #3 input@30'::.cctor - } // end of class q3@30 + } // end of class 'Pipe #3 input@30' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q3@30-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/'q3@30-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input@30-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -558,7 +558,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'q3@30-1'::.ctor + } // end of method 'Pipe #3 input@30-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -570,24 +570,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'q3@30-1'::Invoke + } // end of method 'Pipe #3 input@30-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q3@30-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q3@30-1' Linq101Joins01/'q3@30-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30-1' Linq101Joins01/'Pipe #3 input@30-1'::@_instance IL_000a: ret - } // end of method 'q3@30-1'::.cctor + } // end of method 'Pipe #3 input@30-1'::.cctor - } // end of class 'q3@30-1' + } // end of class 'Pipe #3 input@30-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q3@30-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-2' extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'q3@30-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input@30-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -598,7 +598,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'q3@30-2'::.ctor + } // end of method 'Pipe #3 input@30-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -612,21 +612,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'q3@30-2'::Invoke + } // end of method 'Pipe #3 input@30-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q3@30-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q3@30-2' Linq101Joins01/'q3@30-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30-2' Linq101Joins01/'Pipe #3 input@30-2'::@_instance IL_000a: ret - } // end of method 'q3@30-2'::.cctor + } // end of method 'Pipe #3 input@30-2'::.cctor - } // end of class 'q3@30-2' + } // end of class 'Pipe #3 input@30-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q3@31-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@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@ @@ -648,15 +648,15 @@ 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 Linq101Joins01/'q3@31-4'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@31-4'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'q3@31-4'::ps + IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input@31-4'::ps IL_0014: ldarg.0 IL_0015: ldarg.3 - IL_0016: stfld string Linq101Joins01/'q3@31-4'::c + IL_0016: stfld string Linq101Joins01/'Pipe #3 input@31-4'::c IL_001b: ret - } // end of method 'q3@31-4'::.ctor + } // end of method 'Pipe #3 input@31-4'::.ctor .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 @@ -669,11 +669,11 @@ IL_0001: stloc.0 .line 32,32 : 9,34 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q3@31-4'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@31-4'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld string Linq101Joins01/'q3@31-4'::c + IL_0009: ldfld string Linq101Joins01/'Pipe #3 input@31-4'::c IL_000e: ldarg.0 - IL_000f: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'q3@31-4'::ps + IL_000f: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input@31-4'::ps IL_0014: ldloc.0 IL_0015: newobj instance void class [mscorlib]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, !1, @@ -681,11 +681,11 @@ 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 - } // end of method 'q3@31-4'::Invoke + } // end of method 'Pipe #3 input@31-4'::Invoke - } // end of class 'q3@31-4' + } // end of class 'Pipe #3 input@31-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q3@30-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -703,9 +703,9 @@ 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 [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q3@30-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ IL_000d: ret - } // end of method 'q3@30-3'::.ctor + } // end of method 'Pipe #3 input@30-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -725,30 +725,30 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q3@30-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ IL_0016: ldarg.0 - IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q3@30-3'::builder@ + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0022: ldarg.0 - IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q3@30-3'::builder@ + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ IL_0028: ldloc.1 IL_0029: ldloc.2 - IL_002a: newobj instance void Linq101Joins01/'q3@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [mscorlib]System.Collections.Generic.IEnumerable`1, - string) + IL_002a: newobj instance void Linq101Joins01/'Pipe #3 input@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [mscorlib]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 - } // end of method 'q3@30-3'::Invoke + } // end of method 'Pipe #3 input@30-3'::Invoke - } // end of class 'q3@30-3' + } // end of class 'Pipe #3 input@30-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q3@32-5' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@32-5' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'q3@32-5' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input@32-5' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -759,7 +759,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'q3@32-5'::.ctor + } // end of method 'Pipe #3 input@32-5'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed @@ -786,24 +786,24 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0021: ret - } // end of method 'q3@32-5'::Invoke + } // end of method 'Pipe #3 input@32-5'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q3@32-5'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q3@32-5' Linq101Joins01/'q3@32-5'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@32-5'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@32-5' Linq101Joins01/'Pipe #3 input@32-5'::@_instance IL_000a: ret - } // end of method 'q3@32-5'::.cctor + } // end of method 'Pipe #3 input@32-5'::.cctor - } // end of class 'q3@32-5' + } // end of class 'Pipe #3 input@32-5' - .class auto ansi serializable sealed nested assembly beforefieldinit q4@39 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/q4@39 @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input@39' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -814,7 +814,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method q4@39::.ctor + } // end of method 'Pipe #4 input@39'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -824,24 +824,24 @@ .line 39,39 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method q4@39::Invoke + } // end of method 'Pipe #4 input@39'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/q4@39::.ctor() - IL_0005: stsfld class Linq101Joins01/q4@39 Linq101Joins01/q4@39::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39' Linq101Joins01/'Pipe #4 input@39'::@_instance IL_000a: ret - } // end of method q4@39::.cctor + } // end of method 'Pipe #4 input@39'::.cctor - } // end of class q4@39 + } // end of class 'Pipe #4 input@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q4@39-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Joins01/'q4@39-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input@39-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -852,7 +852,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'q4@39-1'::.ctor + } // end of method 'Pipe #4 input@39-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -864,24 +864,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'q4@39-1'::Invoke + } // end of method 'Pipe #4 input@39-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q4@39-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q4@39-1' Linq101Joins01/'q4@39-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39-1' Linq101Joins01/'Pipe #4 input@39-1'::@_instance IL_000a: ret - } // end of method 'q4@39-1'::.cctor + } // end of method 'Pipe #4 input@39-1'::.cctor - } // end of class 'q4@39-1' + } // end of class 'Pipe #4 input@39-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q4@39-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-2' extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'q4@39-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input@39-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -892,7 +892,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'q4@39-2'::.ctor + } // end of method 'Pipe #4 input@39-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -906,21 +906,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'q4@39-2'::Invoke + } // end of method 'Pipe #4 input@39-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q4@39-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q4@39-2' Linq101Joins01/'q4@39-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39-2' Linq101Joins01/'Pipe #4 input@39-2'::@_instance IL_000a: ret - } // end of method 'q4@39-2'::.cctor + } // end of method 'Pipe #4 input@39-2'::.cctor - } // end of class 'q4@39-2' + } // end of class 'Pipe #4 input@39-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q4@40-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@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@ @@ -942,15 +942,15 @@ 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 Linq101Joins01/'q4@40-4'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@40-4'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'q4@40-4'::ps + IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input@40-4'::ps IL_0014: ldarg.0 IL_0015: ldarg.3 - IL_0016: stfld string Linq101Joins01/'q4@40-4'::c + IL_0016: stfld string Linq101Joins01/'Pipe #4 input@40-4'::c IL_001b: ret - } // end of method 'q4@40-4'::.ctor + } // end of method 'Pipe #4 input@40-4'::.ctor .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 @@ -985,11 +985,11 @@ IL_001f: stloc.1 .line 42,42 : 9,22 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q4@40-4'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@40-4'::builder@ IL_0026: ldarg.0 - IL_0027: ldfld string Linq101Joins01/'q4@40-4'::c + IL_0027: ldfld string Linq101Joins01/'Pipe #4 input@40-4'::c IL_002c: ldarg.0 - IL_002d: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'q4@40-4'::ps + IL_002d: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input@40-4'::ps IL_0032: ldloc.0 IL_0033: ldloc.1 IL_0034: newobj instance void class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, @@ -999,11 +999,11 @@ IL_0039: tail. IL_003b: 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_0040: ret - } // end of method 'q4@40-4'::Invoke + } // end of method 'Pipe #4 input@40-4'::Invoke - } // end of class 'q4@40-4' + } // end of class 'Pipe #4 input@40-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q4@39-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1021,9 +1021,9 @@ 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 [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q4@39-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ IL_000d: ret - } // end of method 'q4@39-3'::.ctor + } // end of method 'Pipe #4 input@39-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -1043,31 +1043,31 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q4@39-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ IL_0016: ldarg.0 - IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q4@39-3'::builder@ + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ IL_001c: ldloc.1 IL_001d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::DefaultIfEmpty(class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0027: ldarg.0 - IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'q4@39-3'::builder@ + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ IL_002d: ldloc.1 IL_002e: ldloc.2 - IL_002f: newobj instance void Linq101Joins01/'q4@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [mscorlib]System.Collections.Generic.IEnumerable`1, - string) + IL_002f: newobj instance void Linq101Joins01/'Pipe #4 input@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [mscorlib]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 - } // end of method 'q4@39-3'::Invoke + } // end of method 'Pipe #4 input@39-3'::Invoke - } // end of class 'q4@39-3' + } // end of class 'Pipe #4 input@39-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'q4@42-5' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@42-5' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'q4@42-5' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input@42-5' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1078,7 +1078,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'q4@42-5'::.ctor + } // end of method 'Pipe #4 input@42-5'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed @@ -1108,19 +1108,19 @@ IL_001e: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0023: ret - } // end of method 'q4@42-5'::Invoke + } // end of method 'Pipe #4 input@42-5'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'q4@42-5'::.ctor() - IL_0005: stsfld class Linq101Joins01/'q4@42-5' Linq101Joins01/'q4@42-5'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@42-5'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@42-5' Linq101Joins01/'Pipe #4 input@42-5'::@_instance IL_000a: ret - } // end of method 'q4@42-5'::.cctor + } // end of method 'Pipe #4 input@42-5'::.cctor - } // end of class 'q4@42-5' + } // end of class 'Pipe #4 input@42-5' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed @@ -1236,7 +1236,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 461 (0x1cd) + // Code size 481 (0x1e1) .maxstack 10 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categories, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products, @@ -1244,10 +1244,14 @@ [3] class [mscorlib]System.Tuple`2>[] q2, [4] class [mscorlib]System.Tuple`2[] q3, [5] class [mscorlib]System.Tuple`2[] q4, - [6] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_6, + [6] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input', [7] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, - [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, - [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9) + [8] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input', + [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + [12] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13) .line 8,8 : 1,88 '' IL_0000: ldstr "Beverages" IL_0005: ldstr "Condiments" @@ -1274,134 +1278,154 @@ IL_0044: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Joins01::products@9 IL_0049: stloc.1 .line 11,16 : 1,21 '' - IL_004a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_004f: stloc.s V_6 - IL_0051: ldloc.s V_6 - IL_0053: ldloc.s V_6 - IL_0055: ldloc.s V_6 - IL_0057: ldloc.s V_6 - IL_0059: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() - IL_005e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0063: ldloc.s V_6 - IL_0065: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() - IL_006a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_006f: ldsfld class Linq101Joins01/q@14 Linq101Joins01/q@14::@_instance - IL_0074: ldsfld class Linq101Joins01/'q@14-1' Linq101Joins01/'q@14-1'::@_instance - IL_0079: ldsfld class Linq101Joins01/'q@14-2' Linq101Joins01/'q@14-2'::@_instance - IL_007e: 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, + IL_004a: nop + .line 12,12 : 5,10 '' + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0050: stloc.s V_7 + IL_0052: ldloc.s V_7 + IL_0054: ldloc.s V_7 + IL_0056: ldloc.s V_7 + IL_0058: ldloc.s V_7 + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() + IL_005f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0064: ldloc.s V_7 + IL_0066: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() + IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0070: ldsfld class Linq101Joins01/'Pipe #1 input@14' Linq101Joins01/'Pipe #1 input@14'::@_instance + IL_0075: ldsfld class Linq101Joins01/'Pipe #1 input@14-1' Linq101Joins01/'Pipe #1 input@14-1'::@_instance + IL_007a: ldsfld class Linq101Joins01/'Pipe #1 input@14-2' Linq101Joins01/'Pipe #1 input@14-2'::@_instance + IL_007f: 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_0083: ldloc.s V_6 - IL_0085: newobj instance void Linq101Joins01/'q@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_008a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0084: ldloc.s V_7 + IL_0086: newobj instance void Linq101Joins01/'Pipe #1 input@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_008f: ldsfld class Linq101Joins01/'q@15-4' Linq101Joins01/'q@15-4'::@_instance - IL_0094: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0090: ldsfld class Linq101Joins01/'Pipe #1 input@15-4' Linq101Joins01/'Pipe #1 input@15-4'::@_instance + IL_0095: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0099: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_009e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00a3: dup - IL_00a4: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q@11 - IL_00a9: stloc.2 + IL_009a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_009f: stloc.s 'Pipe #1 input' + .line 16,16 : 10,21 '' + IL_00a1: ldloc.s 'Pipe #1 input' + IL_00a3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a8: dup + IL_00a9: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q@11 + IL_00ae: stloc.2 .line 19,24 : 1,21 '' - IL_00aa: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00af: stloc.s V_7 - IL_00b1: ldloc.s V_7 - IL_00b3: ldloc.s V_7 - IL_00b5: ldloc.s V_7 - IL_00b7: ldloc.s V_7 - IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() - IL_00be: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00c3: ldloc.s V_7 - IL_00c5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() - IL_00ca: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00cf: ldsfld class Linq101Joins01/q2@22 Linq101Joins01/q2@22::@_instance - IL_00d4: ldsfld class Linq101Joins01/'q2@22-1' Linq101Joins01/'q2@22-1'::@_instance - IL_00d9: ldsfld class Linq101Joins01/'q2@22-2' Linq101Joins01/'q2@22-2'::@_instance - IL_00de: 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, + IL_00af: nop + .line 20,20 : 5,10 '' + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00b5: stloc.s V_9 + IL_00b7: ldloc.s V_9 + IL_00b9: ldloc.s V_9 + IL_00bb: ldloc.s V_9 + IL_00bd: ldloc.s V_9 + IL_00bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() + IL_00c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c9: ldloc.s V_9 + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00d5: ldsfld class Linq101Joins01/'Pipe #2 input@22' Linq101Joins01/'Pipe #2 input@22'::@_instance + IL_00da: ldsfld class Linq101Joins01/'Pipe #2 input@22-1' Linq101Joins01/'Pipe #2 input@22-1'::@_instance + IL_00df: ldsfld class Linq101Joins01/'Pipe #2 input@22-2' Linq101Joins01/'Pipe #2 input@22-2'::@_instance + IL_00e4: 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_00e3: ldloc.s V_7 - IL_00e5: newobj instance void Linq101Joins01/'q2@22-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 [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00e9: ldloc.s V_9 + IL_00eb: newobj instance void Linq101Joins01/'Pipe #2 input@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00f0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_00ef: ldsfld class Linq101Joins01/'q2@23-4' Linq101Joins01/'q2@23-4'::@_instance - IL_00f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00f5: ldsfld class Linq101Joins01/'Pipe #2 input@23-4' Linq101Joins01/'Pipe #2 input@23-4'::@_instance + IL_00fa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00f9: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_00fe: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0103: dup - IL_0104: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Joins01::q2@19 - IL_0109: stloc.3 + IL_00ff: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0104: stloc.s 'Pipe #2 input' + .line 24,24 : 10,21 '' + IL_0106: ldloc.s 'Pipe #2 input' + IL_0108: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_010d: dup + IL_010e: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Joins01::q2@19 + IL_0113: stloc.3 .line 27,33 : 1,21 '' - IL_010a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_010f: stloc.s V_8 - IL_0111: ldloc.s V_8 - IL_0113: ldloc.s V_8 - IL_0115: ldloc.s V_8 - IL_0117: ldloc.s V_8 - IL_0119: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() - IL_011e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0123: ldloc.s V_8 - IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() - IL_012a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_012f: ldsfld class Linq101Joins01/q3@30 Linq101Joins01/q3@30::@_instance - IL_0134: ldsfld class Linq101Joins01/'q3@30-1' Linq101Joins01/'q3@30-1'::@_instance - IL_0139: ldsfld class Linq101Joins01/'q3@30-2' Linq101Joins01/'q3@30-2'::@_instance - IL_013e: 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, + IL_0114: nop + .line 28,28 : 5,10 '' + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011a: stloc.s V_11 + IL_011c: ldloc.s V_11 + IL_011e: ldloc.s V_11 + IL_0120: ldloc.s V_11 + IL_0122: ldloc.s V_11 + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() + IL_0129: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_012e: ldloc.s V_11 + IL_0130: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() + IL_0135: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_013a: ldsfld class Linq101Joins01/'Pipe #3 input@30' Linq101Joins01/'Pipe #3 input@30'::@_instance + IL_013f: ldsfld class Linq101Joins01/'Pipe #3 input@30-1' Linq101Joins01/'Pipe #3 input@30-1'::@_instance + IL_0144: ldsfld class Linq101Joins01/'Pipe #3 input@30-2' Linq101Joins01/'Pipe #3 input@30-2'::@_instance + IL_0149: 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_0143: ldloc.s V_8 - IL_0145: newobj instance void Linq101Joins01/'q3@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_014a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_014e: ldloc.s V_11 + IL_0150: newobj instance void Linq101Joins01/'Pipe #3 input@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0155: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_014f: ldsfld class Linq101Joins01/'q3@32-5' Linq101Joins01/'q3@32-5'::@_instance - IL_0154: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_015a: ldsfld class Linq101Joins01/'Pipe #3 input@32-5' Linq101Joins01/'Pipe #3 input@32-5'::@_instance + IL_015f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0159: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_015e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0163: dup - IL_0164: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q3@27 - IL_0169: stloc.s q3 + IL_0164: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0169: stloc.s 'Pipe #3 input' + .line 33,33 : 10,21 '' + IL_016b: ldloc.s 'Pipe #3 input' + IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0172: dup + IL_0173: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q3@27 + IL_0178: stloc.s q3 .line 36,43 : 1,21 '' - IL_016b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0170: stloc.s V_9 - IL_0172: ldloc.s V_9 - IL_0174: ldloc.s V_9 - IL_0176: ldloc.s V_9 - IL_0178: ldloc.s V_9 - IL_017a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() - IL_017f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0184: ldloc.s V_9 - IL_0186: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() - IL_018b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0190: ldsfld class Linq101Joins01/q4@39 Linq101Joins01/q4@39::@_instance - IL_0195: ldsfld class Linq101Joins01/'q4@39-1' Linq101Joins01/'q4@39-1'::@_instance - IL_019a: ldsfld class Linq101Joins01/'q4@39-2' Linq101Joins01/'q4@39-2'::@_instance - IL_019f: 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, + IL_017a: nop + .line 37,37 : 5,10 '' + IL_017b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0180: stloc.s V_13 + IL_0182: ldloc.s V_13 + IL_0184: ldloc.s V_13 + IL_0186: ldloc.s V_13 + IL_0188: ldloc.s V_13 + IL_018a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_categories() + IL_018f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0194: ldloc.s V_13 + IL_0196: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() + IL_019b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01a0: ldsfld class Linq101Joins01/'Pipe #4 input@39' Linq101Joins01/'Pipe #4 input@39'::@_instance + IL_01a5: ldsfld class Linq101Joins01/'Pipe #4 input@39-1' Linq101Joins01/'Pipe #4 input@39-1'::@_instance + IL_01aa: ldsfld class Linq101Joins01/'Pipe #4 input@39-2' Linq101Joins01/'Pipe #4 input@39-2'::@_instance + IL_01af: 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_01a4: ldloc.s V_9 - IL_01a6: newobj instance void Linq101Joins01/'q4@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_01ab: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_01b4: ldloc.s V_13 + IL_01b6: newobj instance void Linq101Joins01/'Pipe #4 input@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_01b0: ldsfld class Linq101Joins01/'q4@42-5' Linq101Joins01/'q4@42-5'::@_instance - IL_01b5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_01c0: ldsfld class Linq101Joins01/'Pipe #4 input@42-5' Linq101Joins01/'Pipe #4 input@42-5'::@_instance + IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_01ba: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_01bf: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01c4: dup - IL_01c5: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q4@36 - IL_01ca: stloc.s q4 - IL_01cc: ret + IL_01ca: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_01cf: stloc.s 'Pipe #4 input' + .line 43,43 : 10,21 '' + IL_01d1: ldloc.s 'Pipe #4 input' + IL_01d3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01d8: dup + IL_01d9: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q4@36 + IL_01de: stloc.s q4 + IL_01e0: ret } // end of method $Linq101Joins01::main@ } // end of class ''.$Linq101Joins01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl index 1d41a07ed6..0c7492718b 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x000003B8 Length: 0x00000134 } .module Linq101Ordering01.exe -// MVID: {60BD414C-649A-6956-A745-03834C41BD60} +// MVID: {6116A45B-649A-6956-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x053F0000 +// Image base: 0x06FF0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -55,7 +55,7 @@ extends [mscorlib]System.Object { .custom instance 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 sortedWords@11 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@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 ) @@ -80,17 +80,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/sortedWords@11::current + IL_0010: stfld string Linq101Ordering01/'Pipe #1 input@11'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method sortedWords@11::.ctor + } // end of method 'Pipe #1 input@11'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -102,7 +102,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Ordering01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -129,18 +129,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_words() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc .line 11,11 : 9,26 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 11,11 : 9,26 '' @@ -149,10 +149,10 @@ .line 12,12 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/sortedWords@11::current + IL_0060: stfld string Linq101Ordering01/'Pipe #1 input@11'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -162,24 +162,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc .line 11,11 : 9,26 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/sortedWords@11::current + IL_008d: stfld string Linq101Ordering01/'Pipe #1 input@11'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method sortedWords@11::GenerateNext + } // end of method 'Pipe #1 input@11'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -190,7 +190,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -206,7 +206,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -236,19 +236,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords@11::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/sortedWords@11::current + IL_005f: stfld string Linq101Ordering01/'Pipe #1 input@11'::current IL_0064: leave.s IL_0070 } // end .try @@ -277,7 +277,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method sortedWords@11::Close + } // end of method 'Pipe #1 input@11'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -286,7 +286,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords@11::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -320,7 +320,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method sortedWords@11::get_CheckClose + } // end of method 'Pipe #1 input@11'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -330,9 +330,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/sortedWords@11::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #1 input@11'::current IL_0006: ret - } // end of method sortedWords@11::get_LastGenerated + } // end of method 'Pipe #1 input@11'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -344,18 +344,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/sortedWords@11::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #1 input@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method sortedWords@11::GetFreshEnumerator + } // end of method 'Pipe #1 input@11'::GetFreshEnumerator - } // end of class sortedWords@11 + } // end of class 'Pipe #1 input@11' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedWords@12-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@12-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedWords@12-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #1 input@12-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -366,7 +366,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedWords@12-1'::.ctor + } // end of method 'Pipe #1 input@12-1'::.ctor .method public strict virtual instance string Invoke(string w) cil managed @@ -376,21 +376,21 @@ .line 12,12 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'sortedWords@12-1'::Invoke + } // end of method 'Pipe #1 input@12-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedWords@12-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedWords@12-1' Linq101Ordering01/'sortedWords@12-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #1 input@12-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #1 input@12-1' Linq101Ordering01/'Pipe #1 input@12-1'::@_instance IL_000a: ret - } // end of method 'sortedWords@12-1'::.cctor + } // end of method 'Pipe #1 input@12-1'::.cctor - } // end of class 'sortedWords@12-1' + } // end of class 'Pipe #1 input@12-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname sortedWords2@18 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@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 ) @@ -415,17 +415,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/sortedWords2@18::current + IL_0010: stfld string Linq101Ordering01/'Pipe #2 input@18'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method sortedWords2@18::.ctor + } // end of method 'Pipe #2 input@18'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -436,7 +436,7 @@ [1] string w) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -463,18 +463,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_words() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc .line 18,18 : 9,26 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 18,18 : 9,26 '' @@ -483,10 +483,10 @@ .line 19,19 : 9,26 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/sortedWords2@18::current + IL_0060: stfld string Linq101Ordering01/'Pipe #2 input@18'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -496,24 +496,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc .line 18,18 : 9,26 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/sortedWords2@18::current + IL_008d: stfld string Linq101Ordering01/'Pipe #2 input@18'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method sortedWords2@18::GenerateNext + } // end of method 'Pipe #2 input@18'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -524,7 +524,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -540,7 +540,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -570,19 +570,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedWords2@18::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/sortedWords2@18::current + IL_005f: stfld string Linq101Ordering01/'Pipe #2 input@18'::current IL_0064: leave.s IL_0070 } // end .try @@ -611,7 +611,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method sortedWords2@18::Close + } // end of method 'Pipe #2 input@18'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -620,7 +620,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedWords2@18::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -654,7 +654,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method sortedWords2@18::get_CheckClose + } // end of method 'Pipe #2 input@18'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -664,9 +664,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/sortedWords2@18::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #2 input@18'::current IL_0006: ret - } // end of method sortedWords2@18::get_LastGenerated + } // end of method 'Pipe #2 input@18'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -678,18 +678,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/sortedWords2@18::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #2 input@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method sortedWords2@18::GetFreshEnumerator + } // end of method 'Pipe #2 input@18'::GetFreshEnumerator - } // end of class sortedWords2@18 + } // end of class 'Pipe #2 input@18' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedWords2@19-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@19-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedWords2@19-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #2 input@19-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -700,7 +700,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedWords2@19-1'::.ctor + } // end of method 'Pipe #2 input@19-1'::.ctor .method public strict virtual instance int32 Invoke(string w) cil managed @@ -711,21 +711,21 @@ IL_0000: ldarg.1 IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() IL_0006: ret - } // end of method 'sortedWords2@19-1'::Invoke + } // end of method 'Pipe #2 input@19-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedWords2@19-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedWords2@19-1' Linq101Ordering01/'sortedWords2@19-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #2 input@19-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #2 input@19-1' Linq101Ordering01/'Pipe #2 input@19-1'::@_instance IL_000a: ret - } // end of method 'sortedWords2@19-1'::.cctor + } // end of method 'Pipe #2 input@19-1'::.cctor - } // end of class 'sortedWords2@19-1' + } // end of class 'Pipe #2 input@19-1' - .class auto ansi serializable sealed nested assembly beforefieldinit sortedProducts@26 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@26' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -743,9 +743,9 @@ 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 Linq101Ordering01/sortedProducts@26::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #3 input@26'::builder@ IL_000d: ret - } // end of method sortedProducts@26::.ctor + } // end of method 'Pipe #3 input@26'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -758,19 +758,19 @@ IL_0001: stloc.0 .line 27,27 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/sortedProducts@26::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #3 input@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 - } // end of method sortedProducts@26::Invoke + } // end of method 'Pipe #3 input@26'::Invoke - } // end of class sortedProducts@26 + } // end of class 'Pipe #3 input@26' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts@27-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@27-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts@27-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #3 input@27-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -781,7 +781,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts@27-1'::.ctor + } // end of method 'Pipe #3 input@27-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -793,24 +793,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() IL_0008: ret - } // end of method 'sortedProducts@27-1'::Invoke + } // end of method 'Pipe #3 input@27-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts@27-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts@27-1' Linq101Ordering01/'sortedProducts@27-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input@27-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input@27-1' Linq101Ordering01/'Pipe #3 input@27-1'::@_instance IL_000a: ret - } // end of method 'sortedProducts@27-1'::.cctor + } // end of method 'Pipe #3 input@27-1'::.cctor - } // end of class 'sortedProducts@27-1' + } // end of class 'Pipe #3 input@27-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts@28-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@28-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts@28-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #3 input@28-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -821,7 +821,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts@28-2'::.ctor + } // end of method 'Pipe #3 input@28-2'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -831,21 +831,21 @@ .line 28,28 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'sortedProducts@28-2'::Invoke + } // end of method 'Pipe #3 input@28-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts@28-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts@28-2' Linq101Ordering01/'sortedProducts@28-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input@28-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input@28-2' Linq101Ordering01/'Pipe #3 input@28-2'::@_instance IL_000a: ret - } // end of method 'sortedProducts@28-2'::.cctor + } // end of method 'Pipe #3 input@28-2'::.cctor - } // end of class 'sortedProducts@28-2' + } // end of class 'Pipe #3 input@28-2' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname sortedProducts2@44 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input@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 ) @@ -870,17 +870,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [Utils]Utils/Product Linq101Ordering01/sortedProducts2@44::current + IL_0010: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method sortedProducts2@44::.ctor + } // end of method 'Pipe #4 input@44'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -891,7 +891,7 @@ [1] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -918,18 +918,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc .line 44,44 : 9,29 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 44,44 : 9,29 '' @@ -938,10 +938,10 @@ .line 45,45 : 9,40 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld class [Utils]Utils/Product Linq101Ordering01/sortedProducts2@44::current + IL_0060: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -951,24 +951,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc .line 44,44 : 9,29 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld class [Utils]Utils/Product Linq101Ordering01/sortedProducts2@44::current + IL_008d: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method sortedProducts2@44::GenerateNext + } // end of method 'Pipe #4 input@44'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -979,7 +979,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -995,7 +995,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1025,19 +1025,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedProducts2@44::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [Utils]Utils/Product Linq101Ordering01/sortedProducts2@44::current + IL_005f: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current IL_0064: leave.s IL_0070 } // end .try @@ -1066,7 +1066,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method sortedProducts2@44::Close + } // end of method 'Pipe #4 input@44'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1075,7 +1075,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedProducts2@44::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1109,7 +1109,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method sortedProducts2@44::get_CheckClose + } // end of method 'Pipe #4 input@44'::get_CheckClose .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed @@ -1119,9 +1119,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [Utils]Utils/Product Linq101Ordering01/sortedProducts2@44::current + IL_0001: ldfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current IL_0006: ret - } // end of method sortedProducts2@44::get_LastGenerated + } // end of method 'Pipe #4 input@44'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1133,18 +1133,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/sortedProducts2@44::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0003: newobj instance void Linq101Ordering01/'Pipe #4 input@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, class [Utils]Utils/Product) IL_0008: ret - } // end of method sortedProducts2@44::GetFreshEnumerator + } // end of method 'Pipe #4 input@44'::GetFreshEnumerator - } // end of class sortedProducts2@44 + } // end of class 'Pipe #4 input@44' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts2@45-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@45-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts2@45-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #4 input@45-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1155,7 +1155,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts2@45-1'::.ctor + } // end of method 'Pipe #4 input@45-1'::.ctor .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed @@ -1167,21 +1167,21 @@ IL_0001: tail. IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() IL_0008: ret - } // end of method 'sortedProducts2@45-1'::Invoke + } // end of method 'Pipe #4 input@45-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts2@45-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts2@45-1' Linq101Ordering01/'sortedProducts2@45-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #4 input@45-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #4 input@45-1' Linq101Ordering01/'Pipe #4 input@45-1'::@_instance IL_000a: ret - } // end of method 'sortedProducts2@45-1'::.cctor + } // end of method 'Pipe #4 input@45-1'::.cctor - } // end of class 'sortedProducts2@45-1' + } // end of class 'Pipe #4 input@45-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname sortedDigits@52 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@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 ) @@ -1206,17 +1206,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/sortedDigits@52::current + IL_0010: stfld string Linq101Ordering01/'Pipe #5 input@52'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method sortedDigits@52::.ctor + } // end of method 'Pipe #5 input@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1227,7 +1227,7 @@ [1] string d) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1254,18 +1254,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_digits() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc .line 52,52 : 9,27 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 52,52 : 9,27 '' @@ -1274,10 +1274,10 @@ .line 53,53 : 9,24 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/sortedDigits@52::current + IL_0060: stfld string Linq101Ordering01/'Pipe #5 input@52'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1287,24 +1287,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc .line 52,52 : 9,27 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/sortedDigits@52::current + IL_008d: stfld string Linq101Ordering01/'Pipe #5 input@52'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method sortedDigits@52::GenerateNext + } // end of method 'Pipe #5 input@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1315,7 +1315,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1331,7 +1331,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1361,19 +1361,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/sortedDigits@52::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/sortedDigits@52::current + IL_005f: stfld string Linq101Ordering01/'Pipe #5 input@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -1402,7 +1402,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method sortedDigits@52::Close + } // end of method 'Pipe #5 input@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1411,7 +1411,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/sortedDigits@52::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1445,7 +1445,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method sortedDigits@52::get_CheckClose + } // end of method 'Pipe #5 input@52'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -1455,9 +1455,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/sortedDigits@52::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #5 input@52'::current IL_0006: ret - } // end of method sortedDigits@52::get_LastGenerated + } // end of method 'Pipe #5 input@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1469,18 +1469,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/sortedDigits@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #5 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method sortedDigits@52::GetFreshEnumerator + } // end of method 'Pipe #5 input@52'::GetFreshEnumerator - } // end of class sortedDigits@52 + } // end of class 'Pipe #5 input@52' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedDigits@53-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@53-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedDigits@53-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #5 input@53-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1491,7 +1491,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedDigits@53-1'::.ctor + } // end of method 'Pipe #5 input@53-1'::.ctor .method public strict virtual instance int32 Invoke(string d) cil managed @@ -1502,24 +1502,24 @@ IL_0000: ldarg.1 IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() IL_0006: ret - } // end of method 'sortedDigits@53-1'::Invoke + } // end of method 'Pipe #5 input@53-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedDigits@53-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedDigits@53-1' Linq101Ordering01/'sortedDigits@53-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input@53-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input@53-1' Linq101Ordering01/'Pipe #5 input@53-1'::@_instance IL_000a: ret - } // end of method 'sortedDigits@53-1'::.cctor + } // end of method 'Pipe #5 input@53-1'::.cctor - } // end of class 'sortedDigits@53-1' + } // end of class 'Pipe #5 input@53-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedDigits@54-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@54-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedDigits@54-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #5 input@54-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1530,7 +1530,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedDigits@54-2'::.ctor + } // end of method 'Pipe #5 input@54-2'::.ctor .method public strict virtual instance string Invoke(string d) cil managed @@ -1540,21 +1540,21 @@ .line 54,54 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'sortedDigits@54-2'::Invoke + } // end of method 'Pipe #5 input@54-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedDigits@54-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedDigits@54-2' Linq101Ordering01/'sortedDigits@54-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input@54-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input@54-2' Linq101Ordering01/'Pipe #5 input@54-2'::@_instance IL_000a: ret - } // end of method 'sortedDigits@54-2'::.cctor + } // end of method 'Pipe #5 input@54-2'::.cctor - } // end of class 'sortedDigits@54-2' + } // end of class 'Pipe #5 input@54-2' - .class auto ansi serializable sealed nested assembly beforefieldinit sortedProducts3@60 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@60' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1572,9 +1572,9 @@ 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 Linq101Ordering01/sortedProducts3@60::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #6 input@60'::builder@ IL_000d: ret - } // end of method sortedProducts3@60::.ctor + } // end of method 'Pipe #6 input@60'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1587,19 +1587,19 @@ IL_0001: stloc.0 .line 61,61 : 9,26 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/sortedProducts3@60::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #6 input@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 - } // end of method sortedProducts3@60::Invoke + } // end of method 'Pipe #6 input@60'::Invoke - } // end of class sortedProducts3@60 + } // end of class 'Pipe #6 input@60' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts3@61-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@61-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts3@61-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input@61-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1610,7 +1610,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts3@61-1'::.ctor + } // end of method 'Pipe #6 input@61-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1622,24 +1622,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'sortedProducts3@61-1'::Invoke + } // end of method 'Pipe #6 input@61-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts3@61-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts3@61-1' Linq101Ordering01/'sortedProducts3@61-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@61-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@61-1' Linq101Ordering01/'Pipe #6 input@61-1'::@_instance IL_000a: ret - } // end of method 'sortedProducts3@61-1'::.cctor + } // end of method 'Pipe #6 input@61-1'::.cctor - } // end of class 'sortedProducts3@61-1' + } // end of class 'Pipe #6 input@61-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts3@62-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@62-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts3@62-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input@62-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1650,7 +1650,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts3@62-2'::.ctor + } // end of method 'Pipe #6 input@62-2'::.ctor .method public strict virtual instance valuetype [mscorlib]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed @@ -1662,24 +1662,24 @@ IL_0001: tail. IL_0003: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice() IL_0008: ret - } // end of method 'sortedProducts3@62-2'::Invoke + } // end of method 'Pipe #6 input@62-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts3@62-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts3@62-2' Linq101Ordering01/'sortedProducts3@62-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@62-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@62-2' Linq101Ordering01/'Pipe #6 input@62-2'::@_instance IL_000a: ret - } // end of method 'sortedProducts3@62-2'::.cctor + } // end of method 'Pipe #6 input@62-2'::.cctor - } // end of class 'sortedProducts3@62-2' + } // end of class 'Pipe #6 input@62-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'sortedProducts3@63-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@63-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Ordering01/'sortedProducts3@63-3' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input@63-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1690,7 +1690,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'sortedProducts3@63-3'::.ctor + } // end of method 'Pipe #6 input@63-3'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1700,19 +1700,19 @@ .line 63,63 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'sortedProducts3@63-3'::Invoke + } // end of method 'Pipe #6 input@63-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'sortedProducts3@63-3'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'sortedProducts3@63-3' Linq101Ordering01/'sortedProducts3@63-3'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@63-3'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@63-3' Linq101Ordering01/'Pipe #6 input@63-3'::@_instance IL_000a: ret - } // end of method 'sortedProducts3@63-3'::.cctor + } // end of method 'Pipe #6 input@63-3'::.cctor - } // end of class 'sortedProducts3@63-3' + } // end of class 'Pipe #6 input@63-3' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed @@ -1876,7 +1876,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 540 (0x21c) + // Code size 570 (0x23a) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords, @@ -1887,12 +1887,18 @@ [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits, [8] class [Utils]Utils/Product[] sortedProducts3, - [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, - [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + [11] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13, - [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14) + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #4 input', + [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input', + [18] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, + [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', + [20] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20) .line 8,8 : 1,45 '' IL_0000: ldstr "cherry" IL_0005: ldstr "apple" @@ -1908,111 +1914,123 @@ IL_0024: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::words@8 IL_0029: stloc.0 .line 9,13 : 1,20 '' - IL_002a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_002f: stloc.s V_9 - IL_0031: ldloc.s V_9 - IL_0033: ldnull - IL_0034: ldc.i4.0 - IL_0035: ldnull - IL_0036: newobj instance void Linq101Ordering01/sortedWords@11::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_003b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0040: ldsfld class Linq101Ordering01/'sortedWords@12-1' Linq101Ordering01/'sortedWords@12-1'::@_instance - IL_0045: 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, + IL_002a: nop + .line 10,10 : 5,10 '' + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0030: stloc.s V_10 + IL_0032: ldloc.s V_10 + IL_0034: ldnull + IL_0035: ldc.i4.0 + IL_0036: ldnull + IL_0037: newobj instance void Linq101Ordering01/'Pipe #1 input@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0041: ldsfld class Linq101Ordering01/'Pipe #1 input@12-1' Linq101Ordering01/'Pipe #1 input@12-1'::@_instance + IL_0046: 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_004a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_004f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0054: dup - IL_0055: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords@9 - IL_005a: stloc.1 + IL_004b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0050: stloc.s 'Pipe #1 input' + .line 13,13 : 10,20 '' + IL_0052: ldloc.s 'Pipe #1 input' + IL_0054: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0059: dup + IL_005a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords@9 + IL_005f: stloc.1 .line 16,20 : 1,20 '' - IL_005b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0060: stloc.s V_10 - IL_0062: ldloc.s V_10 - IL_0064: ldnull - IL_0065: ldc.i4.0 - IL_0066: ldnull - IL_0067: newobj instance void Linq101Ordering01/sortedWords2@18::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_006c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0071: ldsfld class Linq101Ordering01/'sortedWords2@19-1' Linq101Ordering01/'sortedWords2@19-1'::@_instance - IL_0076: 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, + IL_0060: nop + .line 17,17 : 5,10 '' + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0066: stloc.s V_12 + IL_0068: ldloc.s V_12 + IL_006a: ldnull + IL_006b: ldc.i4.0 + IL_006c: ldnull + IL_006d: newobj instance void Linq101Ordering01/'Pipe #2 input@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0072: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0077: ldsfld class Linq101Ordering01/'Pipe #2 input@19-1' Linq101Ordering01/'Pipe #2 input@19-1'::@_instance + IL_007c: 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_007b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0080: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0085: dup - IL_0086: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords2@16 - IL_008b: stloc.2 + IL_0081: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0086: stloc.s 'Pipe #2 input' + .line 20,20 : 10,20 '' + IL_0088: ldloc.s 'Pipe #2 input' + IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008f: dup + IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords2@16 + IL_0095: stloc.2 .line 23,23 : 1,32 '' - IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_0091: dup - IL_0092: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::products@23 - IL_0097: stloc.3 + IL_0096: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_009b: dup + IL_009c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::products@23 + IL_00a1: stloc.3 .line 24,29 : 1,21 '' - IL_0098: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_009d: stloc.s V_11 - IL_009f: ldloc.s V_11 - IL_00a1: ldloc.s V_11 - IL_00a3: ldloc.s V_11 - IL_00a5: ldloc.s V_11 - IL_00a7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() - IL_00ac: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00b1: ldloc.s V_11 - IL_00b3: newobj instance void Linq101Ordering01/sortedProducts@26::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00b8: 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, + IL_00a2: nop + .line 25,25 : 5,10 '' + IL_00a3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a8: stloc.s V_14 + IL_00aa: ldloc.s V_14 + IL_00ac: ldloc.s V_14 + IL_00ae: ldloc.s V_14 + IL_00b0: ldloc.s V_14 + IL_00b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() + IL_00b7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00bc: ldloc.s V_14 + IL_00be: newobj instance void Linq101Ordering01/'Pipe #3 input@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00c3: 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_00bd: ldsfld class Linq101Ordering01/'sortedProducts@27-1' Linq101Ordering01/'sortedProducts@27-1'::@_instance - IL_00c2: 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, + IL_00c8: ldsfld class Linq101Ordering01/'Pipe #3 input@27-1' Linq101Ordering01/'Pipe #3 input@27-1'::@_instance + IL_00cd: 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_00c7: ldsfld class Linq101Ordering01/'sortedProducts@28-2' Linq101Ordering01/'sortedProducts@28-2'::@_instance - IL_00cc: 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, + IL_00d2: ldsfld class Linq101Ordering01/'Pipe #3 input@28-2' Linq101Ordering01/'Pipe #3 input@28-2'::@_instance + IL_00d7: 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_00d1: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00d6: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00db: dup - IL_00dc: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts@24 - IL_00e1: stloc.s sortedProducts + IL_00dc: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e1: stloc.s 'Pipe #3 input' + .line 29,29 : 10,21 '' + IL_00e3: ldloc.s 'Pipe #3 input' + IL_00e5: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ea: dup + IL_00eb: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts@24 + IL_00f0: stloc.s sortedProducts .line 42,46 : 1,21 '' - IL_00e3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00e8: stloc.s V_12 - IL_00ea: ldloc.s V_12 - IL_00ec: ldnull - IL_00ed: ldc.i4.0 - IL_00ee: ldnull - IL_00ef: newobj instance void Linq101Ordering01/sortedProducts2@44::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_00f2: nop + .line 43,43 : 5,10 '' + IL_00f3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f8: stloc.s V_16 + IL_00fa: ldloc.s V_16 + IL_00fc: ldnull + IL_00fd: ldc.i4.0 + IL_00fe: ldnull + IL_00ff: newobj instance void Linq101Ordering01/'Pipe #4 input@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, class [Utils]Utils/Product) - IL_00f4: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00f9: ldsfld class Linq101Ordering01/'sortedProducts2@45-1' Linq101Ordering01/'sortedProducts2@45-1'::@_instance - IL_00fe: 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, + IL_0104: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0109: ldsfld class Linq101Ordering01/'Pipe #4 input@45-1' Linq101Ordering01/'Pipe #4 input@45-1'::@_instance + IL_010e: 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_0103: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0108: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_010d: dup - IL_010e: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts2@42 - IL_0113: stloc.s sortedProducts2 + IL_0113: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0118: stloc.s 'Pipe #4 input' + .line 46,46 : 10,21 '' + IL_011a: ldloc.s 'Pipe #4 input' + IL_011c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0121: dup + IL_0122: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts2@42 + IL_0127: stloc.s sortedProducts2 .line 49,49 : 1,96 '' - IL_0115: ldstr "zero" - IL_011a: ldstr "one" - IL_011f: ldstr "two" - IL_0124: ldstr "three" - IL_0129: ldstr "four" - IL_012e: ldstr "five" - IL_0133: ldstr "six" - IL_0138: ldstr "seven" - IL_013d: ldstr "eight" - IL_0142: ldstr "nine" - IL_0147: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_014c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0151: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0156: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_015b: call class [FSharp.Core]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: ldstr "zero" + IL_012e: ldstr "one" + IL_0133: ldstr "two" + IL_0138: ldstr "three" + IL_013d: ldstr "four" + IL_0142: ldstr "five" + IL_0147: ldstr "six" + IL_014c: ldstr "seven" + IL_0151: ldstr "eight" + IL_0156: ldstr "nine" + IL_015b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() IL_0160: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0165: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, @@ -2025,61 +2043,79 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0179: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_017e: dup - IL_017f: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::digits@49 - IL_0184: stloc.s digits + IL_017e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0183: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0188: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_018d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0192: dup + IL_0193: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::digits@49 + IL_0198: stloc.s digits .line 50,55 : 1,20 '' - IL_0186: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_018b: stloc.s V_13 - IL_018d: ldloc.s V_13 - IL_018f: ldloc.s V_13 - IL_0191: ldnull - IL_0192: ldc.i4.0 - IL_0193: ldnull - IL_0194: newobj instance void Linq101Ordering01/sortedDigits@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_0199: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_019e: ldsfld class Linq101Ordering01/'sortedDigits@53-1' Linq101Ordering01/'sortedDigits@53-1'::@_instance - IL_01a3: 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, + IL_019a: nop + .line 51,51 : 5,10 '' + IL_019b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01a0: stloc.s V_18 + IL_01a2: ldloc.s V_18 + IL_01a4: ldloc.s V_18 + IL_01a6: ldnull + IL_01a7: ldc.i4.0 + IL_01a8: ldnull + IL_01a9: newobj instance void Linq101Ordering01/'Pipe #5 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_01ae: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b3: ldsfld class Linq101Ordering01/'Pipe #5 input@53-1' Linq101Ordering01/'Pipe #5 input@53-1'::@_instance + IL_01b8: 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_01a8: ldsfld class Linq101Ordering01/'sortedDigits@54-2' Linq101Ordering01/'sortedDigits@54-2'::@_instance - IL_01ad: 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, + IL_01bd: ldsfld class Linq101Ordering01/'Pipe #5 input@54-2' Linq101Ordering01/'Pipe #5 input@54-2'::@_instance + IL_01c2: 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_01b2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01b7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01bc: dup - IL_01bd: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedDigits@50 - IL_01c2: stloc.s sortedDigits + IL_01c7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01cc: stloc.s 'Pipe #5 input' + .line 55,55 : 10,20 '' + IL_01ce: ldloc.s 'Pipe #5 input' + IL_01d0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01d5: dup + IL_01d6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedDigits@50 + IL_01db: stloc.s sortedDigits .line 58,64 : 1,21 '' - IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_01c9: stloc.s V_14 - IL_01cb: ldloc.s V_14 - IL_01cd: ldloc.s V_14 - IL_01cf: ldloc.s V_14 - IL_01d1: ldloc.s V_14 - IL_01d3: ldloc.s V_14 - IL_01d5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() - IL_01da: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01df: ldloc.s V_14 - IL_01e1: newobj instance void Linq101Ordering01/sortedProducts3@60::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_01e6: 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, + IL_01dd: nop + .line 59,59 : 5,10 '' + IL_01de: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01e3: stloc.s V_20 + IL_01e5: ldloc.s V_20 + IL_01e7: ldloc.s V_20 + IL_01e9: ldloc.s V_20 + IL_01eb: ldloc.s V_20 + IL_01ed: ldloc.s V_20 + IL_01ef: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() + IL_01f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01f9: ldloc.s V_20 + IL_01fb: newobj instance void Linq101Ordering01/'Pipe #6 input@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0200: 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_01eb: ldsfld class Linq101Ordering01/'sortedProducts3@61-1' Linq101Ordering01/'sortedProducts3@61-1'::@_instance - IL_01f0: 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, + IL_0205: ldsfld class Linq101Ordering01/'Pipe #6 input@61-1' Linq101Ordering01/'Pipe #6 input@61-1'::@_instance + IL_020a: 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_01f5: ldsfld class Linq101Ordering01/'sortedProducts3@62-2' Linq101Ordering01/'sortedProducts3@62-2'::@_instance - IL_01fa: 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, + IL_020f: ldsfld class Linq101Ordering01/'Pipe #6 input@62-2' Linq101Ordering01/'Pipe #6 input@62-2'::@_instance + IL_0214: 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_01ff: ldsfld class Linq101Ordering01/'sortedProducts3@63-3' Linq101Ordering01/'sortedProducts3@63-3'::@_instance - IL_0204: 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, + IL_0219: ldsfld class Linq101Ordering01/'Pipe #6 input@63-3' Linq101Ordering01/'Pipe #6 input@63-3'::@_instance + IL_021e: 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_0209: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_020e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0213: dup - IL_0214: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts3@58 - IL_0219: stloc.s sortedProducts3 - IL_021b: ret + IL_0223: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0228: stloc.s 'Pipe #6 input' + .line 64,64 : 10,21 '' + IL_022a: ldloc.s 'Pipe #6 input' + IL_022c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0231: dup + IL_0232: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts3@58 + IL_0237: stloc.s sortedProducts3 + IL_0239: ret } // end of method $Linq101Ordering01::main@ } // end of class ''.$Linq101Ordering01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl index 10ba7c88ae..301fecde9c 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D8 Length: 0x00000138 } .module Linq101Partitioning01.exe -// MVID: {60BD414C-B280-A6A2-A745-03834C41BD60} +// MVID: {6116A45B-B280-A6A2-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04E00000 +// Image base: 0x06A30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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 first3Numbers@12 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@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 ) @@ -85,17 +85,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/first3Numbers@12::current + IL_0010: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method first3Numbers@12::.ctor + } // end of method 'Pipe #1 input@12'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -107,7 +107,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Partitioning01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -134,18 +134,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc .line 12,12 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 12,12 : 9,28 '' @@ -154,10 +154,10 @@ .line 13,13 : 9,15 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/first3Numbers@12::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -167,24 +167,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc .line 12,12 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/first3Numbers@12::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method first3Numbers@12::GenerateNext + } // end of method 'Pipe #1 input@12'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -195,7 +195,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -211,7 +211,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -241,19 +241,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/first3Numbers@12::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/first3Numbers@12::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current IL_0064: leave.s IL_0070 } // end .try @@ -282,7 +282,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method first3Numbers@12::Close + } // end of method 'Pipe #1 input@12'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -291,7 +291,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/first3Numbers@12::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -325,7 +325,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method first3Numbers@12::get_CheckClose + } // end of method 'Pipe #1 input@12'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -335,9 +335,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/first3Numbers@12::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current IL_0006: ret - } // end of method first3Numbers@12::get_LastGenerated + } // end of method 'Pipe #1 input@12'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -349,15 +349,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/first3Numbers@12::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method first3Numbers@12::GetFreshEnumerator + } // end of method 'Pipe #1 input@12'::GetFreshEnumerator - } // end of class first3Numbers@12 + } // end of class 'Pipe #1 input@12' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders@21-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@21-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -377,12 +377,12 @@ 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 Linq101Partitioning01/'WAOrders@21-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@21-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'WAOrders@21-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input@21-1'::c IL_0014: ret - } // end of method 'WAOrders@21-1'::.ctor + } // end of method 'Pipe #2 input@21-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -395,20 +395,20 @@ IL_0001: stloc.0 .line 22,22 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'WAOrders@21-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@21-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'WAOrders@21-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input@21-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'WAOrders@21-1'::Invoke + } // end of method 'Pipe #2 input@21-1'::Invoke - } // end of class 'WAOrders@21-1' + } // end of class 'Pipe #2 input@21-1' - .class auto ansi serializable sealed nested assembly beforefieldinit WAOrders@20 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@20' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -426,9 +426,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders@20::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ IL_000d: ret - } // end of method WAOrders@20::.ctor + } // end of method 'Pipe #2 input@20'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -441,29 +441,29 @@ IL_0001: stloc.0 .line 21,21 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders@20::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders@20::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders@20::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Partitioning01/'WAOrders@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Partitioning01/'Pipe #2 input@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 - } // end of method WAOrders@20::Invoke + } // end of method 'Pipe #2 input@20'::Invoke - } // end of class WAOrders@20 + } // end of class 'Pipe #2 input@20' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders@22-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Partitioning01/'WAOrders@22-2' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #2 input@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -474,7 +474,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'WAOrders@22-2'::.ctor + } // end of method 'Pipe #2 input@22-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -497,24 +497,24 @@ IL_0019: call bool [netstandard]System.String::Equals(string, string) IL_001e: ret - } // end of method 'WAOrders@22-2'::Invoke + } // end of method 'Pipe #2 input@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'WAOrders@22-2'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'WAOrders@22-2' Linq101Partitioning01/'WAOrders@22-2'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input@22-2'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input@22-2' Linq101Partitioning01/'Pipe #2 input@22-2'::@_instance IL_000a: ret - } // end of method 'WAOrders@22-2'::.cctor + } // end of method 'Pipe #2 input@22-2'::.cctor - } // end of class 'WAOrders@22-2' + } // end of class 'Pipe #2 input@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders@23-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@23-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Partitioning01/'WAOrders@23-3' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #2 input@23-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -525,7 +525,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'WAOrders@23-3'::.ctor + } // end of method 'Pipe #2 input@23-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -552,21 +552,21 @@ !1, !2) IL_0025: ret - } // end of method 'WAOrders@23-3'::Invoke + } // end of method 'Pipe #2 input@23-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'WAOrders@23-3'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'WAOrders@23-3' Linq101Partitioning01/'WAOrders@23-3'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input@23-3'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input@23-3' Linq101Partitioning01/'Pipe #2 input@23-3'::@_instance IL_000a: ret - } // end of method 'WAOrders@23-3'::.cctor + } // end of method 'Pipe #2 input@23-3'::.cctor - } // end of class 'WAOrders@23-3' + } // end of class 'Pipe #2 input@23-3' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname allButFirst4Numbers@29 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@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 ) @@ -591,17 +591,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::current + IL_0010: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method allButFirst4Numbers@29::.ctor + } // end of method 'Pipe #3 input@29'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -612,7 +612,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -639,18 +639,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc .line 29,29 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 29,29 : 9,28 '' @@ -659,10 +659,10 @@ .line 30,30 : 9,15 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -672,24 +672,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc .line 29,29 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method allButFirst4Numbers@29::GenerateNext + } // end of method 'Pipe #3 input@29'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -700,7 +700,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -716,7 +716,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -746,19 +746,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst4Numbers@29::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/allButFirst4Numbers@29::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current IL_0064: leave.s IL_0070 } // end .try @@ -787,7 +787,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method allButFirst4Numbers@29::Close + } // end of method 'Pipe #3 input@29'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -796,7 +796,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst4Numbers@29::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -830,7 +830,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method allButFirst4Numbers@29::get_CheckClose + } // end of method 'Pipe #3 input@29'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -840,9 +840,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst4Numbers@29::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current IL_0006: ret - } // end of method allButFirst4Numbers@29::get_LastGenerated + } // end of method 'Pipe #3 input@29'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -854,15 +854,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/allButFirst4Numbers@29::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #3 input@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method allButFirst4Numbers@29::GetFreshEnumerator + } // end of method 'Pipe #3 input@29'::GetFreshEnumerator - } // end of class allButFirst4Numbers@29 + } // end of class 'Pipe #3 input@29' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders2@37-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@37-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -882,12 +882,12 @@ 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 Linq101Partitioning01/'WAOrders2@37-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@37-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'WAOrders2@37-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input@37-1'::c IL_0014: ret - } // end of method 'WAOrders2@37-1'::.ctor + } // end of method 'Pipe #4 input@37-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -900,20 +900,20 @@ IL_0001: stloc.0 .line 38,38 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'WAOrders2@37-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@37-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'WAOrders2@37-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input@37-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'WAOrders2@37-1'::Invoke + } // end of method 'Pipe #4 input@37-1'::Invoke - } // end of class 'WAOrders2@37-1' + } // end of class 'Pipe #4 input@37-1' - .class auto ansi serializable sealed nested assembly beforefieldinit WAOrders2@36 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@36' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -931,9 +931,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders2@36::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ IL_000d: ret - } // end of method WAOrders2@36::.ctor + } // end of method 'Pipe #4 input@36'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -946,29 +946,29 @@ IL_0001: stloc.0 .line 37,37 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders2@36::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders2@36::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/WAOrders2@36::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Partitioning01/'WAOrders2@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Partitioning01/'Pipe #4 input@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 - } // end of method WAOrders2@36::Invoke + } // end of method 'Pipe #4 input@36'::Invoke - } // end of class WAOrders2@36 + } // end of class 'Pipe #4 input@36' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders2@38-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@38-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Partitioning01/'WAOrders2@38-2' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #4 input@38-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -979,7 +979,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'WAOrders2@38-2'::.ctor + } // end of method 'Pipe #4 input@38-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -1002,24 +1002,24 @@ IL_0019: call bool [netstandard]System.String::Equals(string, string) IL_001e: ret - } // end of method 'WAOrders2@38-2'::Invoke + } // end of method 'Pipe #4 input@38-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'WAOrders2@38-2'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'WAOrders2@38-2' Linq101Partitioning01/'WAOrders2@38-2'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input@38-2'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input@38-2' Linq101Partitioning01/'Pipe #4 input@38-2'::@_instance IL_000a: ret - } // end of method 'WAOrders2@38-2'::.cctor + } // end of method 'Pipe #4 input@38-2'::.cctor - } // end of class 'WAOrders2@38-2' + } // end of class 'Pipe #4 input@38-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'WAOrders2@39-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Partitioning01/'WAOrders2@39-3' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #4 input@39-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1030,7 +1030,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'WAOrders2@39-3'::.ctor + } // end of method 'Pipe #4 input@39-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -1057,21 +1057,21 @@ !1, !2) IL_0025: ret - } // end of method 'WAOrders2@39-3'::Invoke + } // end of method 'Pipe #4 input@39-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'WAOrders2@39-3'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'WAOrders2@39-3' Linq101Partitioning01/'WAOrders2@39-3'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input@39-3'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input@39-3' Linq101Partitioning01/'Pipe #4 input@39-3'::@_instance IL_000a: ret - } // end of method 'WAOrders2@39-3'::.cctor + } // end of method 'Pipe #4 input@39-3'::.cctor - } // end of class 'WAOrders2@39-3' + } // end of class 'Pipe #4 input@39-3' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname firstNumbersLessThan6@45 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@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 ) @@ -1096,17 +1096,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::current + IL_0010: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method firstNumbersLessThan6@45::.ctor + } // end of method 'Pipe #5 input@45'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1117,7 +1117,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1144,18 +1144,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc .line 45,45 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 45,45 : 9,28 '' @@ -1164,10 +1164,10 @@ .line 46,46 : 9,26 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1177,24 +1177,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc .line 45,45 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method firstNumbersLessThan6@45::GenerateNext + } // end of method 'Pipe #5 input@45'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1205,7 +1205,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1221,7 +1221,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1251,19 +1251,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/firstNumbersLessThan6@45::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current IL_0064: leave.s IL_0070 } // end .try @@ -1292,7 +1292,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method firstNumbersLessThan6@45::Close + } // end of method 'Pipe #5 input@45'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1301,7 +1301,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1335,7 +1335,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method firstNumbersLessThan6@45::get_CheckClose + } // end of method 'Pipe #5 input@45'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -1345,9 +1345,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/firstNumbersLessThan6@45::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current IL_0006: ret - } // end of method firstNumbersLessThan6@45::get_LastGenerated + } // end of method 'Pipe #5 input@45'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1359,18 +1359,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/firstNumbersLessThan6@45::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #5 input@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method firstNumbersLessThan6@45::GetFreshEnumerator + } // end of method 'Pipe #5 input@45'::GetFreshEnumerator - } // end of class firstNumbersLessThan6@45 + } // end of class 'Pipe #5 input@45' - .class auto ansi serializable sealed nested assembly beforefieldinit 'firstNumbersLessThan6@46-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@46-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Partitioning01/'firstNumbersLessThan6@46-1' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #5 input@46-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1381,7 +1381,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'firstNumbersLessThan6@46-1'::.ctor + } // end of method 'Pipe #5 input@46-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -1393,21 +1393,21 @@ IL_0001: ldc.i4.6 IL_0002: clt IL_0004: ret - } // end of method 'firstNumbersLessThan6@46-1'::Invoke + } // end of method 'Pipe #5 input@46-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'firstNumbersLessThan6@46-1'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'firstNumbersLessThan6@46-1' Linq101Partitioning01/'firstNumbersLessThan6@46-1'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #5 input@46-1'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #5 input@46-1' Linq101Partitioning01/'Pipe #5 input@46-1'::@_instance IL_000a: ret - } // end of method 'firstNumbersLessThan6@46-1'::.cctor + } // end of method 'Pipe #5 input@46-1'::.cctor - } // end of class 'firstNumbersLessThan6@46-1' + } // end of class 'Pipe #5 input@46-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname allButFirst3Numbers@52 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input@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 ) @@ -1432,17 +1432,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::current + IL_0010: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method allButFirst3Numbers@52::.ctor + } // end of method 'Pipe #6 input@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1453,7 +1453,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1480,18 +1480,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc .line 52,52 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 52,52 : 9,28 '' @@ -1500,10 +1500,10 @@ .line 53,53 : 9,31 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1513,24 +1513,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc .line 52,52 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method allButFirst3Numbers@52::GenerateNext + } // end of method 'Pipe #6 input@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1541,7 +1541,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1557,7 +1557,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1587,19 +1587,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/allButFirst3Numbers@52::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/allButFirst3Numbers@52::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -1628,7 +1628,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method allButFirst3Numbers@52::Close + } // end of method 'Pipe #6 input@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1637,7 +1637,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst3Numbers@52::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1671,7 +1671,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method allButFirst3Numbers@52::get_CheckClose + } // end of method 'Pipe #6 input@52'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -1681,9 +1681,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/allButFirst3Numbers@52::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current IL_0006: ret - } // end of method allButFirst3Numbers@52::get_LastGenerated + } // end of method 'Pipe #6 input@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1695,18 +1695,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/allButFirst3Numbers@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #6 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method allButFirst3Numbers@52::GetFreshEnumerator + } // end of method 'Pipe #6 input@52'::GetFreshEnumerator - } // end of class allButFirst3Numbers@52 + } // end of class 'Pipe #6 input@52' - .class auto ansi serializable sealed nested assembly beforefieldinit 'allButFirst3Numbers@53-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@53-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Partitioning01/'allButFirst3Numbers@53-1' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #6 input@53-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1717,7 +1717,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'allButFirst3Numbers@53-1'::.ctor + } // end of method 'Pipe #6 input@53-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -1733,19 +1733,19 @@ IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret - } // end of method 'allButFirst3Numbers@53-1'::Invoke + } // end of method 'Pipe #6 input@53-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'allButFirst3Numbers@53-1'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'allButFirst3Numbers@53-1' Linq101Partitioning01/'allButFirst3Numbers@53-1'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #6 input@53-1'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #6 input@53-1' Linq101Partitioning01/'Pipe #6 input@53-1'::@_instance IL_000a: ret - } // end of method 'allButFirst3Numbers@53-1'::.cctor + } // end of method 'Pipe #6 input@53-1'::.cctor - } // end of class 'allButFirst3Numbers@53-1' + } // end of class 'Pipe #6 input@53-1' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed @@ -1895,7 +1895,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 432 (0x1b0) + // Code size 466 (0x1d2) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 first3Numbers, @@ -1905,12 +1905,19 @@ [5] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2, [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers, - [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + [8] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, - [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, - [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13) + [12] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13, + [14] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [15] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_15, + [16] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 stage #1', + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input', + [18] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, + [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', + [20] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20) .line 7,7 : 1,47 '' IL_0000: ldc.i4.5 IL_0001: ldc.i4.4 @@ -1947,138 +1954,171 @@ IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::numbers@7 IL_0048: stloc.0 .line 10,14 : 1,20 '' - IL_0049: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_004e: stloc.s V_8 - IL_0050: ldloc.s V_8 - IL_0052: ldnull - IL_0053: ldc.i4.0 + IL_0049: nop + .line 11,11 : 5,10 '' + IL_004a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004f: stloc.s V_9 + IL_0051: ldloc.s V_9 + IL_0053: ldnull IL_0054: ldc.i4.0 - IL_0055: newobj instance void Linq101Partitioning01/first3Numbers@12::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_005a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_005f: ldc.i4.3 - IL_0060: 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, + IL_0055: ldc.i4.0 + IL_0056: newobj instance void Linq101Partitioning01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_005b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0060: ldc.i4.3 + IL_0061: 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_0065: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_006f: dup - IL_0070: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::first3Numbers@10 - IL_0075: stloc.1 + IL_0066: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_006b: stloc.s 'Pipe #1 input' + .line 14,14 : 10,20 '' + IL_006d: ldloc.s 'Pipe #1 input' + IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0074: dup + IL_0075: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::first3Numbers@10 + IL_007a: stloc.1 .line 17,17 : 1,34 '' - IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_007b: dup - IL_007c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::customers@17 - IL_0081: stloc.2 + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0080: dup + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::customers@17 + IL_0086: stloc.2 .line 18,24 : 1,21 '' - IL_0082: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0087: stloc.s V_9 - IL_0089: ldloc.s V_9 - IL_008b: ldloc.s V_9 - IL_008d: ldloc.s V_9 - IL_008f: ldloc.s V_9 - IL_0091: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() - IL_0096: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_009b: ldloc.s V_9 - IL_009d: newobj instance void Linq101Partitioning01/WAOrders@20::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00a2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0087: nop + .line 19,19 : 5,10 '' + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_008d: stloc.s V_11 + IL_008f: ldloc.s V_11 + IL_0091: ldloc.s V_11 + IL_0093: ldloc.s V_11 + IL_0095: ldloc.s V_11 + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() + IL_009c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a1: ldloc.s V_11 + IL_00a3: newobj instance void Linq101Partitioning01/'Pipe #2 input@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00a8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_00a7: ldsfld class Linq101Partitioning01/'WAOrders@22-2' Linq101Partitioning01/'WAOrders@22-2'::@_instance - IL_00ac: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00ad: ldsfld class Linq101Partitioning01/'Pipe #2 input@22-2' Linq101Partitioning01/'Pipe #2 input@22-2'::@_instance + IL_00b2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00b1: ldsfld class Linq101Partitioning01/'WAOrders@23-3' Linq101Partitioning01/'WAOrders@23-3'::@_instance - IL_00b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00b7: ldsfld class Linq101Partitioning01/'Pipe #2 input@23-3' Linq101Partitioning01/'Pipe #2 input@23-3'::@_instance + IL_00bc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00bb: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_00c0: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00c5: dup - IL_00c6: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Partitioning01::WAOrders@18 - IL_00cb: stloc.3 + IL_00c1: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_00c6: stloc.s 'Pipe #2 input' + .line 24,24 : 10,21 '' + IL_00c8: ldloc.s 'Pipe #2 input' + IL_00ca: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00cf: dup + IL_00d0: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Partitioning01::WAOrders@18 + IL_00d5: stloc.3 .line 27,31 : 1,20 '' - IL_00cc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00d1: stloc.s V_10 - IL_00d3: ldloc.s V_10 - IL_00d5: ldnull - IL_00d6: ldc.i4.0 - IL_00d7: ldc.i4.0 - IL_00d8: newobj instance void Linq101Partitioning01/allButFirst4Numbers@29::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_00dd: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00e2: ldc.i4.4 - IL_00e3: 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, + IL_00d6: nop + .line 28,28 : 5,10 '' + IL_00d7: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00dc: stloc.s V_13 + IL_00de: ldloc.s V_13 + IL_00e0: ldnull + IL_00e1: ldc.i4.0 + IL_00e2: ldc.i4.0 + IL_00e3: newobj instance void Linq101Partitioning01/'Pipe #3 input@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00e8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ed: ldc.i4.4 + IL_00ee: 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_00e8: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00ed: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00f2: dup - IL_00f3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst4Numbers@27 - IL_00f8: stloc.s allButFirst4Numbers + IL_00f3: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00f8: stloc.s 'Pipe #3 input' + .line 31,31 : 10,20 '' + IL_00fa: ldloc.s 'Pipe #3 input' + IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0101: dup + IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst4Numbers@27 + IL_0107: stloc.s allButFirst4Numbers .line 34,40 : 1,34 '' - IL_00fa: ldc.i4.2 - IL_00fb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0100: stloc.s V_11 - IL_0102: ldloc.s V_11 - IL_0104: ldloc.s V_11 - IL_0106: ldloc.s V_11 - IL_0108: ldloc.s V_11 - IL_010a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() - IL_010f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0114: ldloc.s V_11 - IL_0116: newobj instance void Linq101Partitioning01/WAOrders2@36::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_011b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0109: nop + .line 35,35 : 5,10 '' + IL_010a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_010f: stloc.s V_15 + IL_0111: ldloc.s V_15 + IL_0113: ldloc.s V_15 + IL_0115: ldloc.s V_15 + IL_0117: ldloc.s V_15 + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() + IL_011e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0123: ldloc.s V_15 + IL_0125: newobj instance void Linq101Partitioning01/'Pipe #4 input@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_012a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0120: ldsfld class Linq101Partitioning01/'WAOrders2@38-2' Linq101Partitioning01/'WAOrders2@38-2'::@_instance - IL_0125: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_012f: ldsfld class Linq101Partitioning01/'Pipe #4 input@38-2' Linq101Partitioning01/'Pipe #4 input@38-2'::@_instance + IL_0134: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_012a: ldsfld class Linq101Partitioning01/'WAOrders2@39-3' Linq101Partitioning01/'WAOrders2@39-3'::@_instance - IL_012f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0139: ldsfld class Linq101Partitioning01/'Pipe #4 input@39-3' Linq101Partitioning01/'Pipe #4 input@39-3'::@_instance + IL_013e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0134: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0139: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, + IL_0143: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0148: stloc.s 'Pipe #4 input' + .line 40,40 : 10,20 '' + IL_014a: ldc.i4.2 + IL_014b: ldloc.s 'Pipe #4 input' + IL_014d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_013e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0143: dup - IL_0144: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Partitioning01::WAOrders2@34 - IL_0149: stloc.s WAOrders2 + IL_0152: stloc.s 'Pipe #4 stage #1' + .line 40,40 : 24,34 '' + IL_0154: ldloc.s 'Pipe #4 stage #1' + IL_0156: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_015b: dup + IL_015c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Partitioning01::WAOrders2@34 + IL_0161: stloc.s WAOrders2 .line 43,47 : 1,20 '' - IL_014b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0150: stloc.s V_12 - IL_0152: ldloc.s V_12 - IL_0154: ldnull - IL_0155: ldc.i4.0 - IL_0156: ldc.i4.0 - IL_0157: newobj instance void Linq101Partitioning01/firstNumbersLessThan6@45::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_015c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0161: ldsfld class Linq101Partitioning01/'firstNumbersLessThan6@46-1' Linq101Partitioning01/'firstNumbersLessThan6@46-1'::@_instance - IL_0166: 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, + IL_0163: nop + .line 44,44 : 5,10 '' + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0169: stloc.s V_18 + IL_016b: ldloc.s V_18 + IL_016d: ldnull + IL_016e: ldc.i4.0 + IL_016f: ldc.i4.0 + IL_0170: newobj instance void Linq101Partitioning01/'Pipe #5 input@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0175: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_017a: ldsfld class Linq101Partitioning01/'Pipe #5 input@46-1' Linq101Partitioning01/'Pipe #5 input@46-1'::@_instance + IL_017f: 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_016b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0170: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0175: dup - IL_0176: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::firstNumbersLessThan6@43 - IL_017b: stloc.s firstNumbersLessThan6 + IL_0184: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0189: stloc.s 'Pipe #5 input' + .line 47,47 : 10,20 '' + IL_018b: ldloc.s 'Pipe #5 input' + IL_018d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0192: dup + IL_0193: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::firstNumbersLessThan6@43 + IL_0198: stloc.s firstNumbersLessThan6 .line 50,54 : 1,20 '' - IL_017d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0182: stloc.s V_13 - IL_0184: ldloc.s V_13 - IL_0186: ldnull - IL_0187: ldc.i4.0 - IL_0188: ldc.i4.0 - IL_0189: newobj instance void Linq101Partitioning01/allButFirst3Numbers@52::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_018e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0193: ldsfld class Linq101Partitioning01/'allButFirst3Numbers@53-1' Linq101Partitioning01/'allButFirst3Numbers@53-1'::@_instance - IL_0198: 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, + IL_019a: nop + .line 51,51 : 5,10 '' + IL_019b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01a0: stloc.s V_20 + IL_01a2: ldloc.s V_20 + IL_01a4: ldnull + IL_01a5: ldc.i4.0 + IL_01a6: ldc.i4.0 + IL_01a7: newobj instance void Linq101Partitioning01/'Pipe #6 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_01ac: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b1: ldsfld class Linq101Partitioning01/'Pipe #6 input@53-1' Linq101Partitioning01/'Pipe #6 input@53-1'::@_instance + IL_01b6: 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_019d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01a2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01a7: dup - IL_01a8: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst3Numbers@50 - IL_01ad: stloc.s allButFirst3Numbers - IL_01af: ret + IL_01bb: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01c0: stloc.s 'Pipe #6 input' + .line 54,54 : 10,20 '' + IL_01c2: ldloc.s 'Pipe #6 input' + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01c9: dup + IL_01ca: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst3Numbers@50 + IL_01cf: stloc.s allButFirst3Numbers + IL_01d1: ret } // end of method $Linq101Partitioning01::main@ } // end of class ''.$Linq101Partitioning01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl index de229a97c4..61aed52f07 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000398 Length: 0x000000FF } .module Linq101Quantifiers01.exe -// MVID: {60BD414C-76DD-E373-A745-03834C41BD60} +// MVID: {6116A45B-76DD-E373-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07320000 +// Image base: 0x06310000 // =============== CLASS MEMBERS DECLARATION =================== @@ -397,7 +397,7 @@ } // end of class 'iAfterE@13-1' - .class auto ansi serializable sealed nested assembly beforefieldinit productGroups@21 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@21' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -415,9 +415,9 @@ 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 Linq101Quantifiers01/productGroups@21::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@21'::builder@ IL_000d: ret - } // end of method productGroups@21::.ctor + } // end of method 'Pipe #1 input@21'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -430,19 +430,19 @@ IL_0001: stloc.0 .line 22,22 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/productGroups@21::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@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 - } // end of method productGroups@21::Invoke + } // end of method 'Pipe #1 input@21'::Invoke - } // end of class productGroups@21 + } // end of class 'Pipe #1 input@21' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups@22-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@22-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Quantifiers01/'productGroups@22-1' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -453,7 +453,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'productGroups@22-1'::.ctor + } // end of method 'Pipe #1 input@22-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -463,24 +463,24 @@ .line 22,22 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'productGroups@22-1'::Invoke + } // end of method 'Pipe #1 input@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups@22-1'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups@22-1' Linq101Quantifiers01/'productGroups@22-1'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-1'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@22-1' Linq101Quantifiers01/'Pipe #1 input@22-1'::@_instance IL_000a: ret - } // end of method 'productGroups@22-1'::.cctor + } // end of method 'Pipe #1 input@22-1'::.cctor - } // end of class 'productGroups@22-1' + } // end of class 'Pipe #1 input@22-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups@22-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@22-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Quantifiers01/'productGroups@22-2' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -491,7 +491,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'productGroups@22-2'::.ctor + } // end of method 'Pipe #1 input@22-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -503,21 +503,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'productGroups@22-2'::Invoke + } // end of method 'Pipe #1 input@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups@22-2'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups@22-2' Linq101Quantifiers01/'productGroups@22-2'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-2'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@22-2' Linq101Quantifiers01/'Pipe #1 input@22-2'::@_instance IL_000a: ret - } // end of method 'productGroups@22-2'::.cctor + } // end of method 'Pipe #1 input@22-2'::.cctor - } // end of class 'productGroups@22-2' + } // end of class 'Pipe #1 input@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups@22-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@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@ @@ -535,9 +535,9 @@ 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 Linq101Quantifiers01/'productGroups@22-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@22-3'::builder@ IL_000d: ret - } // end of method 'productGroups@22-3'::.ctor + } // end of method 'Pipe #1 input@22-3'::.ctor .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 @@ -549,16 +549,16 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'productGroups@22-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@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 - } // end of method 'productGroups@22-3'::Invoke + } // end of method 'Pipe #1 input@22-3'::Invoke - } // end of class 'productGroups@22-3' + } // end of class 'Pipe #1 input@22-3' - .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'productGroups@23-5' + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@23-5' extends [mscorlib]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 ) @@ -572,14 +572,14 @@ IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret - } // end of method 'productGroups@23-5'::Invoke + } // end of method 'Pipe #1 input@23-5'::Invoke - } // end of class 'productGroups@23-5' + } // end of class 'Pipe #1 input@23-5' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups@23-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@23-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Quantifiers01/'productGroups@23-4' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input@23-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -590,7 +590,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'productGroups@23-4'::.ctor + } // end of method 'Pipe #1 input@23-4'::.ctor .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -600,30 +600,30 @@ .line 23,23 : 16,50 '' IL_0000: ldarg.1 IL_0001: ldnull - IL_0002: ldftn bool Linq101Quantifiers01/'productGroups@23-5'::Invoke(class [Utils]Utils/Product) + IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #1 input@23-5'::Invoke(class [Utils]Utils/Product) IL_0008: newobj instance void class [mscorlib]System.Func`2::.ctor(object, native int) IL_000d: call bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1, class [mscorlib]System.Func`2) IL_0012: ret - } // end of method 'productGroups@23-4'::Invoke + } // end of method 'Pipe #1 input@23-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups@23-4'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups@23-4' Linq101Quantifiers01/'productGroups@23-4'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@23-4'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@23-4' Linq101Quantifiers01/'Pipe #1 input@23-4'::@_instance IL_000a: ret - } // end of method 'productGroups@23-4'::.cctor + } // end of method 'Pipe #1 input@23-4'::.cctor - } // end of class 'productGroups@23-4' + } // end of class 'Pipe #1 input@23-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups@24-6' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@24-6' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Quantifiers01/'productGroups@24-6' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input@24-6' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -634,7 +634,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'productGroups@24-6'::.ctor + } // end of method 'Pipe #1 input@24-6'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -648,19 +648,19 @@ IL_0007: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_000c: ret - } // end of method 'productGroups@24-6'::Invoke + } // end of method 'Pipe #1 input@24-6'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups@24-6'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups@24-6' Linq101Quantifiers01/'productGroups@24-6'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@24-6'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@24-6' Linq101Quantifiers01/'Pipe #1 input@24-6'::@_instance IL_000a: ret - } // end of method 'productGroups@24-6'::.cctor + } // end of method 'Pipe #1 input@24-6'::.cctor - } // end of class 'productGroups@24-6' + } // end of class 'Pipe #1 input@24-6' .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1000,7 +1000,7 @@ } // end of class 'onlyOdd@33-1' - .class auto ansi serializable sealed nested assembly beforefieldinit productGroups2@39 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@39' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1018,9 +1018,9 @@ 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 Linq101Quantifiers01/productGroups2@39::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@39'::builder@ IL_000d: ret - } // end of method productGroups2@39::.ctor + } // end of method 'Pipe #2 input@39'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1033,19 +1033,19 @@ IL_0001: stloc.0 .line 40,40 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/productGroups2@39::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@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 - } // end of method productGroups2@39::Invoke + } // end of method 'Pipe #2 input@39'::Invoke - } // end of class productGroups2@39 + } // end of class 'Pipe #2 input@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups2@40-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Quantifiers01/'productGroups2@40-1' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input@40-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1056,7 +1056,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'productGroups2@40-1'::.ctor + } // end of method 'Pipe #2 input@40-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1066,24 +1066,24 @@ .line 40,40 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'productGroups2@40-1'::Invoke + } // end of method 'Pipe #2 input@40-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups2@40-1'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups2@40-1' Linq101Quantifiers01/'productGroups2@40-1'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-1'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@40-1' Linq101Quantifiers01/'Pipe #2 input@40-1'::@_instance IL_000a: ret - } // end of method 'productGroups2@40-1'::.cctor + } // end of method 'Pipe #2 input@40-1'::.cctor - } // end of class 'productGroups2@40-1' + } // end of class 'Pipe #2 input@40-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups2@40-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Quantifiers01/'productGroups2@40-2' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input@40-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1094,7 +1094,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'productGroups2@40-2'::.ctor + } // end of method 'Pipe #2 input@40-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1106,21 +1106,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'productGroups2@40-2'::Invoke + } // end of method 'Pipe #2 input@40-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups2@40-2'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups2@40-2' Linq101Quantifiers01/'productGroups2@40-2'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-2'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@40-2' Linq101Quantifiers01/'Pipe #2 input@40-2'::@_instance IL_000a: ret - } // end of method 'productGroups2@40-2'::.cctor + } // end of method 'Pipe #2 input@40-2'::.cctor - } // end of class 'productGroups2@40-2' + } // end of class 'Pipe #2 input@40-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups2@40-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@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@ @@ -1138,9 +1138,9 @@ 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 Linq101Quantifiers01/'productGroups2@40-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@40-3'::builder@ IL_000d: ret - } // end of method 'productGroups2@40-3'::.ctor + } // end of method 'Pipe #2 input@40-3'::.ctor .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 @@ -1152,16 +1152,16 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'productGroups2@40-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@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 - } // end of method 'productGroups2@40-3'::Invoke + } // end of method 'Pipe #2 input@40-3'::Invoke - } // end of class 'productGroups2@40-3' + } // end of class 'Pipe #2 input@40-3' - .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'productGroups2@41-5' + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@41-5' extends [mscorlib]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 ) @@ -1175,14 +1175,14 @@ IL_0006: ldc.i4.0 IL_0007: cgt IL_0009: ret - } // end of method 'productGroups2@41-5'::Invoke + } // end of method 'Pipe #2 input@41-5'::Invoke - } // end of class 'productGroups2@41-5' + } // end of class 'Pipe #2 input@41-5' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups2@41-4' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@41-4' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Quantifiers01/'productGroups2@41-4' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input@41-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1193,7 +1193,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'productGroups2@41-4'::.ctor + } // end of method 'Pipe #2 input@41-4'::.ctor .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -1203,30 +1203,30 @@ .line 41,41 : 16,50 '' IL_0000: ldarg.1 IL_0001: ldnull - IL_0002: ldftn bool Linq101Quantifiers01/'productGroups2@41-5'::Invoke(class [Utils]Utils/Product) + IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #2 input@41-5'::Invoke(class [Utils]Utils/Product) IL_0008: newobj instance void class [mscorlib]System.Func`2::.ctor(object, native int) IL_000d: call bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, class [mscorlib]System.Func`2) IL_0012: ret - } // end of method 'productGroups2@41-4'::Invoke + } // end of method 'Pipe #2 input@41-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups2@41-4'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups2@41-4' Linq101Quantifiers01/'productGroups2@41-4'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@41-4'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@41-4' Linq101Quantifiers01/'Pipe #2 input@41-4'::@_instance IL_000a: ret - } // end of method 'productGroups2@41-4'::.cctor + } // end of method 'Pipe #2 input@41-4'::.cctor - } // end of class 'productGroups2@41-4' + } // end of class 'Pipe #2 input@41-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productGroups2@42-6' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@42-6' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Quantifiers01/'productGroups2@42-6' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input@42-6' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1237,7 +1237,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'productGroups2@42-6'::.ctor + } // end of method 'Pipe #2 input@42-6'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -1251,19 +1251,19 @@ IL_0007: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_000c: ret - } // end of method 'productGroups2@42-6'::Invoke + } // end of method 'Pipe #2 input@42-6'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'productGroups2@42-6'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'productGroups2@42-6' Linq101Quantifiers01/'productGroups2@42-6'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@42-6'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@42-6' Linq101Quantifiers01/'Pipe #2 input@42-6'::@_instance IL_000a: ret - } // end of method 'productGroups2@42-6'::.cctor + } // end of method 'Pipe #2 input@42-6'::.cctor - } // end of class 'productGroups2@42-6' + } // end of class 'Pipe #2 input@42-6' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed @@ -1394,7 +1394,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 407 (0x197) + // Code size 417 (0x1a1) .maxstack 10 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words, [1] bool iAfterE, @@ -1403,8 +1403,10 @@ [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [5] bool onlyOdd, [6] class [mscorlib]System.Tuple`2>[] productGroups2, - [7] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, - [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8) + [7] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #1 input', + [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input', + [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10) .line 8,8 : 1,54 '' IL_0000: ldstr "believe" IL_0005: ldstr "relief" @@ -1442,51 +1444,54 @@ IL_005d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Quantifiers01::products@17 IL_0062: stloc.2 .line 19,25 : 1,21 '' - IL_0063: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0068: stloc.s V_7 - IL_006a: ldloc.s V_7 - IL_006c: ldloc.s V_7 - IL_006e: ldloc.s V_7 - IL_0070: ldloc.s V_7 - IL_0072: ldloc.s V_7 - IL_0074: ldloc.s V_7 - IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() - IL_007b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0080: ldloc.s V_7 - IL_0082: newobj instance void Linq101Quantifiers01/productGroups@21::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0087: 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, + IL_0063: nop + .line 20,20 : 5,10 '' + IL_0064: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0069: stloc.s V_8 + IL_006b: ldloc.s V_8 + IL_006d: ldloc.s V_8 + IL_006f: ldloc.s V_8 + IL_0071: ldloc.s V_8 + IL_0073: ldloc.s V_8 + IL_0075: ldloc.s V_8 + IL_0077: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() + IL_007c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0081: ldloc.s V_8 + IL_0083: newobj instance void Linq101Quantifiers01/'Pipe #1 input@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0088: 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_008c: ldsfld class Linq101Quantifiers01/'productGroups@22-1' Linq101Quantifiers01/'productGroups@22-1'::@_instance - IL_0091: ldsfld class Linq101Quantifiers01/'productGroups@22-2' Linq101Quantifiers01/'productGroups@22-2'::@_instance - IL_0096: 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, + IL_008d: ldsfld class Linq101Quantifiers01/'Pipe #1 input@22-1' Linq101Quantifiers01/'Pipe #1 input@22-1'::@_instance + IL_0092: ldsfld class Linq101Quantifiers01/'Pipe #1 input@22-2' Linq101Quantifiers01/'Pipe #1 input@22-2'::@_instance + IL_0097: 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_009b: ldloc.s V_7 - IL_009d: newobj instance void Linq101Quantifiers01/'productGroups@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00a2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_009c: ldloc.s V_8 + IL_009e: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00a3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_00a7: ldsfld class Linq101Quantifiers01/'productGroups@23-4' Linq101Quantifiers01/'productGroups@23-4'::@_instance - IL_00ac: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00a8: ldsfld class Linq101Quantifiers01/'Pipe #1 input@23-4' Linq101Quantifiers01/'Pipe #1 input@23-4'::@_instance + IL_00ad: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00b1: ldsfld class Linq101Quantifiers01/'productGroups@24-6' Linq101Quantifiers01/'productGroups@24-6'::@_instance - IL_00b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_00b2: ldsfld class Linq101Quantifiers01/'Pipe #1 input@24-6' Linq101Quantifiers01/'Pipe #1 input@24-6'::@_instance + IL_00b7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00bb: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_00c0: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00c5: dup - IL_00c6: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups@19 - IL_00cb: stloc.3 + IL_00bc: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_00c1: stloc.s 'Pipe #1 input' + .line 25,25 : 10,21 '' + IL_00c3: ldloc.s 'Pipe #1 input' + IL_00c5: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ca: dup + IL_00cb: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups@19 + IL_00d0: stloc.3 .line 28,28 : 1,35 '' - IL_00cc: ldc.i4.1 - IL_00cd: ldc.i4.s 11 - IL_00cf: ldc.i4.3 - IL_00d0: ldc.i4.s 19 - IL_00d2: ldc.i4.s 41 - IL_00d4: ldc.i4.s 65 - IL_00d6: ldc.i4.s 19 - IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - 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_00d1: ldc.i4.1 + IL_00d2: ldc.i4.s 11 + IL_00d4: ldc.i4.3 + IL_00d5: ldc.i4.s 19 + IL_00d7: ldc.i4.s 41 + IL_00d9: ldc.i4.s 65 + IL_00db: ldc.i4.s 19 + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() 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, @@ -1499,59 +1504,66 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_00fb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0100: dup - IL_0101: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Quantifiers01::numbers@28 - IL_0106: stloc.s numbers - IL_0108: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_010d: ldnull - IL_010e: ldc.i4.0 - IL_010f: ldc.i4.0 - IL_0110: newobj instance void Linq101Quantifiers01/onlyOdd@32::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0100: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0105: dup + IL_0106: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Quantifiers01::numbers@28 + IL_010b: stloc.s numbers + IL_010d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0112: ldnull + IL_0113: ldc.i4.0 + IL_0114: ldc.i4.0 + IL_0115: newobj instance void Linq101Quantifiers01/onlyOdd@32::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, int32) - IL_0115: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_011a: ldsfld class Linq101Quantifiers01/'onlyOdd@33-1' Linq101Quantifiers01/'onlyOdd@33-1'::@_instance - IL_011f: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::All(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_011a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_011f: ldsfld class Linq101Quantifiers01/'onlyOdd@33-1' Linq101Quantifiers01/'onlyOdd@33-1'::@_instance + IL_0124: 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_0124: dup - IL_0125: stsfld bool ''.$Linq101Quantifiers01::onlyOdd@30 - IL_012a: stloc.s onlyOdd + IL_0129: dup + IL_012a: stsfld bool ''.$Linq101Quantifiers01::onlyOdd@30 + IL_012f: stloc.s onlyOdd .line 37,43 : 1,21 '' - IL_012c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0131: stloc.s V_8 - IL_0133: ldloc.s V_8 - IL_0135: ldloc.s V_8 - IL_0137: ldloc.s V_8 - IL_0139: ldloc.s V_8 - IL_013b: ldloc.s V_8 - IL_013d: ldloc.s V_8 - IL_013f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() - IL_0144: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0149: ldloc.s V_8 - IL_014b: newobj instance void Linq101Quantifiers01/productGroups2@39::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0150: 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, + IL_0131: nop + .line 38,38 : 5,10 '' + IL_0132: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0137: stloc.s V_10 + IL_0139: ldloc.s V_10 + IL_013b: ldloc.s V_10 + IL_013d: ldloc.s V_10 + IL_013f: ldloc.s V_10 + IL_0141: ldloc.s V_10 + IL_0143: ldloc.s V_10 + IL_0145: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() + IL_014a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_014f: ldloc.s V_10 + IL_0151: newobj instance void Linq101Quantifiers01/'Pipe #2 input@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0156: 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_0155: ldsfld class Linq101Quantifiers01/'productGroups2@40-1' Linq101Quantifiers01/'productGroups2@40-1'::@_instance - IL_015a: ldsfld class Linq101Quantifiers01/'productGroups2@40-2' Linq101Quantifiers01/'productGroups2@40-2'::@_instance - IL_015f: 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, + IL_015b: ldsfld class Linq101Quantifiers01/'Pipe #2 input@40-1' Linq101Quantifiers01/'Pipe #2 input@40-1'::@_instance + IL_0160: ldsfld class Linq101Quantifiers01/'Pipe #2 input@40-2' Linq101Quantifiers01/'Pipe #2 input@40-2'::@_instance + IL_0165: 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_0164: ldloc.s V_8 - IL_0166: newobj instance void Linq101Quantifiers01/'productGroups2@40-3'::.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 [mscorlib]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_016a: ldloc.s V_10 + IL_016c: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0171: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_0170: ldsfld class Linq101Quantifiers01/'productGroups2@41-4' Linq101Quantifiers01/'productGroups2@41-4'::@_instance - IL_0175: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0176: ldsfld class Linq101Quantifiers01/'Pipe #2 input@41-4' Linq101Quantifiers01/'Pipe #2 input@41-4'::@_instance + IL_017b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_017a: ldsfld class Linq101Quantifiers01/'productGroups2@42-6' Linq101Quantifiers01/'productGroups2@42-6'::@_instance - IL_017f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0180: ldsfld class Linq101Quantifiers01/'Pipe #2 input@42-6' Linq101Quantifiers01/'Pipe #2 input@42-6'::@_instance + IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0184: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0189: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_018e: dup - IL_018f: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups2@37 - IL_0194: stloc.s productGroups2 - IL_0196: ret + IL_018a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_018f: stloc.s 'Pipe #2 input' + .line 43,43 : 10,21 '' + IL_0191: ldloc.s 'Pipe #2 input' + IL_0193: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0198: dup + IL_0199: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups2@37 + IL_019e: stloc.s productGroups2 + IL_01a0: ret } // end of method $Linq101Quantifiers01::main@ } // end of class ''.$Linq101Quantifiers01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl index 719b62b9b9..2ee07c29ee 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000648 Length: 0x00000204 } .module Linq101Select01.exe -// MVID: {60BD414C-6057-8F80-A745-03834C41BD60} +// MVID: {6116A45B-6057-8F80-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DA0000 +// Image base: 0x068F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,10 +60,10 @@ extends [mscorlib]System.Object { .custom instance 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 'numsPlusOne@12-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@12-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Select01/'numsPlusOne@12-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #1 input@12-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -74,7 +74,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'numsPlusOne@12-1'::.ctor + } // end of method 'Pipe #1 input@12-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -91,21 +91,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'numsPlusOne@12-1'::Invoke + } // end of method 'Pipe #1 input@12-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'numsPlusOne@12-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'numsPlusOne@12-1' Linq101Select01/'numsPlusOne@12-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #1 input@12-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #1 input@12-1' Linq101Select01/'Pipe #1 input@12-1'::@_instance IL_000a: ret - } // end of method 'numsPlusOne@12-1'::.cctor + } // end of method 'Pipe #1 input@12-1'::.cctor - } // end of class 'numsPlusOne@12-1' + } // end of class 'Pipe #1 input@12-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname numsPlusOne@13 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@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 ) @@ -130,17 +130,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Select01/numsPlusOne@13::current + IL_0010: stfld int32 Linq101Select01/'Pipe #1 input@13'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method numsPlusOne@13::.ctor + } // end of method 'Pipe #1 input@13'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -150,7 +150,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -175,34 +175,34 @@ IL_0024: nop .line 13,13 : 9,23 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Select01/'numsPlusOne@12-1' Linq101Select01/'numsPlusOne@12-1'::@_instance + IL_0026: ldsfld class Linq101Select01/'Pipe #1 input@12-1' Linq101Select01/'Pipe #1 input@12-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0041: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc .line 13,13 : 9,23 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0074 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 13,13 : 17,22 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0061: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 IL_0068: ldc.i4.1 IL_0069: add - IL_006a: stfld int32 Linq101Select01/numsPlusOne@13::current + IL_006a: stfld int32 Linq101Select01/'Pipe #1 input@13'::current IL_006f: ldc.i4.1 IL_0070: ret @@ -212,24 +212,24 @@ IL_0074: ldarg.0 IL_0075: ldc.i4.3 - IL_0076: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0076: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc .line 13,13 : 9,23 '' IL_007b: ldarg.0 - IL_007c: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_007c: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_0081: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0086: nop IL_0087: ldarg.0 IL_0088: ldnull - IL_0089: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_0089: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_008e: ldarg.0 IL_008f: ldc.i4.3 - IL_0090: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0090: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0095: ldarg.0 IL_0096: ldc.i4.0 - IL_0097: stfld int32 Linq101Select01/numsPlusOne@13::current + IL_0097: stfld int32 Linq101Select01/'Pipe #1 input@13'::current IL_009c: ldc.i4.0 IL_009d: ret - } // end of method numsPlusOne@13::GenerateNext + } // end of method 'Pipe #1 input@13'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -240,7 +240,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -256,7 +256,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -286,19 +286,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/numsPlusOne@13::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Select01/numsPlusOne@13::current + IL_005f: stfld int32 Linq101Select01/'Pipe #1 input@13'::current IL_0064: leave.s IL_0070 } // end .try @@ -327,7 +327,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method numsPlusOne@13::Close + } // end of method 'Pipe #1 input@13'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -336,7 +336,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/numsPlusOne@13::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -370,7 +370,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method numsPlusOne@13::get_CheckClose + } // end of method 'Pipe #1 input@13'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -380,9 +380,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/numsPlusOne@13::current + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::current IL_0006: ret - } // end of method numsPlusOne@13::get_LastGenerated + } // end of method 'Pipe #1 input@13'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -394,13 +394,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Select01/numsPlusOne@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Select01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method numsPlusOne@13::GetFreshEnumerator + } // end of method 'Pipe #1 input@13'::GetFreshEnumerator - } // end of class numsPlusOne@13 + } // end of class 'Pipe #1 input@13' .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -742,10 +742,10 @@ } // end of class productNames@22 - .class auto ansi serializable sealed nested assembly beforefieldinit 'textNums@29-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@29-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Select01/'textNums@29-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #2 input@29-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -756,7 +756,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'textNums@29-1'::.ctor + } // end of method 'Pipe #2 input@29-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -772,21 +772,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'textNums@29-1'::Invoke + } // end of method 'Pipe #2 input@29-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'textNums@29-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'textNums@29-1' Linq101Select01/'textNums@29-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #2 input@29-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #2 input@29-1' Linq101Select01/'Pipe #2 input@29-1'::@_instance IL_000a: ret - } // end of method 'textNums@29-1'::.cctor + } // end of method 'Pipe #2 input@29-1'::.cctor - } // end of class 'textNums@29-1' + } // end of class 'Pipe #2 input@29-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname textNums@30 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@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 ) @@ -811,17 +811,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/textNums@30::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Select01/textNums@30::current + IL_0010: stfld string Linq101Select01/'Pipe #2 input@30'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method textNums@30::.ctor + } // end of method 'Pipe #2 input@30'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -831,7 +831,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/textNums@30::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -856,34 +856,34 @@ IL_0024: nop .line 30,30 : 9,29 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Select01/'textNums@29-1' Linq101Select01/'textNums@29-1'::@_instance + IL_0026: ldsfld class Linq101Select01/'Pipe #2 input@29-1' Linq101Select01/'Pipe #2 input@29-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Select01/textNums@30::pc + IL_0041: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc .line 30,30 : 9,29 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_007c IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 30,30 : 17,28 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Select01/textNums@30::pc + IL_0061: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_0066: ldarg.0 IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() IL_006c: ldloc.0 IL_006d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) - IL_0072: stfld string Linq101Select01/textNums@30::current + IL_0072: stfld string Linq101Select01/'Pipe #2 input@30'::current IL_0077: ldc.i4.1 IL_0078: ret @@ -893,24 +893,24 @@ IL_007c: ldarg.0 IL_007d: ldc.i4.3 - IL_007e: stfld int32 Linq101Select01/textNums@30::pc + IL_007e: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc .line 30,30 : 9,29 '' IL_0083: ldarg.0 - IL_0084: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_0084: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_0091: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_0096: ldarg.0 IL_0097: ldc.i4.3 - IL_0098: stfld int32 Linq101Select01/textNums@30::pc + IL_0098: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_009d: ldarg.0 IL_009e: ldnull - IL_009f: stfld string Linq101Select01/textNums@30::current + IL_009f: stfld string Linq101Select01/'Pipe #2 input@30'::current IL_00a4: ldc.i4.0 IL_00a5: ret - } // end of method textNums@30::GenerateNext + } // end of method 'Pipe #2 input@30'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -921,7 +921,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/textNums@30::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -937,7 +937,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/textNums@30::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -967,19 +967,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/textNums@30::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/textNums@30::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/textNums@30::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Select01/textNums@30::current + IL_005f: stfld string Linq101Select01/'Pipe #2 input@30'::current IL_0064: leave.s IL_0070 } // end .try @@ -1008,7 +1008,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method textNums@30::Close + } // end of method 'Pipe #2 input@30'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1017,7 +1017,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/textNums@30::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1051,7 +1051,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method textNums@30::get_CheckClose + } // end of method 'Pipe #2 input@30'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -1061,9 +1061,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Select01/textNums@30::current + IL_0001: ldfld string Linq101Select01/'Pipe #2 input@30'::current IL_0006: ret - } // end of method textNums@30::get_LastGenerated + } // end of method 'Pipe #2 input@30'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1075,18 +1075,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/textNums@30::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Select01/'Pipe #2 input@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method textNums@30::GetFreshEnumerator + } // end of method 'Pipe #2 input@30'::GetFreshEnumerator - } // end of class textNums@30 + } // end of class 'Pipe #2 input@30' - .class auto ansi serializable sealed nested assembly beforefieldinit 'upperLowerWords@38-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@38-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Select01/'upperLowerWords@38-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #3 input@38-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1097,7 +1097,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'upperLowerWords@38-1'::.ctor + } // end of method 'Pipe #3 input@38-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed @@ -1113,21 +1113,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'upperLowerWords@38-1'::Invoke + } // end of method 'Pipe #3 input@38-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'upperLowerWords@38-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'upperLowerWords@38-1' Linq101Select01/'upperLowerWords@38-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #3 input@38-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #3 input@38-1' Linq101Select01/'Pipe #3 input@38-1'::@_instance IL_000a: ret - } // end of method 'upperLowerWords@38-1'::.cctor + } // end of method 'Pipe #3 input@38-1'::.cctor - } // end of class 'upperLowerWords@38-1' + } // end of class 'Pipe #3 input@38-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname upperLowerWords@39 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@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 ) @@ -1152,17 +1152,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/upperLowerWords@39::current + IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() IL_001b: ret - } // end of method upperLowerWords@39::.ctor + } // end of method 'Pipe #3 input@39'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1172,7 +1172,7 @@ .locals init ([0] string w) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1197,29 +1197,29 @@ IL_0027: nop .line 39,39 : 8,41 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'upperLowerWords@38-1' Linq101Select01/'upperLowerWords@38-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #3 input@38-1' Linq101Select01/'Pipe #3 input@38-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_words() IL_0033: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc .line 39,39 : 8,41 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_0085 IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 39,39 : 16,40 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_0069: ldarg.0 IL_006a: ldloc.0 IL_006b: callvirt instance string [mscorlib]System.String::ToUpper() @@ -1227,7 +1227,7 @@ IL_0071: callvirt instance string [mscorlib]System.String::ToLower() IL_0076: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) - IL_007b: stfld class [mscorlib]System.Tuple`2 Linq101Select01/upperLowerWords@39::current + IL_007b: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current IL_0080: ldc.i4.1 IL_0081: ret @@ -1237,24 +1237,24 @@ IL_0085: ldarg.0 IL_0086: ldc.i4.3 - IL_0087: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0087: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc .line 39,39 : 8,41 '' IL_008c: ldarg.0 - IL_008d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_008d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_0092: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0097: nop IL_0098: ldarg.0 IL_0099: ldnull - IL_009a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_009a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_009f: ldarg.0 IL_00a0: ldc.i4.3 - IL_00a1: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_00a1: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_00a6: ldarg.0 IL_00a7: ldnull - IL_00a8: stfld class [mscorlib]System.Tuple`2 Linq101Select01/upperLowerWords@39::current + IL_00a8: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current IL_00ad: ldc.i4.0 IL_00ae: ret - } // end of method upperLowerWords@39::GenerateNext + } // end of method 'Pipe #3 input@39'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1265,7 +1265,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1281,7 +1281,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1311,19 +1311,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/upperLowerWords@39::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/upperLowerWords@39::current + IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current IL_0064: leave.s IL_0070 } // end .try @@ -1352,7 +1352,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method upperLowerWords@39::Close + } // end of method 'Pipe #3 input@39'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1361,7 +1361,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/upperLowerWords@39::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1395,7 +1395,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method upperLowerWords@39::get_CheckClose + } // end of method 'Pipe #3 input@39'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`2 get_LastGenerated() cil managed @@ -1405,9 +1405,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/upperLowerWords@39::current + IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current IL_0006: ret - } // end of method upperLowerWords@39::get_LastGenerated + } // end of method 'Pipe #3 input@39'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -1419,18 +1419,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/upperLowerWords@39::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0003: newobj instance void Linq101Select01/'Pipe #3 input@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, class [mscorlib]System.Tuple`2) IL_0008: ret - } // end of method upperLowerWords@39::GetFreshEnumerator + } // end of method 'Pipe #3 input@39'::GetFreshEnumerator - } // end of class upperLowerWords@39 + } // end of class 'Pipe #3 input@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'digitOddEvens@45-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@45-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Select01/'digitOddEvens@45-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #4 input@45-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1441,7 +1441,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'digitOddEvens@45-1'::.ctor + } // end of method 'Pipe #4 input@45-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -1457,21 +1457,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'digitOddEvens@45-1'::Invoke + } // end of method 'Pipe #4 input@45-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'digitOddEvens@45-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'digitOddEvens@45-1' Linq101Select01/'digitOddEvens@45-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #4 input@45-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #4 input@45-1' Linq101Select01/'Pipe #4 input@45-1'::@_instance IL_000a: ret - } // end of method 'digitOddEvens@45-1'::.cctor + } // end of method 'Pipe #4 input@45-1'::.cctor - } // end of class 'digitOddEvens@45-1' + } // end of class 'Pipe #4 input@45-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname digitOddEvens@46 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input@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 ) @@ -1496,17 +1496,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/digitOddEvens@46::current + IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() IL_001b: ret - } // end of method digitOddEvens@46::.ctor + } // end of method 'Pipe #4 input@46'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1516,7 +1516,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1541,29 +1541,29 @@ IL_0027: nop .line 46,46 : 9,42 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'digitOddEvens@45-1' Linq101Select01/'digitOddEvens@45-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #4 input@45-1' Linq101Select01/'Pipe #4 input@45-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0033: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc .line 46,46 : 9,42 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_008a IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 46,46 : 17,41 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_0069: ldarg.0 IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() IL_006f: ldloc.0 @@ -1575,7 +1575,7 @@ IL_0079: ceq IL_007b: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) - IL_0080: stfld class [mscorlib]System.Tuple`2 Linq101Select01/digitOddEvens@46::current + IL_0080: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current IL_0085: ldc.i4.1 IL_0086: ret @@ -1585,24 +1585,24 @@ IL_008a: ldarg.0 IL_008b: ldc.i4.3 - IL_008c: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_008c: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc .line 46,46 : 9,42 '' IL_0091: ldarg.0 - IL_0092: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_0092: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_009f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_00a4: ldarg.0 IL_00a5: ldc.i4.3 - IL_00a6: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_00a6: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_00ab: ldarg.0 IL_00ac: ldnull - IL_00ad: stfld class [mscorlib]System.Tuple`2 Linq101Select01/digitOddEvens@46::current + IL_00ad: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current IL_00b2: ldc.i4.0 IL_00b3: ret - } // end of method digitOddEvens@46::GenerateNext + } // end of method 'Pipe #4 input@46'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1613,7 +1613,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1629,7 +1629,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1659,19 +1659,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/digitOddEvens@46::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/digitOddEvens@46::current + IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current IL_0064: leave.s IL_0070 } // end .try @@ -1700,7 +1700,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method digitOddEvens@46::Close + } // end of method 'Pipe #4 input@46'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1709,7 +1709,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/digitOddEvens@46::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1743,7 +1743,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method digitOddEvens@46::get_CheckClose + } // end of method 'Pipe #4 input@46'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`2 get_LastGenerated() cil managed @@ -1753,9 +1753,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/digitOddEvens@46::current + IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current IL_0006: ret - } // end of method digitOddEvens@46::get_LastGenerated + } // end of method 'Pipe #4 input@46'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -1767,18 +1767,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/digitOddEvens@46::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) + IL_0003: newobj instance void Linq101Select01/'Pipe #4 input@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) IL_0008: ret - } // end of method digitOddEvens@46::GetFreshEnumerator + } // end of method 'Pipe #4 input@46'::GetFreshEnumerator - } // end of class digitOddEvens@46 + } // end of class 'Pipe #4 input@46' - .class auto ansi serializable sealed nested assembly beforefieldinit 'productInfos@52-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@52-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Select01/'productInfos@52-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #5 input@52-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1789,7 +1789,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'productInfos@52-1'::.ctor + } // end of method 'Pipe #5 input@52-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1805,21 +1805,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'productInfos@52-1'::Invoke + } // end of method 'Pipe #5 input@52-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'productInfos@52-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'productInfos@52-1' Linq101Select01/'productInfos@52-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #5 input@52-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #5 input@52-1' Linq101Select01/'Pipe #5 input@52-1'::@_instance IL_000a: ret - } // end of method 'productInfos@52-1'::.cctor + } // end of method 'Pipe #5 input@52-1'::.cctor - } // end of class 'productInfos@52-1' + } // end of class 'Pipe #5 input@52-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname productInfos@53 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@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 ) @@ -1844,17 +1844,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/productInfos@53::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`3 Linq101Select01/productInfos@53::current + IL_0010: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() IL_001b: ret - } // end of method productInfos@53::.ctor + } // end of method 'Pipe #5 input@53'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1864,7 +1864,7 @@ .locals init ([0] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/productInfos@53::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1889,29 +1889,29 @@ IL_0027: nop .line 53,53 : 9,56 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'productInfos@52-1' Linq101Select01/'productInfos@52-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #5 input@52-1' Linq101Select01/'Pipe #5 input@52-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_products() IL_0033: call class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/productInfos@53::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc .line 53,53 : 9,56 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_008b IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 53,53 : 17,55 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/productInfos@53::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_0069: ldarg.0 IL_006a: ldloc.0 IL_006b: callvirt instance string [Utils]Utils/Product::get_ProductName() @@ -1922,7 +1922,7 @@ IL_007c: newobj instance void class [mscorlib]System.Tuple`3::.ctor(!0, !1, !2) - IL_0081: stfld class [mscorlib]System.Tuple`3 Linq101Select01/productInfos@53::current + IL_0081: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current IL_0086: ldc.i4.1 IL_0087: ret @@ -1932,24 +1932,24 @@ IL_008b: ldarg.0 IL_008c: ldc.i4.3 - IL_008d: stfld int32 Linq101Select01/productInfos@53::pc + IL_008d: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc .line 53,53 : 9,56 '' IL_0092: ldarg.0 - IL_0093: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_0093: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_0098: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_009d: nop IL_009e: ldarg.0 IL_009f: ldnull - IL_00a0: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_00a0: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_00a5: ldarg.0 IL_00a6: ldc.i4.3 - IL_00a7: stfld int32 Linq101Select01/productInfos@53::pc + IL_00a7: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_00ac: ldarg.0 IL_00ad: ldnull - IL_00ae: stfld class [mscorlib]System.Tuple`3 Linq101Select01/productInfos@53::current + IL_00ae: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current IL_00b3: ldc.i4.0 IL_00b4: ret - } // end of method productInfos@53::GenerateNext + } // end of method 'Pipe #5 input@53'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1960,7 +1960,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/productInfos@53::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1976,7 +1976,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/productInfos@53::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -2006,19 +2006,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/productInfos@53::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/productInfos@53::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/productInfos@53::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`3 Linq101Select01/productInfos@53::current + IL_005f: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current IL_0064: leave.s IL_0070 } // end .try @@ -2047,7 +2047,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method productInfos@53::Close + } // end of method 'Pipe #5 input@53'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -2056,7 +2056,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/productInfos@53::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -2090,7 +2090,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method productInfos@53::get_CheckClose + } // end of method 'Pipe #5 input@53'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`3 get_LastGenerated() cil managed @@ -2100,9 +2100,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`3 Linq101Select01/productInfos@53::current + IL_0001: ldfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current IL_0006: ret - } // end of method productInfos@53::get_LastGenerated + } // end of method 'Pipe #5 input@53'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -2114,15 +2114,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/productInfos@53::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`3) + IL_0003: newobj instance void Linq101Select01/'Pipe #5 input@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`3) IL_0008: ret - } // end of method productInfos@53::GetFreshEnumerator + } // end of method 'Pipe #5 input@53'::GetFreshEnumerator - } // end of class productInfos@53 + } // end of class 'Pipe #5 input@53' - .class auto ansi serializable sealed nested assembly beforefieldinit lowNums@60 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@60' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2140,9 +2140,9 @@ 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 Linq101Select01/lowNums@60::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #6 input@60'::builder@ IL_000d: ret - } // end of method lowNums@60::.ctor + } // end of method 'Pipe #6 input@60'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -2155,19 +2155,19 @@ IL_0001: stloc.0 .line 61,61 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/lowNums@60::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #6 input@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 - } // end of method lowNums@60::Invoke + } // end of method 'Pipe #6 input@60'::Invoke - } // end of class lowNums@60 + } // end of class 'Pipe #6 input@60' - .class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@61-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@61-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Select01/'lowNums@61-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #6 input@61-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2178,7 +2178,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'lowNums@61-1'::.ctor + } // end of method 'Pipe #6 input@61-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -2190,24 +2190,24 @@ IL_0001: ldc.i4.5 IL_0002: clt IL_0004: ret - } // end of method 'lowNums@61-1'::Invoke + } // end of method 'Pipe #6 input@61-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'lowNums@61-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'lowNums@61-1' Linq101Select01/'lowNums@61-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #6 input@61-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #6 input@61-1' Linq101Select01/'Pipe #6 input@61-1'::@_instance IL_000a: ret - } // end of method 'lowNums@61-1'::.cctor + } // end of method 'Pipe #6 input@61-1'::.cctor - } // end of class 'lowNums@61-1' + } // end of class 'Pipe #6 input@61-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@62-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@62-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Select01/'lowNums@62-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #6 input@62-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2218,7 +2218,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'lowNums@62-2'::.ctor + } // end of method 'Pipe #6 input@62-2'::.ctor .method public strict virtual instance string Invoke(int32 n) cil managed @@ -2231,21 +2231,21 @@ IL_0006: tail. IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) IL_000d: ret - } // end of method 'lowNums@62-2'::Invoke + } // end of method 'Pipe #6 input@62-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'lowNums@62-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'lowNums@62-2' Linq101Select01/'lowNums@62-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #6 input@62-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #6 input@62-2' Linq101Select01/'Pipe #6 input@62-2'::@_instance IL_000a: ret - } // end of method 'lowNums@62-2'::.cctor + } // end of method 'Pipe #6 input@62-2'::.cctor - } // end of class 'lowNums@62-2' + } // end of class 'Pipe #6 input@62-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'pairs@73-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@73-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2265,12 +2265,12 @@ 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 Linq101Select01/'pairs@73-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@73-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld int32 Linq101Select01/'pairs@73-1'::a + IL_000f: stfld int32 Linq101Select01/'Pipe #7 input@73-1'::a IL_0014: ret - } // end of method 'pairs@73-1'::.ctor + } // end of method 'Pipe #7 input@73-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed @@ -2283,20 +2283,20 @@ IL_0001: stloc.0 .line 74,74 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'pairs@73-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@73-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld int32 Linq101Select01/'pairs@73-1'::a + IL_0009: ldfld int32 Linq101Select01/'Pipe #7 input@73-1'::a IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'pairs@73-1'::Invoke + } // end of method 'Pipe #7 input@73-1'::Invoke - } // end of class 'pairs@73-1' + } // end of class 'Pipe #7 input@73-1' - .class auto ansi serializable sealed nested assembly beforefieldinit pairs@72 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@72' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2314,9 +2314,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/pairs@72::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ IL_000d: ret - } // end of method pairs@72::.ctor + } // end of method 'Pipe #7 input@72'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed @@ -2329,28 +2329,28 @@ IL_0001: stloc.0 .line 73,73 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/pairs@72::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/pairs@72::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersB() IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0018: ldarg.0 - IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/pairs@72::builder@ + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ IL_001e: ldloc.0 - IL_001f: newobj instance void Linq101Select01/'pairs@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - int32) + IL_001f: newobj instance void Linq101Select01/'Pipe #7 input@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 - } // end of method pairs@72::Invoke + } // end of method 'Pipe #7 input@72'::Invoke - } // end of class pairs@72 + } // end of class 'Pipe #7 input@72' - .class auto ansi serializable sealed nested assembly beforefieldinit 'pairs@74-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@74-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Select01/'pairs@74-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #7 input@74-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2361,7 +2361,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'pairs@74-2'::.ctor + } // end of method 'Pipe #7 input@74-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2382,24 +2382,24 @@ IL_000f: ldloc.1 IL_0010: clt IL_0012: ret - } // end of method 'pairs@74-2'::Invoke + } // end of method 'Pipe #7 input@74-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'pairs@74-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'pairs@74-2' Linq101Select01/'pairs@74-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #7 input@74-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #7 input@74-2' Linq101Select01/'Pipe #7 input@74-2'::@_instance IL_000a: ret - } // end of method 'pairs@74-2'::.cctor + } // end of method 'Pipe #7 input@74-2'::.cctor - } // end of class 'pairs@74-2' + } // end of class 'Pipe #7 input@74-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'pairs@75-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@75-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Select01/'pairs@75-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #7 input@75-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2410,7 +2410,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'pairs@75-3'::.ctor + } // end of method 'Pipe #7 input@75-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2432,21 +2432,21 @@ IL_0010: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0015: ret - } // end of method 'pairs@75-3'::Invoke + } // end of method 'Pipe #7 input@75-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'pairs@75-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'pairs@75-3' Linq101Select01/'pairs@75-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #7 input@75-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #7 input@75-3' Linq101Select01/'Pipe #7 input@75-3'::@_instance IL_000a: ret - } // end of method 'pairs@75-3'::.cctor + } // end of method 'Pipe #7 input@75-3'::.cctor - } // end of class 'pairs@75-3' + } // end of class 'Pipe #7 input@75-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders@83-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@83-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2466,12 +2466,12 @@ 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 Linq101Select01/'orders@83-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@83-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'orders@83-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input@83-1'::c IL_0014: ret - } // end of method 'orders@83-1'::.ctor + } // end of method 'Pipe #8 input@83-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -2484,20 +2484,20 @@ IL_0001: stloc.0 .line 84,84 : 9,34 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'orders@83-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@83-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'orders@83-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input@83-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'orders@83-1'::Invoke + } // end of method 'Pipe #8 input@83-1'::Invoke - } // end of class 'orders@83-1' + } // end of class 'Pipe #8 input@83-1' - .class auto ansi serializable sealed nested assembly beforefieldinit orders@82 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@82' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2515,9 +2515,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders@82::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ IL_000d: ret - } // end of method orders@82::.ctor + } // end of method 'Pipe #8 input@82'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -2530,29 +2530,29 @@ IL_0001: stloc.0 .line 83,83 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders@82::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders@82::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders@82::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Select01/'orders@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Select01/'Pipe #8 input@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 - } // end of method orders@82::Invoke + } // end of method 'Pipe #8 input@82'::Invoke - } // end of class orders@82 + } // end of class 'Pipe #8 input@82' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders@84-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@84-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Select01/'orders@84-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #8 input@84-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2563,7 +2563,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'orders@84-2'::.ctor + } // end of method 'Pipe #8 input@84-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2595,24 +2595,24 @@ IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, valuetype [netstandard]System.Decimal) IL_0027: ret - } // end of method 'orders@84-2'::Invoke + } // end of method 'Pipe #8 input@84-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'orders@84-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'orders@84-2' Linq101Select01/'orders@84-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #8 input@84-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #8 input@84-2' Linq101Select01/'Pipe #8 input@84-2'::@_instance IL_000a: ret - } // end of method 'orders@84-2'::.cctor + } // end of method 'Pipe #8 input@84-2'::.cctor - } // end of class 'orders@84-2' + } // end of class 'Pipe #8 input@84-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders@85-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@85-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Select01/'orders@85-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #8 input@85-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2623,7 +2623,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'orders@85-3'::.ctor + } // end of method 'Pipe #8 input@85-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2650,21 +2650,21 @@ !1, !2) IL_0025: ret - } // end of method 'orders@85-3'::Invoke + } // end of method 'Pipe #8 input@85-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'orders@85-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'orders@85-3' Linq101Select01/'orders@85-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #8 input@85-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #8 input@85-3' Linq101Select01/'Pipe #8 input@85-3'::@_instance IL_000a: ret - } // end of method 'orders@85-3'::.cctor + } // end of method 'Pipe #8 input@85-3'::.cctor - } // end of class 'orders@85-3' + } // end of class 'Pipe #8 input@85-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders2@92-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@92-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2684,12 +2684,12 @@ 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 Linq101Select01/'orders2@92-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@92-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'orders2@92-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input@92-1'::c IL_0014: ret - } // end of method 'orders2@92-1'::.ctor + } // end of method 'Pipe #9 input@92-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -2702,20 +2702,20 @@ IL_0001: stloc.0 .line 93,93 : 9,51 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'orders2@92-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@92-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'orders2@92-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input@92-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'orders2@92-1'::Invoke + } // end of method 'Pipe #9 input@92-1'::Invoke - } // end of class 'orders2@92-1' + } // end of class 'Pipe #9 input@92-1' - .class auto ansi serializable sealed nested assembly beforefieldinit orders2@91 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@91' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2733,9 +2733,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders2@91::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ IL_000d: ret - } // end of method orders2@91::.ctor + } // end of method 'Pipe #9 input@91'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -2748,29 +2748,29 @@ IL_0001: stloc.0 .line 92,92 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders2@91::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders2@91::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/orders2@91::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Select01/'orders2@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Select01/'Pipe #9 input@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 - } // end of method orders2@91::Invoke + } // end of method 'Pipe #9 input@91'::Invoke - } // end of class orders2@91 + } // end of class 'Pipe #9 input@91' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders2@93-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@93-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> { - .field static assembly initonly class Linq101Select01/'orders2@93-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #9 input@93-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2781,7 +2781,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'orders2@93-2'::.ctor + } // end of method 'Pipe #9 input@93-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2819,24 +2819,24 @@ IL_002c: ldc.i4.0 IL_002d: ceq IL_002f: ret - } // end of method 'orders2@93-2'::Invoke + } // end of method 'Pipe #9 input@93-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'orders2@93-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'orders2@93-2' Linq101Select01/'orders2@93-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #9 input@93-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #9 input@93-2' Linq101Select01/'Pipe #9 input@93-2'::@_instance IL_000a: ret - } // end of method 'orders2@93-2'::.cctor + } // end of method 'Pipe #9 input@93-2'::.cctor - } // end of class 'orders2@93-2' + } // end of class 'Pipe #9 input@93-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'orders2@94-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@94-3' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Select01/'orders2@94-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #9 input@94-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2847,7 +2847,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'orders2@94-3'::.ctor + } // end of method 'Pipe #9 input@94-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2874,19 +2874,19 @@ !1, !2) IL_0025: ret - } // end of method 'orders2@94-3'::Invoke + } // end of method 'Pipe #9 input@94-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'orders2@94-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'orders2@94-3' Linq101Select01/'orders2@94-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #9 input@94-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #9 input@94-3' Linq101Select01/'Pipe #9 input@94-3'::@_instance IL_000a: ret - } // end of method 'orders2@94-3'::.cctor + } // end of method 'Pipe #9 input@94-3'::.cctor - } // end of class 'orders2@94-3' + } // end of class 'Pipe #9 input@94-3' .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> @@ -3774,7 +3774,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 1124 (0x464) + // Code size 1169 (0x491) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne, @@ -3797,20 +3797,29 @@ [18] class [mscorlib]System.Collections.Generic.IEnumerable`1> orders3, [19] valuetype [mscorlib]System.DateTime cutOffDate, [20] class [mscorlib]System.Collections.Generic.IEnumerable`1> orders4, - [21] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + [21] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [22] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, [23] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, - [24] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_24, + [24] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', [25] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, - [26] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_26, + [26] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', [27] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, - [28] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_28, - [29] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_29, - [30] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + [28] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [29] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, + [30] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input', [31] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, - [32] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_32, + [32] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', [33] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_33, - [34] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_34) + [34] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_34, + [35] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_35, + [36] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input', + [37] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_37, + [38] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #8 input', + [39] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_39, + [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #9 input', + [41] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_41, + [42] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_42, + [43] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43) .line 7,7 : 1,47 '' IL_0000: ldc.i4.5 IL_0001: ldc.i4.4 @@ -3847,48 +3856,51 @@ IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbers@7 IL_0048: stloc.0 .line 10,14 : 1,20 '' - IL_0049: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_004e: stloc.s V_21 - IL_0050: ldnull - IL_0051: ldc.i4.0 + IL_0049: nop + .line 11,11 : 5,10 '' + IL_004a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004f: stloc.s V_22 + IL_0051: ldnull IL_0052: ldc.i4.0 - IL_0053: newobj instance void Linq101Select01/numsPlusOne@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_005d: dup - IL_005e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numsPlusOne@10 - IL_0063: stloc.1 + IL_0053: ldc.i4.0 + IL_0054: newobj instance void Linq101Select01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0059: stloc.s 'Pipe #1 input' + .line 14,14 : 10,20 '' + IL_005b: ldloc.s 'Pipe #1 input' + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0062: dup + IL_0063: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numsPlusOne@10 + IL_0068: stloc.1 .line 17,17 : 1,32 '' - IL_0064: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_0069: dup - IL_006a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::products@17 - IL_006f: stloc.2 - IL_0070: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0075: stloc.s V_22 - IL_0077: ldnull - IL_0078: ldc.i4.0 - IL_0079: ldnull - IL_007a: newobj instance void Linq101Select01/productNames@22::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0069: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_006e: dup + IL_006f: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::products@17 + IL_0074: stloc.2 + IL_0075: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_007a: stloc.s V_23 + IL_007c: ldnull + IL_007d: ldc.i4.0 + IL_007e: ldnull + IL_007f: newobj instance void Linq101Select01/productNames@22::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) - IL_007f: dup - IL_0080: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Select01::productNames@19 - IL_0085: stloc.3 + IL_0084: dup + IL_0085: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Select01::productNames@19 + IL_008a: stloc.3 .line 26,26 : 1,97 '' - IL_0086: ldstr "zero" - IL_008b: ldstr "one" - IL_0090: ldstr "two" - IL_0095: ldstr "three" - IL_009a: ldstr "four" - IL_009f: ldstr "five" - IL_00a4: ldstr "six" - IL_00a9: ldstr "seven" - IL_00ae: ldstr "eight" - IL_00b3: ldstr "nine" - IL_00b8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_00bd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008b: ldstr "zero" + IL_0090: ldstr "one" + IL_0095: ldstr "two" + IL_009a: ldstr "three" + IL_009f: ldstr "four" + IL_00a4: ldstr "five" + IL_00a9: ldstr "six" + IL_00ae: ldstr "seven" + IL_00b3: ldstr "eight" + IL_00b8: ldstr "nine" + IL_00bd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() IL_00c2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_00c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, @@ -3907,335 +3919,377 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_00ea: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00ef: dup - IL_00f0: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::strings@26 - IL_00f5: stloc.s strings + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00f4: dup + IL_00f5: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::strings@26 + IL_00fa: stloc.s strings .line 27,31 : 1,20 '' - IL_00f7: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00fc: stloc.s V_23 - IL_00fe: ldnull - IL_00ff: ldc.i4.0 - IL_0100: ldnull - IL_0101: newobj instance void Linq101Select01/textNums@30::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_010b: dup - IL_010c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::textNums@27 - IL_0111: stloc.s textNums + IL_00fc: nop + .line 28,28 : 5,10 '' + IL_00fd: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0102: stloc.s V_25 + IL_0104: ldnull + IL_0105: ldc.i4.0 + IL_0106: ldnull + IL_0107: newobj instance void Linq101Select01/'Pipe #2 input@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_010c: stloc.s 'Pipe #2 input' + .line 31,31 : 10,20 '' + IL_010e: ldloc.s 'Pipe #2 input' + IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0115: dup + IL_0116: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::textNums@27 + IL_011b: stloc.s textNums .line 34,34 : 1,46 '' - IL_0113: ldstr "aPPLE" - IL_0118: ldstr "BlUeBeRrY" - IL_011d: ldstr "cHeRry" - IL_0122: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0127: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_011d: ldstr "aPPLE" + IL_0122: ldstr "BlUeBeRrY" + IL_0127: ldstr "cHeRry" + IL_012c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0131: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_012c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0136: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0131: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0136: dup - IL_0137: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::words@34 - IL_013c: stloc.s words + IL_0140: dup + IL_0141: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::words@34 + IL_0146: stloc.s words .line 36,40 : 1,20 '' - IL_013e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0143: stloc.s V_24 - IL_0145: ldnull - IL_0146: ldc.i4.0 - IL_0147: ldnull - IL_0148: newobj instance void Linq101Select01/upperLowerWords@39::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0148: nop + .line 37,37 : 4,9 '' + IL_0149: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014e: stloc.s V_27 + IL_0150: ldnull + IL_0151: ldc.i4.0 + IL_0152: ldnull + IL_0153: newobj instance void Linq101Select01/'Pipe #3 input@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, class [mscorlib]System.Tuple`2) - IL_014d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0152: dup - IL_0153: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::upperLowerWords@36 - IL_0158: stloc.s upperLowerWords + IL_0158: stloc.s 'Pipe #3 input' + .line 40,40 : 9,20 '' + IL_015a: ldloc.s 'Pipe #3 input' + IL_015c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0161: dup + IL_0162: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::upperLowerWords@36 + IL_0167: stloc.s upperLowerWords .line 43,47 : 1,20 '' - IL_015a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_015f: stloc.s V_25 - IL_0161: ldnull - IL_0162: ldc.i4.0 - IL_0163: ldnull - IL_0164: newobj instance void Linq101Select01/digitOddEvens@46::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) - IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_016e: dup - IL_016f: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Select01::digitOddEvens@43 - IL_0174: stloc.s digitOddEvens + IL_0169: nop + .line 44,44 : 5,10 '' + IL_016a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_016f: stloc.s V_29 + IL_0171: ldnull + IL_0172: ldc.i4.0 + IL_0173: ldnull + IL_0174: newobj instance void Linq101Select01/'Pipe #4 input@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) + IL_0179: stloc.s 'Pipe #4 input' + .line 47,47 : 10,20 '' + IL_017b: ldloc.s 'Pipe #4 input' + IL_017d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0182: dup + IL_0183: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Select01::digitOddEvens@43 + IL_0188: stloc.s digitOddEvens .line 50,54 : 1,21 '' - IL_0176: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_017b: stloc.s V_26 - IL_017d: ldnull - IL_017e: ldc.i4.0 - IL_017f: ldnull - IL_0180: newobj instance void Linq101Select01/productInfos@53::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`3) - IL_0185: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_018a: dup - IL_018b: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::productInfos@50 - IL_0190: stloc.s productInfos + IL_018a: nop + .line 51,51 : 5,10 '' + IL_018b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0190: stloc.s V_31 + IL_0192: ldnull + IL_0193: ldc.i4.0 + IL_0194: ldnull + IL_0195: newobj instance void Linq101Select01/'Pipe #5 input@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`3) + IL_019a: stloc.s 'Pipe #5 input' + .line 54,54 : 10,21 '' + IL_019c: ldloc.s 'Pipe #5 input' + IL_019e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01a3: dup + IL_01a4: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::productInfos@50 + IL_01a9: stloc.s productInfos .line 57,57 : 1,21 '' - IL_0192: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() - IL_0197: dup - IL_0198: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::digits@57 - IL_019d: stloc.s digits + IL_01ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() + IL_01b0: dup + IL_01b1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::digits@57 + IL_01b6: stloc.s digits .line 58,63 : 1,20 '' - IL_019f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_01a4: stloc.s V_27 - IL_01a6: ldloc.s V_27 - IL_01a8: ldloc.s V_27 - IL_01aa: ldloc.s V_27 - IL_01ac: ldloc.s V_27 - IL_01ae: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() - IL_01b3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01b8: ldloc.s V_27 - IL_01ba: newobj instance void Linq101Select01/lowNums@60::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_01bf: 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, + IL_01b8: nop + .line 59,59 : 5,10 '' + IL_01b9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01be: stloc.s V_33 + IL_01c0: ldloc.s V_33 + IL_01c2: ldloc.s V_33 + IL_01c4: ldloc.s V_33 + IL_01c6: ldloc.s V_33 + IL_01c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() + IL_01cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01d2: ldloc.s V_33 + IL_01d4: newobj instance void Linq101Select01/'Pipe #6 input@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d9: 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_01c4: ldsfld class Linq101Select01/'lowNums@61-1' Linq101Select01/'lowNums@61-1'::@_instance - IL_01c9: 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, + IL_01de: ldsfld class Linq101Select01/'Pipe #6 input@61-1' Linq101Select01/'Pipe #6 input@61-1'::@_instance + IL_01e3: 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_01ce: ldsfld class Linq101Select01/'lowNums@62-2' Linq101Select01/'lowNums@62-2'::@_instance - IL_01d3: 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, + IL_01e8: ldsfld class Linq101Select01/'Pipe #6 input@62-2' Linq101Select01/'Pipe #6 input@62-2'::@_instance + IL_01ed: 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_01d8: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01e2: dup - IL_01e3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::lowNums@58 - IL_01e8: stloc.s lowNums + IL_01f2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01f7: stloc.s 'Pipe #6 input' + .line 63,63 : 10,20 '' + IL_01f9: ldloc.s 'Pipe #6 input' + IL_01fb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0200: dup + IL_0201: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::lowNums@58 + IL_0206: stloc.s lowNums .line 64,64 : 1,59 '' - IL_01ea: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_lowNums() - IL_01ef: stloc.s V_28 - IL_01f1: ldstr "four" - IL_01f6: ldstr "one" - IL_01fb: ldstr "three" - IL_0200: ldstr "two" - IL_0205: ldstr "zero" - IL_020a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_020f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0208: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_lowNums() + IL_020d: stloc.s V_34 + IL_020f: ldstr "four" + IL_0214: ldstr "one" + IL_0219: ldstr "three" + IL_021e: ldstr "two" + IL_0223: ldstr "zero" + IL_0228: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_022d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0214: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0232: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0219: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0237: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_021e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_023c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0223: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0241: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0228: stloc.s V_29 - IL_022a: ldloc.s V_28 - IL_022c: ldloc.s V_29 - IL_022e: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0233: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + IL_0246: stloc.s V_35 + IL_0248: ldloc.s V_34 + IL_024a: ldloc.s V_35 + IL_024c: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0251: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_0238: ldc.i4.0 - IL_0239: ceq - IL_023b: brfalse.s IL_0257 + IL_0256: ldc.i4.0 + IL_0257: ceq + IL_0259: brfalse.s IL_0275 .line 64,64 : 60,84 '' - IL_023d: ldstr "lowNums failed" - IL_0242: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0247: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_024c: pop + IL_025b: ldstr "lowNums failed" + IL_0260: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0265: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_026a: pop .line 64,64 : 86,92 '' - IL_024d: ldc.i4.1 - IL_024e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0253: pop + IL_026b: ldc.i4.1 + IL_026c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0271: pop .line 100001,100001 : 0,0 '' - IL_0254: nop - IL_0255: br.s IL_0258 + IL_0272: nop + IL_0273: br.s IL_0276 .line 100001,100001 : 0,0 '' - IL_0257: nop + IL_0275: nop .line 67,67 : 1,37 '' - IL_0258: ldc.i4.0 - IL_0259: ldc.i4.2 - IL_025a: ldc.i4.4 - IL_025b: ldc.i4.5 - IL_025c: ldc.i4.6 - IL_025d: ldc.i4.8 - IL_025e: ldc.i4.s 9 - IL_0260: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0265: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0276: ldc.i4.0 + IL_0277: ldc.i4.2 + IL_0278: ldc.i4.4 + IL_0279: ldc.i4.5 + IL_027a: ldc.i4.6 + IL_027b: ldc.i4.8 + IL_027c: ldc.i4.s 9 + IL_027e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0283: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_026a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0288: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_026f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_028d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0274: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0292: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0279: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0297: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_027e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_029c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0283: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0288: dup - IL_0289: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersA@67 - IL_028e: stloc.s numbersA + IL_02a6: dup + IL_02a7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersA@67 + IL_02ac: stloc.s numbersA .line 68,68 : 1,31 '' - 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, + IL_02ae: ldc.i4.1 + IL_02af: ldc.i4.3 + IL_02b0: ldc.i4.5 + IL_02b1: ldc.i4.7 + IL_02b2: ldc.i4.8 + IL_02b3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_02b8: call class [FSharp.Core]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, + IL_02bd: call class [FSharp.Core]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, + IL_02c2: call class [FSharp.Core]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, + IL_02c7: call class [FSharp.Core]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, + IL_02cc: call class [FSharp.Core]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: dup - IL_02b4: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersB@68 - IL_02b9: stloc.s numbersB + IL_02d1: dup + IL_02d2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersB@68 + IL_02d7: stloc.s numbersB .line 70,76 : 1,21 '' - IL_02bb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_02c0: stloc.s V_30 - IL_02c2: ldloc.s V_30 - IL_02c4: ldloc.s V_30 - IL_02c6: ldloc.s V_30 - IL_02c8: ldloc.s V_30 - IL_02ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersA() - IL_02cf: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_02d4: ldloc.s V_30 - IL_02d6: newobj instance void Linq101Select01/pairs@72::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_02db: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_02d9: nop + .line 71,71 : 5,10 '' + IL_02da: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02df: stloc.s V_37 + IL_02e1: ldloc.s V_37 + IL_02e3: ldloc.s V_37 + IL_02e5: ldloc.s V_37 + IL_02e7: ldloc.s V_37 + IL_02e9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersA() + IL_02ee: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02f3: ldloc.s V_37 + IL_02f5: newobj instance void Linq101Select01/'Pipe #7 input@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02fa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_02e0: ldsfld class Linq101Select01/'pairs@74-2' Linq101Select01/'pairs@74-2'::@_instance - IL_02e5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_02ff: ldsfld class Linq101Select01/'Pipe #7 input@74-2' Linq101Select01/'Pipe #7 input@74-2'::@_instance + IL_0304: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_02ea: ldsfld class Linq101Select01/'pairs@75-3' Linq101Select01/'pairs@75-3'::@_instance - IL_02ef: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0309: ldsfld class Linq101Select01/'Pipe #7 input@75-3' Linq101Select01/'Pipe #7 input@75-3'::@_instance + IL_030e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_02f4: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_02f9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_02fe: dup - IL_02ff: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::pairs@70 - IL_0304: stloc.s pairs + IL_0313: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0318: stloc.s 'Pipe #7 input' + .line 76,76 : 10,21 '' + IL_031a: ldloc.s 'Pipe #7 input' + IL_031c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0321: dup + IL_0322: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::pairs@70 + IL_0327: stloc.s pairs .line 79,79 : 1,34 '' - IL_0306: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_030b: dup - IL_030c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::customers@79 - IL_0311: stloc.s customers + IL_0329: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_032e: dup + IL_032f: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::customers@79 + IL_0334: stloc.s customers .line 80,86 : 1,21 '' - IL_0313: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0318: stloc.s V_31 - IL_031a: ldloc.s V_31 - IL_031c: ldloc.s V_31 - IL_031e: ldloc.s V_31 - IL_0320: ldloc.s V_31 - IL_0322: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_0327: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_032c: ldloc.s V_31 - IL_032e: newobj instance void Linq101Select01/orders@82::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0333: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0336: nop + .line 81,81 : 5,10 '' + IL_0337: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033c: stloc.s V_39 + IL_033e: ldloc.s V_39 + IL_0340: ldloc.s V_39 + IL_0342: ldloc.s V_39 + IL_0344: ldloc.s V_39 + IL_0346: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_034b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0350: ldloc.s V_39 + IL_0352: newobj instance void Linq101Select01/'Pipe #8 input@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0357: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0338: ldsfld class Linq101Select01/'orders@84-2' Linq101Select01/'orders@84-2'::@_instance - IL_033d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_035c: ldsfld class Linq101Select01/'Pipe #8 input@84-2' Linq101Select01/'Pipe #8 input@84-2'::@_instance + IL_0361: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0342: ldsfld class Linq101Select01/'orders@85-3' Linq101Select01/'orders@85-3'::@_instance - IL_0347: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0366: ldsfld class Linq101Select01/'Pipe #8 input@85-3' Linq101Select01/'Pipe #8 input@85-3'::@_instance + IL_036b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_034c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0351: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0356: dup - IL_0357: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders@80 - IL_035c: stloc.s orders + IL_0370: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0375: stloc.s 'Pipe #8 input' + .line 86,86 : 10,21 '' + IL_0377: ldloc.s 'Pipe #8 input' + IL_0379: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_037e: dup + IL_037f: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders@80 + IL_0384: stloc.s orders .line 89,95 : 1,21 '' - IL_035e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0363: stloc.s V_32 - IL_0365: ldloc.s V_32 - IL_0367: ldloc.s V_32 - IL_0369: ldloc.s V_32 - IL_036b: ldloc.s V_32 - IL_036d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_0372: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0377: ldloc.s V_32 - IL_0379: newobj instance void Linq101Select01/orders2@91::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_037e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0386: nop + .line 90,90 : 5,10 '' + IL_0387: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_038c: stloc.s V_41 + IL_038e: ldloc.s V_41 + IL_0390: ldloc.s V_41 + IL_0392: ldloc.s V_41 + IL_0394: ldloc.s V_41 + IL_0396: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_039b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a0: ldloc.s V_41 + IL_03a2: newobj instance void Linq101Select01/'Pipe #9 input@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0383: ldsfld class Linq101Select01/'orders2@93-2' Linq101Select01/'orders2@93-2'::@_instance - IL_0388: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03ac: ldsfld class Linq101Select01/'Pipe #9 input@93-2' Linq101Select01/'Pipe #9 input@93-2'::@_instance + IL_03b1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_038d: ldsfld class Linq101Select01/'orders2@94-3' Linq101Select01/'orders2@94-3'::@_instance - IL_0392: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03b6: ldsfld class Linq101Select01/'Pipe #9 input@94-3' Linq101Select01/'Pipe #9 input@94-3'::@_instance + IL_03bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0397: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_039c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03a1: dup - IL_03a2: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders2@89 - IL_03a7: stloc.s orders2 - IL_03a9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_03ae: stloc.s V_33 - IL_03b0: ldloc.s V_33 - IL_03b2: ldloc.s V_33 - IL_03b4: ldloc.s V_33 - IL_03b6: ldloc.s V_33 - IL_03b8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_03bd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03c2: ldloc.s V_33 - IL_03c4: newobj instance void Linq101Select01/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_03c9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03c0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_03c5: stloc.s 'Pipe #9 input' + .line 95,95 : 10,21 '' + IL_03c7: ldloc.s 'Pipe #9 input' + IL_03c9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03ce: dup + IL_03cf: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders2@89 + IL_03d4: stloc.s orders2 + IL_03d6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03db: stloc.s V_42 + IL_03dd: ldloc.s V_42 + IL_03df: ldloc.s V_42 + IL_03e1: ldloc.s V_42 + IL_03e3: ldloc.s V_42 + IL_03e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_03ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03ef: ldloc.s V_42 + IL_03f1: newobj instance void Linq101Select01/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03ce: ldsfld class Linq101Select01/'orders3@102-2' Linq101Select01/'orders3@102-2'::@_instance - IL_03d3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03fb: ldsfld class Linq101Select01/'orders3@102-2' Linq101Select01/'orders3@102-2'::@_instance + IL_0400: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03d8: ldsfld class Linq101Select01/'orders3@103-3' Linq101Select01/'orders3@103-3'::@_instance - IL_03dd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0405: ldsfld class Linq101Select01/'orders3@103-3' Linq101Select01/'orders3@103-3'::@_instance + IL_040a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03e2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_03e7: dup - IL_03e8: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders3@98 - IL_03ed: stloc.s orders3 + IL_040f: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0414: dup + IL_0415: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders3@98 + IL_041a: stloc.s orders3 .line 107,107 : 1,38 '' - IL_03ef: ldc.i4 0x7cd - IL_03f4: ldc.i4.1 - IL_03f5: ldc.i4.1 - IL_03f6: newobj instance void [mscorlib]System.DateTime::.ctor(int32, + IL_041c: ldc.i4 0x7cd + IL_0421: ldc.i4.1 + IL_0422: ldc.i4.1 + IL_0423: newobj instance void [mscorlib]System.DateTime::.ctor(int32, int32, int32) - IL_03fb: dup - IL_03fc: stsfld valuetype [mscorlib]System.DateTime ''.$Linq101Select01::cutOffDate@107 - IL_0401: stloc.s cutOffDate - IL_0403: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0408: stloc.s V_34 - IL_040a: ldloc.s V_34 - IL_040c: ldloc.s V_34 - IL_040e: ldloc.s V_34 - IL_0410: ldloc.s V_34 - IL_0412: ldloc.s V_34 - IL_0414: ldloc.s V_34 - IL_0416: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_041b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0420: ldloc.s V_34 - IL_0422: newobj instance void Linq101Select01/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0427: 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, + IL_0428: dup + IL_0429: stsfld valuetype [mscorlib]System.DateTime ''.$Linq101Select01::cutOffDate@107 + IL_042e: stloc.s cutOffDate + IL_0430: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0435: stloc.s V_43 + IL_0437: ldloc.s V_43 + IL_0439: ldloc.s V_43 + IL_043b: ldloc.s V_43 + IL_043d: ldloc.s V_43 + IL_043f: ldloc.s V_43 + IL_0441: ldloc.s V_43 + IL_0443: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_0448: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_044d: ldloc.s V_43 + IL_044f: newobj instance void Linq101Select01/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0454: 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_042c: ldsfld class Linq101Select01/'orders4@112-1' Linq101Select01/'orders4@112-1'::@_instance - IL_0431: 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, + IL_0459: ldsfld class Linq101Select01/'orders4@112-1' Linq101Select01/'orders4@112-1'::@_instance + IL_045e: 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_0436: ldloc.s V_34 - IL_0438: newobj instance void Linq101Select01/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_043d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0463: ldloc.s V_43 + IL_0465: newobj instance void Linq101Select01/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_046a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0442: ldsfld class Linq101Select01/'orders4@114-4' Linq101Select01/'orders4@114-4'::@_instance - IL_0447: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_046f: ldsfld class Linq101Select01/'orders4@114-4' Linq101Select01/'orders4@114-4'::@_instance + IL_0474: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_044c: ldsfld class Linq101Select01/'orders4@115-5' Linq101Select01/'orders4@115-5'::@_instance - IL_0451: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0479: ldsfld class Linq101Select01/'orders4@115-5' Linq101Select01/'orders4@115-5'::@_instance + IL_047e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0456: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_045b: dup - IL_045c: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders4@109 - IL_0461: stloc.s orders4 - IL_0463: ret + IL_0483: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0488: dup + IL_0489: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders4@109 + IL_048e: stloc.s orders4 + IL_0490: ret } // end of method $Linq101Select01::main@ } // end of class ''.$Linq101Select01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl index 6b0fad731d..8ba246ae87 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000390 Length: 0x0000011E } .module Linq101SetOperators01.exe -// MVID: {60D46F1F-4EE5-349F-A745-03831F6FD460} +// MVID: {6116A45B-4EE5-349F-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04FA0000 +// Image base: 0x06DF0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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 uniqueFactors@13 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@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 ) @@ -85,17 +85,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0009: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101SetOperators01/uniqueFactors@13::current + IL_0010: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method uniqueFactors@13::.ctor + } // end of method 'Pipe #1 input@13'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -107,7 +107,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101SetOperators01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -134,18 +134,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101SetOperators01::get_factorsOf300() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0037: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc .line 13,13 : 9,33 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 13,13 : 9,33 '' @@ -154,10 +154,10 @@ .line 14,14 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0059: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101SetOperators01/uniqueFactors@13::current + IL_0060: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -167,24 +167,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_006c: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc .line 13,13 : 9,33 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0086: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101SetOperators01/uniqueFactors@13::current + IL_008d: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method uniqueFactors@13::GenerateNext + } // end of method 'Pipe #1 input@13'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -195,7 +195,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -211,7 +211,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -241,19 +241,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0044: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/uniqueFactors@13::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0058: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101SetOperators01/uniqueFactors@13::current + IL_005f: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current IL_0064: leave.s IL_0070 } // end .try @@ -282,7 +282,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method uniqueFactors@13::Close + } // end of method 'Pipe #1 input@13'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -291,7 +291,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -325,7 +325,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method uniqueFactors@13::get_CheckClose + } // end of method 'Pipe #1 input@13'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -335,9 +335,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::current + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current IL_0006: ret - } // end of method uniqueFactors@13::get_LastGenerated + } // end of method 'Pipe #1 input@13'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -349,18 +349,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101SetOperators01/uniqueFactors@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101SetOperators01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method uniqueFactors@13::GetFreshEnumerator + } // end of method 'Pipe #1 input@13'::GetFreshEnumerator - } // end of class uniqueFactors@13 + } // end of class 'Pipe #1 input@13' - .class auto ansi serializable sealed nested assembly beforefieldinit 'categoryNames@22-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101SetOperators01/'categoryNames@22-1' @_instance + .field static assembly initonly class Linq101SetOperators01/'Pipe #2 input@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -371,7 +371,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'categoryNames@22-1'::.ctor + } // end of method 'Pipe #2 input@22-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -387,21 +387,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'categoryNames@22-1'::Invoke + } // end of method 'Pipe #2 input@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101SetOperators01/'categoryNames@22-1'::.ctor() - IL_0005: stsfld class Linq101SetOperators01/'categoryNames@22-1' Linq101SetOperators01/'categoryNames@22-1'::@_instance + IL_0000: newobj instance void Linq101SetOperators01/'Pipe #2 input@22-1'::.ctor() + IL_0005: stsfld class Linq101SetOperators01/'Pipe #2 input@22-1' Linq101SetOperators01/'Pipe #2 input@22-1'::@_instance IL_000a: ret - } // end of method 'categoryNames@22-1'::.cctor + } // end of method 'Pipe #2 input@22-1'::.cctor - } // end of class 'categoryNames@22-1' + } // end of class 'Pipe #2 input@22-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname categoryNames@23 + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@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 ) @@ -426,17 +426,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0009: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101SetOperators01/categoryNames@23::current + IL_0010: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method categoryNames@23::.ctor + } // end of method 'Pipe #2 input@23'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -446,7 +446,7 @@ .locals init ([0] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -471,33 +471,33 @@ IL_0024: nop .line 23,23 : 9,26 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101SetOperators01/'categoryNames@22-1' Linq101SetOperators01/'categoryNames@22-1'::@_instance + IL_0026: ldsfld class Linq101SetOperators01/'Pipe #2 input@22-1' Linq101SetOperators01/'Pipe #2 input@22-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101SetOperators01::get_products() IL_0030: call class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0041: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc .line 23,23 : 9,26 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0077 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 23,23 : 16,26 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0061: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 IL_0068: callvirt instance string [Utils]Utils/Product::get_Category() - IL_006d: stfld string Linq101SetOperators01/categoryNames@23::current + IL_006d: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current IL_0072: ldc.i4.1 IL_0073: ret @@ -507,24 +507,24 @@ IL_0077: ldarg.0 IL_0078: ldc.i4.3 - IL_0079: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0079: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc .line 23,23 : 9,26 '' IL_007e: ldarg.0 - IL_007f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_007f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_0084: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0089: nop IL_008a: ldarg.0 IL_008b: ldnull - IL_008c: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_008c: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_0091: ldarg.0 IL_0092: ldc.i4.3 - IL_0093: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0093: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0098: ldarg.0 IL_0099: ldnull - IL_009a: stfld string Linq101SetOperators01/categoryNames@23::current + IL_009a: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current IL_009f: ldc.i4.0 IL_00a0: ret - } // end of method categoryNames@23::GenerateNext + } // end of method 'Pipe #2 input@23'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -535,7 +535,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -551,7 +551,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -581,19 +581,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0044: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/categoryNames@23::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0058: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101SetOperators01/categoryNames@23::current + IL_005f: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current IL_0064: leave.s IL_0070 } // end .try @@ -622,7 +622,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method categoryNames@23::Close + } // end of method 'Pipe #2 input@23'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -631,7 +631,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/categoryNames@23::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -665,7 +665,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method categoryNames@23::get_CheckClose + } // end of method 'Pipe #2 input@23'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -675,9 +675,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101SetOperators01/categoryNames@23::current + IL_0001: ldfld string Linq101SetOperators01/'Pipe #2 input@23'::current IL_0006: ret - } // end of method categoryNames@23::get_LastGenerated + } // end of method 'Pipe #2 input@23'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -689,13 +689,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101SetOperators01/categoryNames@23::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101SetOperators01/'Pipe #2 input@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method categoryNames@23::GetFreshEnumerator + } // end of method 'Pipe #2 input@23'::GetFreshEnumerator - } // end of class categoryNames@23 + } // end of class 'Pipe #2 input@23' .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -1512,7 +1512,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 202 (0xca) + // Code size 212 (0xd4) .maxstack 8 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 uniqueFactors, @@ -1521,10 +1521,12 @@ [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers, [5] class [mscorlib]System.Collections.Generic.IEnumerable`1 productFirstChars, [6] class [mscorlib]System.Collections.Generic.IEnumerable`1 customerFirstChars, - [7] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + [7] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, - [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, - [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10) + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) .line 9,9 : 1,31 '' IL_0000: ldc.i4.2 IL_0001: ldc.i4.2 @@ -1546,72 +1548,82 @@ IL_0024: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::factorsOf300@9 IL_0029: stloc.0 .line 11,15 : 1,20 '' - IL_002a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_002f: stloc.s V_7 - IL_0031: ldloc.s V_7 - IL_0033: ldnull - IL_0034: ldc.i4.0 + IL_002a: nop + .line 12,12 : 5,10 '' + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0030: stloc.s V_8 + IL_0032: ldloc.s V_8 + IL_0034: ldnull IL_0035: ldc.i4.0 - IL_0036: newobj instance void Linq101SetOperators01/uniqueFactors@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_003b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0040: 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_0045: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_004a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_004f: dup - IL_0050: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::uniqueFactors@11 - IL_0055: stloc.1 + IL_0036: ldc.i4.0 + IL_0037: newobj instance void Linq101SetOperators01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0041: 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_0046: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.s 'Pipe #1 input' + .line 15,15 : 10,20 '' + IL_004d: ldloc.s 'Pipe #1 input' + IL_004f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0054: dup + IL_0055: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::uniqueFactors@11 + IL_005a: stloc.1 .line 18,18 : 1,32 '' - IL_0056: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_005b: dup - IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::products@18 - IL_0061: stloc.2 + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0060: dup + IL_0061: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::products@18 + IL_0066: stloc.2 .line 20,25 : 1,20 '' - IL_0062: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0067: stloc.s V_8 - IL_0069: ldloc.s V_8 - IL_006b: ldnull - IL_006c: ldc.i4.0 - IL_006d: ldnull - IL_006e: newobj instance void Linq101SetOperators01/categoryNames@23::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_0073: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0078: 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_007d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0082: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0087: dup - IL_0088: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::categoryNames@20 - IL_008d: stloc.3 + IL_0067: nop + .line 21,21 : 5,10 '' + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_006d: stloc.s V_10 + IL_006f: ldloc.s V_10 + IL_0071: ldnull + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: newobj instance void Linq101SetOperators01/'Pipe #2 input@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0079: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007e: 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_0083: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0088: stloc.s 'Pipe #2 input' + .line 25,25 : 10,20 '' + IL_008a: ldloc.s 'Pipe #2 input' + IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0091: dup + IL_0092: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::categoryNames@20 + IL_0097: stloc.3 .line 28,28 : 1,34 '' - IL_008e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_0093: dup - IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::customers@28 - IL_0099: stloc.s customers - IL_009b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00a0: stloc.s V_9 - IL_00a2: ldnull - IL_00a3: ldc.i4.0 - IL_00a4: ldc.i4.0 - IL_00a5: newobj instance void Linq101SetOperators01/productFirstChars@33::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0098: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_009d: dup + IL_009e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::customers@28 + IL_00a3: stloc.s customers + IL_00a5: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00aa: stloc.s V_11 + IL_00ac: ldnull + IL_00ad: ldc.i4.0 + IL_00ae: ldc.i4.0 + IL_00af: newobj instance void Linq101SetOperators01/productFirstChars@33::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, char) - IL_00aa: dup - IL_00ab: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101SetOperators01::productFirstChars@30 - IL_00b0: stloc.s productFirstChars - IL_00b2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00b7: stloc.s V_10 - IL_00b9: ldnull - IL_00ba: ldc.i4.0 - IL_00bb: ldc.i4.0 - IL_00bc: newobj instance void Linq101SetOperators01/customerFirstChars@39::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_00b4: dup + IL_00b5: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101SetOperators01::productFirstChars@30 + IL_00ba: stloc.s productFirstChars + IL_00bc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00c1: stloc.s V_12 + IL_00c3: ldnull + IL_00c4: ldc.i4.0 + IL_00c5: ldc.i4.0 + IL_00c6: newobj instance void Linq101SetOperators01/customerFirstChars@39::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, char) - IL_00c1: dup - IL_00c2: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101SetOperators01::customerFirstChars@36 - IL_00c7: stloc.s customerFirstChars - IL_00c9: ret + IL_00cb: dup + IL_00cc: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101SetOperators01::customerFirstChars@36 + IL_00d1: stloc.s customerFirstChars + IL_00d3: ret } // end of method $Linq101SetOperators01::main@ } // end of class ''.$Linq101SetOperators01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl index 600f06b3b2..0e3a75855d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D0 Length: 0x0000012E } .module Linq101Where01.exe -// MVID: {60BD414C-FF23-CD21-A745-03834C41BD60} +// MVID: {6116A45B-FF23-CD21-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05350000 +// Image base: 0x050C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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 lowNums@14 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -78,9 +78,9 @@ 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 Linq101Where01/lowNums@14::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #1 input@14'::builder@ IL_000d: ret - } // end of method lowNums@14::.ctor + } // end of method 'Pipe #1 input@14'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -94,19 +94,19 @@ IL_0001: stloc.0 .line 15,15 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/lowNums@14::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #1 input@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 - } // end of method lowNums@14::Invoke + } // end of method 'Pipe #1 input@14'::Invoke - } // end of class lowNums@14 + } // end of class 'Pipe #1 input@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@15-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Where01/'lowNums@15-1' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #1 input@15-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -117,7 +117,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'lowNums@15-1'::.ctor + } // end of method 'Pipe #1 input@15-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -129,24 +129,24 @@ IL_0001: ldc.i4.5 IL_0002: clt IL_0004: ret - } // end of method 'lowNums@15-1'::Invoke + } // end of method 'Pipe #1 input@15-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'lowNums@15-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'lowNums@15-1' Linq101Where01/'lowNums@15-1'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #1 input@15-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #1 input@15-1' Linq101Where01/'Pipe #1 input@15-1'::@_instance IL_000a: ret - } // end of method 'lowNums@15-1'::.cctor + } // end of method 'Pipe #1 input@15-1'::.cctor - } // end of class 'lowNums@15-1' + } // end of class 'Pipe #1 input@15-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@16-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@16-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Where01/'lowNums@16-2' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #1 input@16-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -157,7 +157,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'lowNums@16-2'::.ctor + } // end of method 'Pipe #1 input@16-2'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -167,19 +167,19 @@ .line 16,16 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'lowNums@16-2'::Invoke + } // end of method 'Pipe #1 input@16-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'lowNums@16-2'::.ctor() - IL_0005: stsfld class Linq101Where01/'lowNums@16-2' Linq101Where01/'lowNums@16-2'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #1 input@16-2'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #1 input@16-2' Linq101Where01/'Pipe #1 input@16-2'::@_instance IL_000a: ret - } // end of method 'lowNums@16-2'::.cctor + } // end of method 'Pipe #1 input@16-2'::.cctor - } // end of class 'lowNums@16-2' + } // end of class 'Pipe #1 input@16-2' .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -443,7 +443,7 @@ } // end of class 'expensiveInStockProducts@34-2' - .class auto ansi serializable sealed nested assembly beforefieldinit waCustomers@42 + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@42' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -461,9 +461,9 @@ 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 Linq101Where01/waCustomers@42::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #2 input@42'::builder@ IL_000d: ret - } // end of method waCustomers@42::.ctor + } // end of method 'Pipe #2 input@42'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -476,19 +476,19 @@ IL_0001: stloc.0 .line 43,43 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/waCustomers@42::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #2 input@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 - } // end of method waCustomers@42::Invoke + } // end of method 'Pipe #2 input@42'::Invoke - } // end of class waCustomers@42 + } // end of class 'Pipe #2 input@42' - .class auto ansi serializable sealed nested assembly beforefieldinit 'waCustomers@43-1' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@43-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Where01/'waCustomers@43-1' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #2 input@43-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -499,7 +499,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'waCustomers@43-1'::.ctor + } // end of method 'Pipe #2 input@43-1'::.ctor .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed @@ -513,24 +513,24 @@ IL_000b: call bool [netstandard]System.String::Equals(string, string) IL_0010: ret - } // end of method 'waCustomers@43-1'::Invoke + } // end of method 'Pipe #2 input@43-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'waCustomers@43-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'waCustomers@43-1' Linq101Where01/'waCustomers@43-1'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #2 input@43-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #2 input@43-1' Linq101Where01/'Pipe #2 input@43-1'::@_instance IL_000a: ret - } // end of method 'waCustomers@43-1'::.cctor + } // end of method 'Pipe #2 input@43-1'::.cctor - } // end of class 'waCustomers@43-1' + } // end of class 'Pipe #2 input@43-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'waCustomers@44-2' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@44-2' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class Linq101Where01/'waCustomers@44-2' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #2 input@44-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -541,7 +541,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'waCustomers@44-2'::.ctor + } // end of method 'Pipe #2 input@44-2'::.ctor .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed @@ -551,114 +551,24 @@ .line 44,44 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'waCustomers@44-2'::Invoke + } // end of method 'Pipe #2 input@44-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'waCustomers@44-2'::.ctor() - IL_0005: stsfld class Linq101Where01/'waCustomers@44-2' Linq101Where01/'waCustomers@44-2'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #2 input@44-2'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #2 input@44-2' Linq101Where01/'Pipe #2 input@44-2'::@_instance IL_000a: ret - } // end of method 'waCustomers@44-2'::.cctor + } // end of method 'Pipe #2 input@44-2'::.cctor - } // end of class 'waCustomers@44-2' + } // end of class 'Pipe #2 input@44-2' - .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 Linq101Where01/shortDigits@55 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 7 (0x7) - .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 - } // end of method shortDigits@55::.ctor - - .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 - { - // Code size 9 (0x9) - .maxstack 8 - .line 55,55 : 19,21 '' - IL_0000: ldarg.1 - IL_0001: tail. - IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) - IL_0008: ret - } // end of method shortDigits@55::Invoke - - .method private specialname rtspecialname static - void .cctor() cil managed - { - // Code size 11 (0xb) - .maxstack 10 - IL_0000: newobj instance void Linq101Where01/shortDigits@55::.ctor() - IL_0005: stsfld class Linq101Where01/shortDigits@55 Linq101Where01/shortDigits@55::@_instance - IL_000a: ret - } // end of method shortDigits@55::.cctor - - } // end of class shortDigits@55 - - .class auto ansi serializable sealed nested assembly beforefieldinit 'shortDigits@54-1' - extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> - { - .field static assembly initonly class Linq101Where01/'shortDigits@54-1' @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() - IL_0006: ret - } // end of method 'shortDigits@54-1'::.ctor - - .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 - Invoke(int32 i, - string d) cil managed - { - // Code size 18 (0x12) - .maxstack 8 - .line 54,54 : 29,49 '' - IL_0000: ldarg.2 - IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_0006: ldarg.1 - IL_0007: bge.s IL_0010 - - .line 54,54 : 50,57 '' - IL_0009: ldarg.2 - IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) - IL_000f: ret - - .line 54,54 : 63,67 '' - IL_0010: ldnull - IL_0011: ret - } // end of method 'shortDigits@54-1'::Invoke - - .method private specialname rtspecialname static - void .cctor() cil managed - { - // Code size 11 (0xb) - .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'shortDigits@54-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'shortDigits@54-1' Linq101Where01/'shortDigits@54-1'::@_instance - IL_000a: ret - } // end of method 'shortDigits@54-1'::.cctor - - } // end of class 'shortDigits@54-1' - - .class auto ansi serializable sealed nested assembly beforefieldinit 'shortDigits@51-3' + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@51-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { - .field static assembly initonly class Linq101Where01/'shortDigits@51-3' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #3 input@51-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -669,7 +579,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'shortDigits@51-3'::.ctor + } // end of method 'Pipe #3 input@51-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed @@ -685,21 +595,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'shortDigits@51-3'::Invoke + } // end of method 'Pipe #3 input@51-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'shortDigits@51-3'::.ctor() - IL_0005: stsfld class Linq101Where01/'shortDigits@51-3' Linq101Where01/'shortDigits@51-3'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #3 input@51-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #3 input@51-1' Linq101Where01/'Pipe #3 input@51-1'::@_instance IL_000a: ret - } // end of method 'shortDigits@51-3'::.cctor + } // end of method 'Pipe #3 input@51-1'::.cctor - } // end of class 'shortDigits@51-3' + } // end of class 'Pipe #3 input@51-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'shortDigits@52-2' + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@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 ) @@ -724,17 +634,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0009: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Where01/'shortDigits@52-2'::current + IL_0010: stfld string Linq101Where01/'Pipe #3 input@52'::current IL_0015: ldarg.0 IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() IL_001b: ret - } // end of method 'shortDigits@52-2'::.ctor + } // end of method 'Pipe #3 input@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -744,7 +654,7 @@ .locals init ([0] string d) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -769,32 +679,32 @@ IL_0024: nop .line 52,52 : 9,17 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Where01/'shortDigits@51-3' Linq101Where01/'shortDigits@51-3'::@_instance + IL_0026: ldsfld class Linq101Where01/'Pipe #3 input@51-1' Linq101Where01/'Pipe #3 input@51-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_digits() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0041: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc .line 52,52 : 9,17 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0072 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 52,52 : 16,17 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0061: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 - IL_0068: stfld string Linq101Where01/'shortDigits@52-2'::current + IL_0068: stfld string Linq101Where01/'Pipe #3 input@52'::current IL_006d: ldc.i4.1 IL_006e: ret @@ -804,24 +714,24 @@ IL_0072: ldarg.0 IL_0073: ldc.i4.3 - IL_0074: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0074: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc .line 52,52 : 9,17 '' IL_0079: ldarg.0 - IL_007a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_007a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_007f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0084: nop IL_0085: ldarg.0 IL_0086: ldnull - IL_0087: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_0087: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_008c: ldarg.0 IL_008d: ldc.i4.3 - IL_008e: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_008e: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0093: ldarg.0 IL_0094: ldnull - IL_0095: stfld string Linq101Where01/'shortDigits@52-2'::current + IL_0095: stfld string Linq101Where01/'Pipe #3 input@52'::current IL_009a: ldc.i4.0 IL_009b: ret - } // end of method 'shortDigits@52-2'::GenerateNext + } // end of method 'Pipe #3 input@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -832,7 +742,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -848,7 +758,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0018: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -878,19 +788,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0044: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'shortDigits@52-2'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0058: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Where01/'shortDigits@52-2'::current + IL_005f: stfld string Linq101Where01/'Pipe #3 input@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -919,7 +829,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'shortDigits@52-2'::Close + } // end of method 'Pipe #3 input@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -928,7 +838,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'shortDigits@52-2'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -962,7 +872,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'shortDigits@52-2'::get_CheckClose + } // end of method 'Pipe #3 input@52'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -972,9 +882,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Where01/'shortDigits@52-2'::current + IL_0001: ldfld string Linq101Where01/'Pipe #3 input@52'::current IL_0006: ret - } // end of method 'shortDigits@52-2'::get_LastGenerated + } // end of method 'Pipe #3 input@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -986,13 +896,103 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Where01/'shortDigits@52-2'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_0003: newobj instance void Linq101Where01/'Pipe #3 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) IL_0008: ret - } // end of method 'shortDigits@52-2'::GetFreshEnumerator + } // end of method 'Pipe #3 input@52'::GetFreshEnumerator + + } // end of class 'Pipe #3 input@52' + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1@54' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class Linq101Where01/'Pipe #3 stage #1@54' @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } // end of method 'Pipe #3 stage #1@54'::.ctor + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 + Invoke(int32 i, + string d) cil managed + { + // Code size 18 (0x12) + .maxstack 8 + .line 54,54 : 29,49 '' + IL_0000: ldarg.2 + IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_0006: ldarg.1 + IL_0007: bge.s IL_0010 + + .line 54,54 : 50,57 '' + IL_0009: ldarg.2 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000f: ret + + .line 54,54 : 63,67 '' + IL_0010: ldnull + IL_0011: ret + } // end of method 'Pipe #3 stage #1@54'::Invoke + + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 10 + IL_0000: newobj instance void Linq101Where01/'Pipe #3 stage #1@54'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #3 stage #1@54' Linq101Where01/'Pipe #3 stage #1@54'::@_instance + IL_000a: ret + } // end of method 'Pipe #3 stage #1@54'::.cctor + + } // end of class 'Pipe #3 stage #1@54' + + .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 Linq101Where01/shortDigits@55 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .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 + } // end of method shortDigits@55::.ctor + + .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 + { + // Code size 9 (0x9) + .maxstack 8 + .line 55,55 : 19,21 '' + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) + IL_0008: ret + } // end of method shortDigits@55::Invoke - } // end of class 'shortDigits@52-2' + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 10 + IL_0000: newobj instance void Linq101Where01/shortDigits@55::.ctor() + IL_0005: stsfld class Linq101Where01/shortDigits@55 Linq101Where01/shortDigits@55::@_instance + IL_000a: ret + } // end of method shortDigits@55::.cctor + + } // end of class shortDigits@55 .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed @@ -1159,7 +1159,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 543 (0x21f) + // Code size 562 (0x232) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums, @@ -1170,11 +1170,15 @@ [6] class [Utils]Utils/Customer[] waCustomers, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits, [8] class [mscorlib]System.Collections.Generic.IEnumerable`1 shortDigits, - [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13) + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 stage #1') .line 9,9 : 1,47 '' IL_0000: ldc.i4.5 IL_0001: ldc.i4.4 @@ -1211,123 +1215,129 @@ IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::numbers@9 IL_0048: stloc.0 .line 12,17 : 1,20 '' - IL_0049: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_004e: stloc.s V_9 - IL_0050: ldloc.s V_9 - IL_0052: ldloc.s V_9 - IL_0054: ldloc.s V_9 - IL_0056: ldloc.s V_9 - IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_numbers() - IL_005d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0062: ldloc.s V_9 - IL_0064: newobj instance void Linq101Where01/lowNums@14::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0069: 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, + IL_0049: nop + .line 13,13 : 5,10 '' + IL_004a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004f: stloc.s V_10 + IL_0051: ldloc.s V_10 + IL_0053: ldloc.s V_10 + IL_0055: ldloc.s V_10 + IL_0057: ldloc.s V_10 + IL_0059: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_numbers() + IL_005e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0063: ldloc.s V_10 + IL_0065: newobj instance void Linq101Where01/'Pipe #1 input@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_006a: 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_006e: ldsfld class Linq101Where01/'lowNums@15-1' Linq101Where01/'lowNums@15-1'::@_instance - IL_0073: 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, + IL_006f: ldsfld class Linq101Where01/'Pipe #1 input@15-1' Linq101Where01/'Pipe #1 input@15-1'::@_instance + IL_0074: 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_0078: ldsfld class Linq101Where01/'lowNums@16-2' Linq101Where01/'lowNums@16-2'::@_instance - IL_007d: 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, + IL_0079: ldsfld class Linq101Where01/'Pipe #1 input@16-2' Linq101Where01/'Pipe #1 input@16-2'::@_instance + IL_007e: 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_0082: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0087: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_008c: dup - IL_008d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::lowNums@12 - IL_0092: stloc.1 + IL_0083: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0088: stloc.s 'Pipe #1 input' + .line 17,17 : 10,20 '' + IL_008a: ldloc.s 'Pipe #1 input' + IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0091: dup + IL_0092: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::lowNums@12 + IL_0097: stloc.1 .line 20,20 : 1,32 '' - IL_0093: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() - IL_0098: dup - IL_0099: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::products@20 - IL_009e: stloc.2 - IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00a4: stloc.s V_10 - IL_00a6: ldloc.s V_10 - IL_00a8: ldloc.s V_10 - IL_00aa: ldloc.s V_10 - IL_00ac: ldloc.s V_10 - IL_00ae: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_products() - IL_00b3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00b8: ldloc.s V_10 - IL_00ba: newobj instance void Linq101Where01/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_00bf: 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, + IL_0098: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_009d: dup + IL_009e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::products@20 + IL_00a3: stloc.2 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_11 + IL_00ab: ldloc.s V_11 + IL_00ad: ldloc.s V_11 + IL_00af: ldloc.s V_11 + IL_00b1: ldloc.s V_11 + IL_00b3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_products() + IL_00b8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00bd: ldloc.s V_11 + IL_00bf: newobj instance void Linq101Where01/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00c4: 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_00c4: ldsfld class Linq101Where01/'soldOutProducts@25-1' Linq101Where01/'soldOutProducts@25-1'::@_instance - IL_00c9: 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, + IL_00c9: ldsfld class Linq101Where01/'soldOutProducts@25-1' Linq101Where01/'soldOutProducts@25-1'::@_instance + IL_00ce: 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_00ce: ldsfld class Linq101Where01/'soldOutProducts@26-2' Linq101Where01/'soldOutProducts@26-2'::@_instance - IL_00d3: 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, + IL_00d3: ldsfld class Linq101Where01/'soldOutProducts@26-2' Linq101Where01/'soldOutProducts@26-2'::@_instance + IL_00d8: 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_00d8: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00dd: dup - IL_00de: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::soldOutProducts@22 - IL_00e3: stloc.3 - IL_00e4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_00e9: stloc.s V_11 - IL_00eb: ldloc.s V_11 - IL_00ed: ldloc.s V_11 - IL_00ef: ldloc.s V_11 - IL_00f1: ldloc.s V_11 - IL_00f3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_products() - IL_00f8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00fd: ldloc.s V_11 - IL_00ff: newobj instance void Linq101Where01/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0104: 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, + IL_00dd: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e2: dup + IL_00e3: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::soldOutProducts@22 + IL_00e8: stloc.3 + IL_00e9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00ee: stloc.s V_12 + IL_00f0: ldloc.s V_12 + IL_00f2: ldloc.s V_12 + IL_00f4: ldloc.s V_12 + IL_00f6: ldloc.s V_12 + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_products() + IL_00fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0102: ldloc.s V_12 + IL_0104: newobj instance void Linq101Where01/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0109: 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_0109: ldsfld class Linq101Where01/'expensiveInStockProducts@33-1' Linq101Where01/'expensiveInStockProducts@33-1'::@_instance - IL_010e: 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, + IL_010e: ldsfld class Linq101Where01/'expensiveInStockProducts@33-1' Linq101Where01/'expensiveInStockProducts@33-1'::@_instance + IL_0113: 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_0113: ldsfld class Linq101Where01/'expensiveInStockProducts@34-2' Linq101Where01/'expensiveInStockProducts@34-2'::@_instance - IL_0118: 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, + IL_0118: ldsfld class Linq101Where01/'expensiveInStockProducts@34-2' Linq101Where01/'expensiveInStockProducts@34-2'::@_instance + IL_011d: 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_011d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0122: dup - IL_0123: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::expensiveInStockProducts@30 - IL_0128: stloc.s expensiveInStockProducts + IL_0122: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0127: dup + IL_0128: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::expensiveInStockProducts@30 + IL_012d: stloc.s expensiveInStockProducts .line 38,38 : 1,34 '' - IL_012a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_012f: dup - IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::customers@38 - IL_0135: stloc.s customers + IL_012f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0134: dup + IL_0135: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::customers@38 + IL_013a: stloc.s customers .line 40,45 : 1,21 '' - IL_0137: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_013c: stloc.s V_12 - IL_013e: ldloc.s V_12 - IL_0140: ldloc.s V_12 - IL_0142: ldloc.s V_12 - IL_0144: ldloc.s V_12 - IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_customers() - IL_014b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0150: ldloc.s V_12 - IL_0152: newobj instance void Linq101Where01/waCustomers@42::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0157: 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, + IL_013c: nop + .line 41,41 : 5,10 '' + IL_013d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0142: stloc.s V_14 + IL_0144: ldloc.s V_14 + IL_0146: ldloc.s V_14 + IL_0148: ldloc.s V_14 + IL_014a: ldloc.s V_14 + IL_014c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_customers() + IL_0151: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0156: ldloc.s V_14 + IL_0158: newobj instance void Linq101Where01/'Pipe #2 input@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_015d: 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_015c: ldsfld class Linq101Where01/'waCustomers@43-1' Linq101Where01/'waCustomers@43-1'::@_instance - IL_0161: 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, + IL_0162: ldsfld class Linq101Where01/'Pipe #2 input@43-1' Linq101Where01/'Pipe #2 input@43-1'::@_instance + IL_0167: 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_0166: ldsfld class Linq101Where01/'waCustomers@44-2' Linq101Where01/'waCustomers@44-2'::@_instance - IL_016b: 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, + IL_016c: ldsfld class Linq101Where01/'Pipe #2 input@44-2' Linq101Where01/'Pipe #2 input@44-2'::@_instance + IL_0171: 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_0170: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0175: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_017a: dup - IL_017b: stsfld class [Utils]Utils/Customer[] ''.$Linq101Where01::waCustomers@40 - IL_0180: stloc.s waCustomers + IL_0176: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_017b: stloc.s 'Pipe #2 input' + .line 45,45 : 10,21 '' + IL_017d: ldloc.s 'Pipe #2 input' + IL_017f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0184: dup + IL_0185: stsfld class [Utils]Utils/Customer[] ''.$Linq101Where01::waCustomers@40 + IL_018a: stloc.s waCustomers .line 48,48 : 1,96 '' - IL_0182: ldstr "zero" - IL_0187: ldstr "one" - IL_018c: ldstr "two" - IL_0191: ldstr "three" - IL_0196: ldstr "four" - IL_019b: ldstr "five" - IL_01a0: ldstr "six" - IL_01a5: ldstr "seven" - IL_01aa: ldstr "eight" - IL_01af: ldstr "nine" - IL_01b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_01b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_01be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_018c: ldstr "zero" + IL_0191: ldstr "one" + IL_0196: ldstr "two" + IL_019b: ldstr "three" + IL_01a0: ldstr "four" + IL_01a5: ldstr "five" + IL_01aa: ldstr "six" + IL_01af: ldstr "seven" + IL_01b4: ldstr "eight" + IL_01b9: ldstr "nine" + IL_01be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() IL_01c3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_01c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, @@ -1344,28 +1354,40 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_01e6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_01eb: dup - IL_01ec: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::digits@48 - IL_01f1: stloc.s digits + IL_01eb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01f0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01f5: dup + IL_01f6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::digits@48 + IL_01fb: stloc.s digits .line 49,55 : 1,21 '' - IL_01f3: ldsfld class Linq101Where01/shortDigits@55 Linq101Where01/shortDigits@55::@_instance - IL_01f8: ldsfld class Linq101Where01/'shortDigits@54-1' Linq101Where01/'shortDigits@54-1'::@_instance - IL_01fd: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0202: stloc.s V_13 - IL_0204: ldnull - IL_0205: ldc.i4.0 - IL_0206: ldnull - IL_0207: newobj instance void Linq101Where01/'shortDigits@52-2'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + IL_01fd: nop + .line 50,50 : 5,10 '' + IL_01fe: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0203: stloc.s V_16 + IL_0205: ldnull + IL_0206: ldc.i4.0 + IL_0207: ldnull + IL_0208: newobj instance void Linq101Where01/'Pipe #3 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, int32, string) - IL_020c: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + IL_020d: stloc.s 'Pipe #3 input' + .line 54,54 : 8,68 '' + IL_020f: ldsfld class Linq101Where01/'Pipe #3 stage #1@54' Linq101Where01/'Pipe #3 stage #1@54'::@_instance + IL_0214: ldloc.s 'Pipe #3 input' + IL_0216: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0211: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + IL_021b: stloc.s 'Pipe #3 stage #1' + .line 55,55 : 8,21 '' + IL_021d: ldsfld class Linq101Where01/shortDigits@55 Linq101Where01/shortDigits@55::@_instance + IL_0222: ldloc.s 'Pipe #3 stage #1' + IL_0224: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0216: dup - IL_0217: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::shortDigits@49 - IL_021c: stloc.s shortDigits - IL_021e: ret + IL_0229: dup + IL_022a: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1 ''.$Linq101Where01::shortDigits@49 + IL_022f: stloc.s shortDigits + IL_0231: ret } // end of method $Linq101Where01::main@ } // end of class ''.$Linq101Where01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl index 7ea3b26508..f3764639a1 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest1.exe -// MVID: {60B78A59-2432-947D-A745-0383598AB760} +// MVID: {6116A45B-2432-947D-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A30000 +// Image base: 0x051B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -231,13 +231,17 @@ .method public static void main@() cil managed { .entrypoint - // Code size 12 (0xc) - .maxstack 8 - .line 8,8 : 13,30 '' + // Code size 14 (0xe) + .maxstack 3 + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .line 8,8 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1::f0() - IL_0005: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_000a: pop - IL_000b: ret + IL_0005: stloc.0 + .line 8,8 : 20,30 '' + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret } // end of method $SeqExpressionSteppingTest1::main@ } // end of class ''.$SeqExpressionSteppingTest1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl index f061027f19..ebb1020ba3 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest2.exe -// MVID: {60B78A59-2432-951E-A745-0383598AB760} +// MVID: {6116A45B-2432-951E-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06BF0000 +// Image base: 0x05000000 // =============== CLASS MEMBERS DECLARATION =================== @@ -264,13 +264,17 @@ .method public static void main@() cil managed { .entrypoint - // Code size 12 (0xc) - .maxstack 8 - .line 10,10 : 13,30 '' + // Code size 14 (0xe) + .maxstack 3 + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .line 10,10 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2::f1() - IL_0005: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_000a: pop - IL_000b: ret + IL_0005: stloc.0 + .line 10,10 : 20,30 '' + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret } // end of method $SeqExpressionSteppingTest2::main@ } // end of class ''.$SeqExpressionSteppingTest2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl index d227238134..8083492566 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000278 Length: 0x000000AD } .module SeqExpressionSteppingTest3.exe -// MVID: {60B78A59-2432-943F-A745-0383598AB760} +// MVID: {6116A45B-2432-943F-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x065D0000 +// Image base: 0x052D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -268,13 +268,17 @@ .method public static void main@() cil managed { .entrypoint - // Code size 12 (0xc) - .maxstack 8 - .line 11,11 : 13,30 '' + // Code size 14 (0xe) + .maxstack 3 + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input') + .line 11,11 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1> SeqExpressionSteppingTest3/SeqExpressionSteppingTest3::f2() - IL_0005: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_000a: pop - IL_000b: ret + IL_0005: stloc.0 + .line 11,11 : 20,30 '' + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret } // end of method $SeqExpressionSteppingTest3::main@ } // end of class ''.$SeqExpressionSteppingTest3 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl index 91921e1a0f..384676fc61 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest4.exe -// MVID: {60B78A59-2432-93E0-A745-0383598AB760} +// MVID: {6116A45B-2432-93E0-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06580000 +// Image base: 0x065C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -311,13 +311,17 @@ .method public static void main@() cil managed { .entrypoint - // Code size 12 (0xc) - .maxstack 8 - .line 13,13 : 13,30 '' + // Code size 14 (0xe) + .maxstack 3 + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .line 13,13 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4::f3() - IL_0005: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_000a: pop - IL_000b: ret + IL_0005: stloc.0 + .line 13,13 : 20,30 '' + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret } // end of method $SeqExpressionSteppingTest4::main@ } // end of class ''.$SeqExpressionSteppingTest4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl index 0d7bed5355..4442851f36 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest5.exe -// MVID: {60BD414C-2432-9401-A745-03834C41BD60} +// MVID: {6116A45B-2432-9401-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05410000 +// Image base: 0x07120000 // =============== CLASS MEMBERS DECLARATION =================== @@ -436,13 +436,17 @@ .method public static void main@() cil managed { .entrypoint - // Code size 12 (0xc) - .maxstack 8 - .line 16,16 : 13,30 '' + // Code size 14 (0xe) + .maxstack 3 + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .line 16,16 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5::f4() - IL_0005: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_000a: pop - IL_000b: ret + IL_0005: stloc.0 + .line 16,16 : 20,30 '' + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret } // end of method $SeqExpressionSteppingTest5::main@ } // end of class ''.$SeqExpressionSteppingTest5 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl index f12c496674..f3227c1b5b 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BA } .module SeqExpressionSteppingTest6.exe -// MVID: {60BD414C-2432-94A2-A745-03834C41BD60} +// MVID: {6116A45B-2432-94A2-A745-03835BA41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06E80000 +// Image base: 0x06DF0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -511,9 +511,10 @@ .method public static void main@() cil managed { .entrypoint - // Code size 42 (0x2a) + // Code size 44 (0x2c) .maxstack 6 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es) + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es, + [1] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') .line 4,4 : 5,21 '' IL_0000: ldc.i4.1 IL_0001: ldc.i4.2 @@ -528,11 +529,14 @@ IL_0017: dup IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$SeqExpressionSteppingTest6::es@4 IL_001d: stloc.0 - .line 13,13 : 13,31 '' + .line 13,13 : 13,17 '' IL_001e: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::f7() - IL_0023: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0028: pop - IL_0029: ret + IL_0023: stloc.1 + .line 13,13 : 21,31 '' + IL_0024: ldloc.1 + IL_0025: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002a: pop + IL_002b: ret } // end of method $SeqExpressionSteppingTest6::main@ } // end of class ''.$SeqExpressionSteppingTest6 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl index 71b2315034..8061dba4d6 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F0 Length: 0x00000072 } .module TestFunction15.exe -// MVID: {60B68B97-A624-4662-A745-0383978BB660} +// MVID: {6116A469-A624-4662-A745-038369A41661} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06B30000 +// Image base: 0x05410000 // =============== CLASS MEMBERS DECLARATION =================== @@ -96,26 +96,29 @@ TestFunction15(int32 inp) cil managed { // Code size 40 (0x28) - .maxstack 7 - .locals init ([0] int32 x) + .maxstack 6 + .locals init ([0] int32 x, + [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input') .line 5,5 : 5,18 '' IL_0000: ldarg.0 IL_0001: ldc.i4.1 IL_0002: add IL_0003: stloc.0 - .line 6,6 : 5,41 '' - IL_0004: ldsfld class TestFunction15/TestFunction15@6 TestFunction15/TestFunction15@6::@_instance - IL_0009: ldc.i4.1 - IL_000a: ldc.i4.2 - IL_000b: ldc.i4.3 - IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + .line 6,6 : 5,12 '' + IL_0004: ldc.i4.1 + IL_0005: ldc.i4.2 + IL_0006: ldc.i4.3 + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0011: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_001b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0020: tail. + IL_001b: stloc.1 + .line 6,6 : 16,41 '' + IL_001c: ldsfld class TestFunction15/TestFunction15@6 TestFunction15/TestFunction15@6::@_instance + IL_0021: ldloc.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: ret diff --git a/tests/service/ExprTests.fs b/tests/service/ExprTests.fs index 8514267d18..7c8f201415 100644 --- a/tests/service/ExprTests.fs +++ b/tests/service/ExprTests.fs @@ -949,15 +949,15 @@ let ``Test Optimized Declarations Project1`` () = "let start(name) = (name,name) @ (217,4--217,14)"; "let last(name,values) = Operators.Identity ((name,values)) @ (220,4--220,21)"; "let last2(name) = Operators.Identity (name) @ (223,4--223,11)"; - "let test7(s) = let tupledArg: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = M.start (s) in let name: Microsoft.FSharp.Core.string = tupledArg.Item0 in let values: Microsoft.FSharp.Core.string = tupledArg.Item1 in M.last (name,values) @ (226,4--226,19)"; + "let test7(s) = let Pipe #1 input: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = M.start (s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input.Item1 in M.last (name,values); ()) @ (226,4--226,19)"; "let test8(unitVar0) = fun tupledArg -> let name: Microsoft.FSharp.Core.string = tupledArg.Item0 in let values: Microsoft.FSharp.Core.string = tupledArg.Item1 in M.last (name,values) @ (229,4--229,8)"; - "let test9(s) = M.last (s,s) @ (232,4--232,17)"; + "let test9(s) = let Pipe #1 input: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = (s,s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input.Item1 in M.last (name,values); ()) @ (232,4--232,17)"; "let test10(unitVar0) = fun name -> M.last2 (name) @ (235,4--235,9)"; - "let test11(s) = M.last2 (s) @ (238,4--238,14)"; + "let test11(s) = let Pipe #1 input: Microsoft.FSharp.Core.string = s in (M.last2 (Pipe #1 input); ()) @ (238,4--238,14)"; "let badLoop = badLoop@240.Force Microsoft.FSharp.Core.int>(()) @ (240,8--240,15)"; "type LetLambda"; "let f = fun a -> fun b -> Operators.op_Addition (fun arg0_0 -> fun arg1_0 -> LanguagePrimitives.AdditionDynamic (arg0_0,arg1_0),a,b) @ (247,8--247,24)"; - "let letLambdaRes = ListModule.Map (fun tupledArg -> let a: Microsoft.FSharp.Core.int = tupledArg.Item0 in let b: Microsoft.FSharp.Core.int = tupledArg.Item1 in (LetLambda.f () a) b,Cons((1,2),Empty())) @ (249,19--249,71)"; + "let letLambdaRes = let Pipe #1 input: (Microsoft.FSharp.Core.int * Microsoft.FSharp.Core.int) Microsoft.FSharp.Collections.list = Cons((1,2),Empty()) in (ListModule.Map (fun tupledArg -> let a: Microsoft.FSharp.Core.int = tupledArg.Item0 in let b: Microsoft.FSharp.Core.int = tupledArg.Item1 in (LetLambda.f () a) b,Pipe #1 input); ()) @ (249,19--249,71)"; "let anonRecd = {X = 1; Y = 2} @ (251,15--251,33)"; "let anonRecdGet = (M.anonRecd ().X,M.anonRecd ().Y) @ (252,19--252,41)"] let expected2 = From d39b54c3f22c56c757e2aad50d40d2a0f0228cb3 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Fri, 13 Aug 2021 23:33:53 +0100 Subject: [PATCH 06/24] support for ||> and ||> --- src/fsharp/Optimizer.fs | 126 +++++++++++++++++++++++------------ src/fsharp/SyntaxTreeOps.fs | 20 ++++++ src/fsharp/SyntaxTreeOps.fsi | 4 ++ src/fsharp/TcGlobals.fs | 4 ++ src/fsharp/TypedTreeOps.fs | 18 ++++- src/fsharp/TypedTreeOps.fsi | 12 +++- 6 files changed, 140 insertions(+), 44 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 5f7c457f94..ab29d73409 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -2052,10 +2052,18 @@ let rec OptimizeExpr cenv (env: IncrementalOptimizationEnv) expr = match expr with | DelegateInvokeExpr cenv.g (iref, fty, tyargs, delegatef, args, m) -> OptimizeFSharpDelegateInvoke cenv env (iref, delegatef, fty, tyargs, args, m) - | OpPipeRight cenv.g _ when cenv.settings.DebugPointsForPipeRight -> - OptimizeDebugPipeRights cenv env expr | _ -> - + let attempt = + if cenv.settings.DebugPointsForPipeRight then + match expr with + | OpPipeRight cenv.g _ + | OpPipeRight2 cenv.g _ + | OpPipeRight3 cenv.g _ -> Some (OptimizeDebugPipeRights cenv env expr) + | _ -> None + else None + match attempt with + | Some res -> res + | None -> // eliminate uses of query match TryDetectQueryQuoteAndRun cenv expr with | Some newExpr -> OptimizeExpr cenv env newExpr @@ -3232,12 +3240,19 @@ and OptimizeApplication cenv env (f0, f0ty, tyargs, args, m) = MightMakeCriticalTailcall = mayBeCriticalTailcall Info=ValueOfExpr newExpr } -/// Extract a sequence of pipe-right operations (note the pipe-right operator is left-associative) +/// 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) +/// The pipeline begins with a |>, ||> or ||> and getPipes g expr acc = match expr with - | OpPipeRight g (xType, resType, xExpr, fExpr, m) -> - getPipes g xExpr ((xExpr.Range, xType, resType, fExpr, m) :: acc) - | _ -> expr, acc + | OpPipeRight g (resType, xExpr, fExpr, m) -> + getPipes g xExpr (([xExpr.Range], resType, fExpr, m) :: acc) + | OpPipeRight2 g (resType, x1Expr, x2Expr, fExpr, m) -> + Choice2Of3 (x1Expr, x2Expr), (([x1Expr.Range; x2Expr.Range], resType, fExpr, m) :: acc) + | OpPipeRight3 g (resType, x1Expr, x2Expr, x3Expr, fExpr, m) -> + Choice3Of3 (x1Expr, x2Expr, x3Expr), (([x1Expr.Range; x2Expr.Range; x3Expr.Range], resType, fExpr, m) :: acc) + | _ -> + Choice1Of3 expr, acc /// In debug code, process a pipe-right manually to lay down the debug point for the application of the function after /// the evaluation of the argument, all the way down the chain. @@ -3245,32 +3260,41 @@ and OptimizeDebugPipeRights cenv env expr = let g = cenv.g env.methEnv.pipelineCount <- env.methEnv.pipelineCount + 1 - let x0, pipes = getPipes g expr [] + let xs0, pipes = getPipes g expr [] + + let xs0R, xs0Info = + match xs0 with + | Choice1Of3 x01 -> + let x01R, x01Info = OptimizeExpr cenv env x01 + [x01R], x01Info + | Choice2Of3 (x01, x02) -> + let x01R, x01Info = OptimizeExpr cenv env x01 + let x02R, x02Info = OptimizeExpr cenv env x02 + [x01R; x02R], CombineValueInfosUnknown [x01Info; x02Info] + | Choice3Of3 (x01, x02, x03) -> + let x01R, x01Info = OptimizeExpr cenv env x01 + let x02R, x02Info = OptimizeExpr cenv env x02 + let x03R, x03Info = OptimizeExpr cenv env x03 + [x01R; x02R; x03R], CombineValueInfosUnknown [x01Info; x02Info; x03Info] + assert (pipes.Length > 0) let pipesFront, pipeLast = List.frontAndBack pipes - - let xR0, xInfo0 = OptimizeExpr cenv env x0 // The last pipe in the chain // ... |> fLast // turns into a then-do sequential, so // fLast thendo () // with a breakpoint on the first expression - let binderLast = - let (_, xType, resType, fExpr: Expr, _) = pipeLast + let binderLast (prevInputs, prevInputInfo) = + let (_, _, fExpr: Expr, _) = pipeLast let fRange = fExpr.Range - let fType = mkFunTy xType resType + let fType = tyOfExpr g fExpr let fR, finfo = OptimizeExpr cenv env fExpr let lastDebugPoint = DebugPointAtSequential.SuppressStmt - (fun (prevInputExpr, prevInputInfo) -> - let expr = mkThenDoSequential lastDebugPoint fRange (mkApps g ((fR, fType), [], [prevInputExpr], fRange)) (mkUnit g fRange) - let info = - { TotalSize=finfo.TotalSize + prevInputInfo.TotalSize - FunctionSize=finfo.FunctionSize + prevInputInfo.FunctionSize - HasEffect=true - MightMakeCriticalTailcall = true - Info=ValueOfExpr expr } - expr, info) + let app = mkApps g ((fR, fType), [], prevInputs, fRange) + let expr = mkThenDoSequential lastDebugPoint fRange app (mkUnit g fRange) + let info = CombineValueInfosUnknown [finfo; prevInputInfo] + expr, info // Mid points in the chain // ... |> fMid |> rest @@ -3280,31 +3304,51 @@ and OptimizeDebugPipeRights cenv env expr = // with a breakpoint on the binding // let pipesBinder = - (List.indexed pipesFront, binderLast) ||> List.foldBack (fun (i, (xRange, xType, resType, fExpr: Expr, _)) binder -> + List.foldBack + (fun (i, (xsRange, resType, fExpr: Expr, _)) binder -> + let name = "Pipe #" + string env.methEnv.pipelineCount + " stage #" + string (i+1) + let stageVals, stageValExprs = + xsRange + |> List.map (fun xRange -> mkLocal xRange name resType) + |> List.unzip - let name = "Pipe #" + string env.methEnv.pipelineCount + " stage #" + string (i+1) - let stageVal, stageValExpr = mkLocal xRange name resType + let fRange = fExpr.Range + let fType = tyOfExpr g fExpr + let fR, finfo = OptimizeExpr cenv env fExpr + let restExpr, restInfo = binder (stageValExprs, finfo) + let appDebugPoint = DebugPointAtBinding.Yes fRange + let newBinder (ves, info) = + // The range used for the 'let' expression is only the 'f' in x |> f + let app = mkApps g ((fR, fType), [], ves, fRange) + let expr = List.foldBack (fun stageVal e -> mkLet appDebugPoint fRange stageVal e restExpr) stageVals app + let info = CombineValueInfosUnknown [info; restInfo] + expr, info + newBinder + ) + (List.indexed pipesFront) + binderLast - let fRange = fExpr.Range - let fType = mkFunTy xType resType - let fR, finfo = OptimizeExpr cenv env fExpr - let restExpr, restInfo = binder (stageValExpr, finfo) - let appDebugPoint = DebugPointAtBinding.Yes fRange - let newBinder (ve, info) = - // The range used for the 'let' expression is only the 'f' in x |> f - let expr = mkLet appDebugPoint fRange stageVal (mkApps g ((fR, fType), [], [ve], fRange)) restExpr - let info = CombineValueInfosUnknown [info; restInfo] - expr, info - newBinder - ) // The first point in the chain is similar // let = x // rest // with a breakpoint on the pipe-input binding - let xRange0 = x0.Range - let inputVal, inputValExpr= mkLocal xRange0 ("Pipe #" + string env.methEnv.pipelineCount + " input") (tyOfExpr g x0) - let pipesExprR, pipesInfo = pipesBinder (inputValExpr, xInfo0) - let expr = mkLet (DebugPointAtBinding.Yes xRange0) expr.Range inputVal xR0 pipesExprR + let inputVals, inputValExprs = + xs0R + |> List.map (fun x0R -> + let xRange0 = x0R.Range + mkLocal xRange0 ("Pipe #" + string env.methEnv.pipelineCount + " input") (tyOfExpr g x0R)) + |> List.unzip + let pipesExprR, pipesInfo = pipesBinder (inputValExprs, xs0Info) + + // Build up the chain of 'let' related to the first input + let expr = + List.foldBack2 + (fun (x0R: Expr) inputVal e -> + let xRange0 = x0R.Range + mkLet (DebugPointAtBinding.Yes xRange0) expr.Range inputVal x0R e) + xs0R + inputVals + pipesExprR expr, pipesInfo and OptimizeFSharpDelegateInvoke cenv env (invokeRef, f0, f0ty, tyargs, args, m) = diff --git a/src/fsharp/SyntaxTreeOps.fs b/src/fsharp/SyntaxTreeOps.fs index ce7a12ea01..246770a858 100644 --- a/src/fsharp/SyntaxTreeOps.fs +++ b/src/fsharp/SyntaxTreeOps.fs @@ -768,3 +768,23 @@ let (|SynPipeRight|_|) input = when synId.idText = "op_PipeRight" -> Some (x1, x2) | _ -> None + +let (|SynPipeRight2|_|) input = + match input with + | SynExpr.App (ExprAtomicFlag.NonAtomic, false, + SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, + SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b], _, _), _, _, _), _m1), + x2, _m2) + when synId.idText = "op_PipeRight2" -> + Some (x1a, x1b, x2) + | _ -> None + +let (|SynPipeRight3|_|) input = + match input with + | SynExpr.App (ExprAtomicFlag.NonAtomic, false, + SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, + SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b; x1c], _, _), _, _, _), _m1), + x2, _m2) + when synId.idText = "op_PipeRight3" -> + Some (x1a, x1b, x1c, x2) + | _ -> None diff --git a/src/fsharp/SyntaxTreeOps.fsi b/src/fsharp/SyntaxTreeOps.fsi index 8b087d93c6..e5b2a4a5ea 100644 --- a/src/fsharp/SyntaxTreeOps.fsi +++ b/src/fsharp/SyntaxTreeOps.fsi @@ -266,3 +266,7 @@ val ( |ParsedHashDirectiveArguments| ) : ParsedHashDirectiveArgument list -> str val (|SynPipeRight|_|): SynExpr -> (SynExpr * SynExpr) option +val (|SynPipeRight2|_|): SynExpr -> (SynExpr * SynExpr * SynExpr) option + +val (|SynPipeRight3|_|): SynExpr -> (SynExpr * SynExpr * SynExpr * SynExpr) option + diff --git a/src/fsharp/TcGlobals.fs b/src/fsharp/TcGlobals.fs index bb445efd29..6dd75bc3c4 100755 --- a/src/fsharp/TcGlobals.fs +++ b/src/fsharp/TcGlobals.fs @@ -625,6 +625,8 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d let v_reference_equality_inner_info = makeIntrinsicValRef(fslib_MFHashCompare_nleref, "PhysicalEqualityIntrinsic" , None , None , [vara], mk_rel_sig varaTy) let v_piperight_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb],([[varaTy];[varaTy --> varbTy]], varbTy)) + let v_piperight2_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb; varc],([[varaTy; varbTy];[varaTy --> (varbTy --> varcTy)]], varcTy)) + let v_piperight3_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb; varc; vard],([[varaTy; varbTy; varcTy];[varaTy --> (varbTy --> (varcTy --> vardTy))]], vardTy)) let v_bitwise_or_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseOr" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_and_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseAnd" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_xor_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_ExclusiveOr" , None , None , [vara], mk_binop_ty varaTy) @@ -1300,6 +1302,8 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d member val reference_equality_inner_vref = ValRefForIntrinsic v_reference_equality_inner_info member val piperight_vref = ValRefForIntrinsic v_piperight_info + member val piperight2_vref = ValRefForIntrinsic v_piperight2_info + member val piperight3_vref = ValRefForIntrinsic v_piperight3_info member val bitwise_or_vref = ValRefForIntrinsic v_bitwise_or_info member val bitwise_and_vref = ValRefForIntrinsic v_bitwise_and_info member val bitwise_xor_vref = ValRefForIntrinsic v_bitwise_xor_info diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 7139b951e9..f9243284ae 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -7665,9 +7665,23 @@ let (|DelegateInvokeExpr|_|) g expr = let (|OpPipeRight|_|) g expr = match expr with - | Expr.App (Expr.Val (vref, _, _), _, [xType; resType], [xExpr; fExpr], m) + | Expr.App (Expr.Val (vref, _, _), _, [_; resType], [xExpr; fExpr], m) when valRefEq g vref g.piperight_vref -> - Some(xType, resType, xExpr, fExpr, m) + Some(resType, xExpr, fExpr, m) + | _ -> None + +let (|OpPipeRight2|_|) g expr = + match expr with + | Expr.App (Expr.Val (vref, _, _), _, [_; _; resType], [Expr.Op (TOp.Tuple _, _, [arg1; arg2], _); fExpr], m) + when valRefEq g vref g.piperight2_vref -> + Some(resType, arg1, arg2, fExpr, m) + | _ -> None + +let (|OpPipeRight3|_|) g expr = + match expr with + | Expr.App (Expr.Val (vref, _, _), _, [_; _; _; resType], [Expr.Op (TOp.Tuple _, _, [arg1; arg2; arg3], _); fExpr], m) + when valRefEq g vref g.piperight3_vref -> + Some(resType, arg1, arg2, arg3, fExpr, m) | _ -> None let rec MakeFSharpDelegateInvokeAndTryBetaReduce g (invokeRef, f, fty, tyargs, argsl: Expr list, m) = diff --git a/src/fsharp/TypedTreeOps.fsi b/src/fsharp/TypedTreeOps.fsi index c4536a1327..683aaf5ca5 100755 --- a/src/fsharp/TypedTreeOps.fsi +++ b/src/fsharp/TypedTreeOps.fsi @@ -2512,5 +2512,15 @@ val (|ResumableCodeInvoke|_|): val (|OpPipeRight|_|): g:TcGlobals -> expr: Expr -> - (TType * TType * Expr * Expr * range) option + (TType * Expr * Expr * range) option + +val (|OpPipeRight2|_|): + g:TcGlobals -> + expr: Expr -> + (TType * Expr * Expr * Expr * range) option + +val (|OpPipeRight3|_|): + g:TcGlobals -> + expr: Expr -> + (TType * Expr * Expr * Expr * Expr * range) option From bc98121b37ccec3a26134b55b76381624d65ae54 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 00:16:26 +0100 Subject: [PATCH 07/24] fix ||> and |||> --- src/fsharp/Optimizer.fs | 44 +++++++------------- src/fsharp/SyntaxTreeOps.fs | 24 +++++------ src/fsharp/TcGlobals.fs | 4 +- src/fsharp/service/FSharpParseFileResults.fs | 17 ++++++++ 4 files changed, 45 insertions(+), 44 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index ab29d73409..6c29fbc15e 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3248,11 +3248,14 @@ and getPipes g expr acc = | OpPipeRight g (resType, xExpr, fExpr, m) -> getPipes g xExpr (([xExpr.Range], resType, fExpr, m) :: acc) | OpPipeRight2 g (resType, x1Expr, x2Expr, fExpr, m) -> - Choice2Of3 (x1Expr, x2Expr), (([x1Expr.Range; x2Expr.Range], resType, fExpr, m) :: acc) + [x1Expr; x2Expr], (([x1Expr.Range; x2Expr.Range], resType, fExpr, m) :: acc) | OpPipeRight3 g (resType, x1Expr, x2Expr, x3Expr, fExpr, m) -> - Choice3Of3 (x1Expr, x2Expr, x3Expr), (([x1Expr.Range; x2Expr.Range; x3Expr.Range], resType, fExpr, m) :: acc) + [x1Expr; x2Expr; x3Expr], (([x1Expr.Range; x2Expr.Range; x3Expr.Range], resType, fExpr, m) :: acc) | _ -> - Choice1Of3 expr, acc + [expr], acc + +and mkDebugPoint g m e = + mkThenDoSequential DebugPointAtSequential.SuppressStmt m e (mkUnit g m) /// In debug code, process a pipe-right manually to lay down the debug point for the application of the function after /// the evaluation of the argument, all the way down the chain. @@ -3262,20 +3265,8 @@ and OptimizeDebugPipeRights cenv env expr = env.methEnv.pipelineCount <- env.methEnv.pipelineCount + 1 let xs0, pipes = getPipes g expr [] - let xs0R, xs0Info = - match xs0 with - | Choice1Of3 x01 -> - let x01R, x01Info = OptimizeExpr cenv env x01 - [x01R], x01Info - | Choice2Of3 (x01, x02) -> - let x01R, x01Info = OptimizeExpr cenv env x01 - let x02R, x02Info = OptimizeExpr cenv env x02 - [x01R; x02R], CombineValueInfosUnknown [x01Info; x02Info] - | Choice3Of3 (x01, x02, x03) -> - let x01R, x01Info = OptimizeExpr cenv env x01 - let x02R, x02Info = OptimizeExpr cenv env x02 - let x03R, x03Info = OptimizeExpr cenv env x03 - [x01R; x02R; x03R], CombineValueInfosUnknown [x01Info; x02Info; x03Info] + let xs0R, xs0Infos = OptimizeExprsThenConsiderSplits cenv env xs0 + let xs0Info = CombineValueInfosUnknown xs0Infos assert (pipes.Length > 0) let pipesFront, pipeLast = List.frontAndBack pipes @@ -3290,9 +3281,8 @@ and OptimizeDebugPipeRights cenv env expr = let fRange = fExpr.Range let fType = tyOfExpr g fExpr let fR, finfo = OptimizeExpr cenv env fExpr - let lastDebugPoint = DebugPointAtSequential.SuppressStmt let app = mkApps g ((fR, fType), [], prevInputs, fRange) - let expr = mkThenDoSequential lastDebugPoint fRange app (mkUnit g fRange) + let expr = mkDebugPoint g fRange app let info = CombineValueInfosUnknown [finfo; prevInputInfo] expr, info @@ -3307,20 +3297,16 @@ and OptimizeDebugPipeRights cenv env expr = List.foldBack (fun (i, (xsRange, resType, fExpr: Expr, _)) binder -> let name = "Pipe #" + string env.methEnv.pipelineCount + " stage #" + string (i+1) - let stageVals, stageValExprs = - xsRange - |> List.map (fun xRange -> mkLocal xRange name resType) - |> List.unzip - + let stageVal, stageValExpr = mkLocal (List.reduce unionRanges xsRange) name resType let fRange = fExpr.Range let fType = tyOfExpr g fExpr let fR, finfo = OptimizeExpr cenv env fExpr - let restExpr, restInfo = binder (stageValExprs, finfo) - let appDebugPoint = DebugPointAtBinding.Yes fRange + let restExpr, restInfo = binder ([stageValExpr], finfo) let newBinder (ves, info) = // The range used for the 'let' expression is only the 'f' in x |> f let app = mkApps g ((fR, fType), [], ves, fRange) - let expr = List.foldBack (fun stageVal e -> mkLet appDebugPoint fRange stageVal e restExpr) stageVals app + let appDebugPoint = DebugPointAtBinding.Yes fRange + let expr = mkLet appDebugPoint fRange stageVal app restExpr let info = CombineValueInfosUnknown [info; restInfo] expr, info newBinder @@ -3335,8 +3321,8 @@ and OptimizeDebugPipeRights cenv env expr = let inputVals, inputValExprs = xs0R |> List.map (fun x0R -> - let xRange0 = x0R.Range - mkLocal xRange0 ("Pipe #" + string env.methEnv.pipelineCount + " input") (tyOfExpr g x0R)) + let nm = ("Pipe #" + string env.methEnv.pipelineCount + " input") + mkLocal x0R.Range nm (tyOfExpr g x0R)) |> List.unzip let pipesExprR, pipesInfo = pipesBinder (inputValExprs, xs0Info) diff --git a/src/fsharp/SyntaxTreeOps.fs b/src/fsharp/SyntaxTreeOps.fs index 246770a858..87bf172d0d 100644 --- a/src/fsharp/SyntaxTreeOps.fs +++ b/src/fsharp/SyntaxTreeOps.fs @@ -762,29 +762,27 @@ let (|ParsedHashDirectiveArguments|) (input: ParsedHashDirectiveArgument list) = | ParsedHashDirectiveArgument.SourceIdentifier (_, v, _) -> v) input +let (|SynBinOp|_|) input = + match input with + | SynExpr.App (ExprAtomicFlag.NonAtomic, false, SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, x1, _m1), x2, _m2) -> + Some (synId, x1, x2) + | _ -> None + let (|SynPipeRight|_|) input = match input with - | SynExpr.App (ExprAtomicFlag.NonAtomic, false, SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, x1, _m1), x2, _m2) - when synId.idText = "op_PipeRight" -> - Some (x1, x2) + | SynBinOp (synId, x1, x2) when synId.idText = "op_PipeRight" -> Some (x1, x2) | _ -> None let (|SynPipeRight2|_|) input = match input with - | SynExpr.App (ExprAtomicFlag.NonAtomic, false, - SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, - SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b], _, _), _, _, _), _m1), - x2, _m2) - when synId.idText = "op_PipeRight2" -> + | SynBinOp (synId, SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b], _, _), _, _, _), x2) + when synId.idText = "op_PipeRight2" -> Some (x1a, x1b, x2) | _ -> None let (|SynPipeRight3|_|) input = match input with - | SynExpr.App (ExprAtomicFlag.NonAtomic, false, - SynExpr.App (ExprAtomicFlag.NonAtomic, true, SynExpr.Ident synId, - SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b; x1c], _, _), _, _, _), _m1), - x2, _m2) - when synId.idText = "op_PipeRight3" -> + | SynBinOp (synId, SynExpr.Paren(SynExpr.Tuple(false, [x1a; x1b; x1c], _, _), _, _, _), x2) + when synId.idText = "op_PipeRight3" -> Some (x1a, x1b, x1c, x2) | _ -> None diff --git a/src/fsharp/TcGlobals.fs b/src/fsharp/TcGlobals.fs index 6dd75bc3c4..6044cc4d04 100755 --- a/src/fsharp/TcGlobals.fs +++ b/src/fsharp/TcGlobals.fs @@ -625,8 +625,8 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d let v_reference_equality_inner_info = makeIntrinsicValRef(fslib_MFHashCompare_nleref, "PhysicalEqualityIntrinsic" , None , None , [vara], mk_rel_sig varaTy) let v_piperight_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb],([[varaTy];[varaTy --> varbTy]], varbTy)) - let v_piperight2_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb; varc],([[varaTy; varbTy];[varaTy --> (varbTy --> varcTy)]], varcTy)) - let v_piperight3_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight" , None , None , [vara; varb; varc; vard],([[varaTy; varbTy; varcTy];[varaTy --> (varbTy --> (varcTy --> vardTy))]], vardTy)) + let v_piperight2_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight2" , None , None , [vara; varb; varc],([[varaTy; varbTy];[varaTy --> (varbTy --> varcTy)]], varcTy)) + let v_piperight3_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_PipeRight3" , None , None , [vara; varb; varc; vard],([[varaTy; varbTy; varcTy];[varaTy --> (varbTy --> (varcTy --> vardTy))]], vardTy)) let v_bitwise_or_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseOr" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_and_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_BitwiseAnd" , None , None , [vara], mk_binop_ty varaTy) let v_bitwise_xor_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "op_ExclusiveOr" , None , None , [vara], mk_binop_ty varaTy) diff --git a/src/fsharp/service/FSharpParseFileResults.fs b/src/fsharp/service/FSharpParseFileResults.fs index d7e2797c7f..2c15a4e8d4 100644 --- a/src/fsharp/service/FSharpParseFileResults.fs +++ b/src/fsharp/service/FSharpParseFileResults.fs @@ -543,7 +543,24 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, yield! checkRange fExpr.Range yield! walkExpr false fExpr yield! loop xExpr + | SynPipeRight2 (xExpr1, xExpr2, fExpr) -> + yield! checkRange fExpr.Range + yield! checkRange xExpr1.Range + yield! checkRange xExpr2.Range + yield! walkExpr false xExpr1 + yield! walkExpr false xExpr2 + yield! walkExpr false fExpr + | SynPipeRight3 (xExpr1, xExpr2, xExpr3, fExpr) -> + yield! checkRange fExpr.Range + yield! checkRange xExpr1.Range + yield! checkRange xExpr2.Range + yield! checkRange xExpr3.Range + yield! walkExpr false xExpr1 + yield! walkExpr false xExpr2 + yield! walkExpr false xExpr3 + yield! walkExpr false fExpr | _ -> + yield! checkRange e.Range yield! walkExpr false e } yield! loop expr From cf384ac34f6c92ea80a77990471e309acd5de51b Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 00:21:43 +0100 Subject: [PATCH 08/24] add input numbers --- src/fsharp/Optimizer.fs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 6c29fbc15e..0a2037bbf6 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3296,7 +3296,7 @@ and OptimizeDebugPipeRights cenv env expr = let pipesBinder = List.foldBack (fun (i, (xsRange, resType, fExpr: Expr, _)) binder -> - let name = "Pipe #" + string env.methEnv.pipelineCount + " stage #" + string (i+1) + let name = $"Pipe #%d{env.methEnv.pipelineCount} stage #%d{i+1}" let stageVal, stageValExpr = mkLocal (List.reduce unionRanges xsRange) name resType let fRange = fExpr.Range let fType = tyOfExpr g fExpr @@ -3318,10 +3318,11 @@ and OptimizeDebugPipeRights cenv env expr = // let = x // rest // with a breakpoint on the pipe-input binding + let nxs0R = xs0R.Length let inputVals, inputValExprs = xs0R - |> List.map (fun x0R -> - let nm = ("Pipe #" + string env.methEnv.pipelineCount + " input") + |> List.mapi (fun i x0R -> + let nm = $"Pipe #%d{env.methEnv.pipelineCount} input" + (if nxs0R > 1 then "#" + string (i+1) else "") mkLocal x0R.Range nm (tyOfExpr g x0R)) |> List.unzip let pipesExprR, pipesInfo = pipesBinder (inputValExprs, xs0Info) From 5383d6412e2225dae836bacd96b964de3771e406 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 00:44:50 +0100 Subject: [PATCH 09/24] add input numbers --- src/fsharp/Optimizer.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 0a2037bbf6..3da03fd368 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3322,7 +3322,7 @@ and OptimizeDebugPipeRights cenv env expr = let inputVals, inputValExprs = xs0R |> List.mapi (fun i x0R -> - let nm = $"Pipe #%d{env.methEnv.pipelineCount} input" + (if nxs0R > 1 then "#" + string (i+1) else "") + let nm = $"Pipe #%d{env.methEnv.pipelineCount} input" + (if nxs0R > 1 then " #" + string (i+1) else "") mkLocal x0R.Range nm (tyOfExpr g x0R)) |> List.unzip let pipesExprR, pipesInfo = pipesBinder (inputValExprs, xs0Info) From 7087aa5140310cd0d0c083372f0a3e46bff1bbb8 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 01:16:29 +0100 Subject: [PATCH 10/24] add codgen for ||> and ||> --- .../ListExpressionSteppingTest2.fs | 19 + .../ListExpressionSteppingTest2.il.bsl | 358 +++++++++++++++++- 2 files changed, 369 insertions(+), 8 deletions(-) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.fs b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.fs index 85178bf4e0..b8bc07e511 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.fs +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.fs @@ -9,3 +9,22 @@ module ListExpressionSteppingTest2 = 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/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl index 8b7a79bdaa..05244fe5b9 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.ListExpressionSteppingTest2 { - // Offset: 0x00000000 Length: 0x00000269 + // Offset: 0x00000000 Length: 0x000002C8 } .mresource public FSharpOptimizationData.ListExpressionSteppingTest2 { - // Offset: 0x00000270 Length: 0x000000AF + // Offset: 0x000002D0 Length: 0x000000BC } .module ListExpressionSteppingTest2.exe -// MVID: {60B78A57-D3DE-B780-A745-0383578AB760} +// MVID: {61170AB8-D3DE-B780-A745-0383B80A1761} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x094E0000 +// Image base: 0x06AF0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -55,14 +55,234 @@ extends [mscorlib]System.Object { .custom instance 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@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() + IL_0006: ret + } // end of method 'Pipe #1 stage #2@18'::.ctor + + .method public strict virtual instance class [mscorlib]System.Tuple`2 + Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed + { + // Code size 24 (0x18) + .maxstack 7 + .locals init ([0] !a a, + [1] int32 b) + .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' + .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest2.fs' + IL_0000: ldarg.1 + IL_0001: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + .line 18,18 : 38,44 '' + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, + !1) + IL_0017: ret + } // end of method 'Pipe #1 stage #2@18'::Invoke + + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18'::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18'::@_instance + IL_000a: ret + } // end of method 'Pipe #1 stage #2@18'::.cctor + + } // end of class 'Pipe #1 stage #2@18' + + .class auto ansi serializable sealed nested assembly beforefieldinit xs1@19 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() + IL_0006: ret + } // end of method xs1@19::.ctor + + .method public strict virtual instance class [mscorlib]System.Tuple`2 + Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed + { + // Code size 24 (0x18) + .maxstack 7 + .locals init ([0] !a a, + [1] int32 b) + .line 100001,100001 : 0,0 '' + IL_0000: ldarg.1 + IL_0001: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + .line 19,19 : 38,44 '' + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, + !1) + IL_0017: ret + } // end of method xs1@19::Invoke + + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .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 + } // end of method xs1@19::.cctor + + } // end of class xs1@19 + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 stage #2@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() + IL_0006: ret + } // end of method 'Pipe #2 stage #2@24'::.ctor + + .method public strict virtual instance class [mscorlib]System.Tuple`3 + Invoke(class [mscorlib]System.Tuple`3 tupledArg) cil managed + { + // Code size 32 (0x20) + .maxstack 7 + .locals init ([0] !a a, + [1] int32 b, + [2] int32 c) + .line 100001,100001 : 0,0 '' + IL_0000: ldarg.1 + IL_0001: call instance !0 class [mscorlib]System.Tuple`3::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [mscorlib]System.Tuple`3::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [mscorlib]System.Tuple`3::get_Item3() + IL_0014: stloc.2 + .line 24,24 : 40,49 '' + 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 [mscorlib]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_001f: ret + } // end of method 'Pipe #2 stage #2@24'::Invoke + + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::@_instance + IL_000a: ret + } // end of method 'Pipe #2 stage #2@24'::.cctor + + } // end of class 'Pipe #2 stage #2@24' + + .class auto ansi serializable sealed nested assembly beforefieldinit xs2@25 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() + IL_0006: ret + } // end of method xs2@25::.ctor + + .method public strict virtual instance class [mscorlib]System.Tuple`3 + Invoke(class [mscorlib]System.Tuple`3 tupledArg) cil managed + { + // Code size 32 (0x20) + .maxstack 7 + .locals init ([0] !a a, + [1] int32 b, + [2] int32 c) + .line 100001,100001 : 0,0 '' + IL_0000: ldarg.1 + IL_0001: call instance !0 class [mscorlib]System.Tuple`3::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [mscorlib]System.Tuple`3::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [mscorlib]System.Tuple`3::get_Item3() + IL_0014: stloc.2 + .line 25,25 : 40,49 '' + 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 [mscorlib]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_001f: ret + } // end of method xs2@25::Invoke + + .method private specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .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 + } // end of method xs2@25::.cctor + + } // end of class xs2@25 + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f1() cil managed { // Code size 58 (0x3a) .maxstack 4 .locals init ([0] valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0) - .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 11,26 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest2.fs' + .line 6,6 : 11,26 '' 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) @@ -88,6 +308,124 @@ IL_0039: ret } // end of method ListExpressionSteppingTest2::f1 + .method public static class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>> + f2(!!a x) cil managed + { + // Code size 193 (0xc1) + .maxstack 6 + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> xs1, + [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #1', + [2] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #2', + [3] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #1', + [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #2', + [5] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> xs2, + [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #1', + [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #2', + [8] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #3', + [9] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #1', + [10] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #2') + .line 16,16 : 13,20 '' + 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 + .line 16,16 : 22,28 '' + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.1 + IL_001a: ldc.i4.2 + IL_001b: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0020: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002a: stloc.2 + .line 17,17 : 16,24 '' + 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 + .line 18,18 : 15,45 '' + IL_0033: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@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 [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003e: stloc.s 'Pipe #1 stage #2' + .line 19,19 : 15,45 '' + IL_0040: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance + IL_0045: ldloc.s 'Pipe #1 stage #2' + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004c: stloc.0 + .line 21,25 : 9,50 '' + IL_004d: nop + .line 22,22 : 13,20 '' + IL_004e: ldarg.0 + IL_004f: ldarg.0 + IL_0050: ldarg.0 + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0056: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0060: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0065: stloc.s 'Pipe #2 input #1' + .line 22,22 : 22,28 '' + IL_0067: ldc.i4.0 + IL_0068: ldc.i4.1 + IL_0069: ldc.i4.2 + IL_006a: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_006f: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0079: stloc.s 'Pipe #2 input #2' + .line 22,22 : 30,36 '' + IL_007b: ldc.i4.0 + IL_007c: ldc.i4.1 + IL_007d: ldc.i4.2 + IL_007e: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0083: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008d: stloc.s 'Pipe #2 input #3' + .line 23,23 : 17,26 '' + IL_008f: ldloc.s 'Pipe #2 input #1' + IL_0091: ldloc.s 'Pipe #2 input #2' + IL_0093: ldloc.s 'Pipe #2 input #3' + IL_0095: 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_009a: stloc.s 'Pipe #2 stage #1' + .line 24,24 : 15,50 '' + IL_009c: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::@_instance + IL_00a1: ldloc.s 'Pipe #2 stage #1' + IL_00a3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a8: stloc.s 'Pipe #2 stage #2' + .line 25,25 : 15,50 '' + IL_00aa: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance + IL_00af: ldloc.s 'Pipe #2 stage #2' + IL_00b1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b6: stloc.s xs2 + .line 27,27 : 9,17 '' + IL_00b8: ldloc.0 + IL_00b9: ldloc.s xs2 + IL_00bb: newobj instance void class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>>::.ctor(!0, + !1) + IL_00c0: ret + } // end of method ListExpressionSteppingTest2::f2 + } // end of class ListExpressionSteppingTest2 } // end of class ListExpressionSteppingTest2 @@ -102,12 +440,16 @@ .method public static void main@() cil managed { .entrypoint - // Code size 7 (0x7) + // Code size 14 (0xe) .maxstack 8 .line 11,11 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest2/ListExpressionSteppingTest2::f1() IL_0005: pop - IL_0006: ret + .line 29,29 : 13,17 '' + IL_0006: ldc.i4.5 + IL_0007: call class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>> ListExpressionSteppingTest2/ListExpressionSteppingTest2::f2(!!0) + IL_000c: pop + IL_000d: ret } // end of method $ListExpressionSteppingTest2::main@ } // end of class ''.$ListExpressionSteppingTest2 From a95d6dccfa948e500d3184b437e0eb7edfe576ed Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 14:48:24 +0100 Subject: [PATCH 11/24] Update src/fsharp/Optimizer.fs Co-authored-by: Hadrian Tang --- src/fsharp/Optimizer.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 3da03fd368..f7558e59ce 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3242,7 +3242,7 @@ and OptimizeApplication cenv env (f0, f0ty, tyargs, args, m) = /// 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) -/// The pipeline begins with a |>, ||> or ||> +/// The pipeline begins with a |>, ||> or |||> and getPipes g expr acc = match expr with | OpPipeRight g (resType, xExpr, fExpr, m) -> From ec25a90b45aef5b1dfdf7c8e927b1f2bd78ec6e2 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 16:32:36 +0100 Subject: [PATCH 12/24] add VBPL tests --- tests/service/EditorTests.fs | 426 ++++++++++++++++++++++++++++++++--- 1 file changed, 398 insertions(+), 28 deletions(-) diff --git a/tests/service/EditorTests.fs b/tests/service/EditorTests.fs index e3bc5f7d23..0bd73759f0 100644 --- a/tests/service/EditorTests.fs +++ b/tests/service/EditorTests.fs @@ -55,9 +55,6 @@ let input = """ [] -#if COMPILED -[] -#endif let ``Intro test`` () = // Split the input & define file name @@ -113,28 +110,6 @@ let ``Intro test`` () = ("Concat", ["str0: string"; "str1: string"; "str2: string"; "str3: string"])] -// TODO: check if this can be enabled in .NET Core testing of FSharp.Compiler.Service -#if !INTERACTIVE // InternalsVisibleTo on IncrementalBuild.LocallyInjectCancellationFault not working for some reason? -//[] -//let ``Basic cancellation test`` () = -// try -// printfn "locally injecting a cancellation condition in incremental building" -// use _holder = IncrementalBuild.LocallyInjectCancellationFault() -// -// // Split the input & define file name -// let inputLines = input.Split('\n') -// let file = "/home/user/Test.fsx" -// async { -// checker.ClearLanguageServiceRootCachesAndCollectAndFinalizeAllTransients() -// let! checkOptions, _diagnostics = checker.GetProjectOptionsFromScript(file, SourceText.ofString input) -// let! parseResult, typedRes = checker.ParseAndCheckFileInProject(file, 0, SourceText.ofString input, checkOptions) -// return parseResult, typedRes -// } |> Async.RunImmediate -// |> ignore -// Assert.Fail("expected a cancellation") -// with :? OperationCanceledException -> () -#endif - [] let ``GetMethodsAsSymbols should return all overloads of a method as FSharpSymbolUse`` () = @@ -268,9 +243,6 @@ let date = System.DateTime.Now.ToString().PadRight(25) """ [] -#if COMPILED -[] -#endif let ``Expression typing test`` () = printfn "------ Expression typing test -----------------" @@ -1131,6 +1103,404 @@ type FooImpl() = ((" )", 17, 7), (10, 8, 17, 9)); ((" )", 17, 8), (10, 8, 17, 9))] +let getBreakpointLocations (input: string) (parseResult: FSharpParseFileResults) = + let lines = input.Replace("\r", "").Split( [| '\n' |]) + let positions = [ for i,line in Seq.indexed lines do for j, c in Seq.indexed line do yield Position.mkPos (Line.fromZ i) j, line ] + [ for pos, line in positions do + match parseResult.ValidateBreakpointLocation pos with + | Some r -> + let text = + [ if r.StartLine = r.EndLine then + lines.[r.StartLine-1].[r.StartColumn..r.EndColumn-1] + else + lines.[r.StartLine-1].[r.StartColumn..] + for l in r.StartLine..r.EndLine-2 do + lines.[l] + lines.[r.EndLine-1].[..r.EndColumn-1] ] + |> String.concat "$" + ((pos.Line, pos.Column), (r.StartLine, r.StartColumn, r.EndLine, r.EndColumn, text)) + | None -> + ()] + +[] +let ``ValidateBreakpointLocation tests for pipe`` () = + let input = + """ +let f () = + [2] + |> List.map (fun b -> b+1) + |> List.map (fun b -> b+1)""" + let file = "/home/user/Test.fsx" + let parseResult, typeCheckResults = parseAndCheckScript(file, input) + let results = getBreakpointLocations input parseResult + printfn "%A" results + results |> shouldEqual + [((3, 0), (3, 4, 3, 7, "[2]")); + ((3, 1), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((3, 2), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((3, 3), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((3, 4), (3, 4, 3, 7, "[2]")); ((3, 5), (3, 4, 3, 7, "[2]")); + ((3, 6), (3, 4, 3, 7, "[2]")); + ((4, 0), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 1), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 2), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 3), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 4), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 5), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 6), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((4, 7), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 8), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 9), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 10), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 11), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 12), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 13), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 14), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 15), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 16), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 17), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 18), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 19), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 20), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 21), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 22), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 23), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 24), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 25), (4, 7, 4, 30, "List.map (fun b -> b+1)")); + ((4, 26), (4, 26, 4, 29, "b+1")); ((4, 27), (4, 26, 4, 29, "b+1")); + ((4, 28), (4, 26, 4, 29, "b+1")); ((4, 29), (4, 26, 4, 29, "b+1")); + ((5, 0), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 1), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 2), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 3), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 4), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 5), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 6), + (3, 4, 5, 30, + "[2]$ |> List.map (fun b -> b+1)$ |> List.map (fun b -> b+1)")); + ((5, 7), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 8), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 9), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 10), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 11), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 12), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 13), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 14), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 15), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 16), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 17), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 18), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 19), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 20), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 21), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 22), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 23), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 24), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 25), (5, 7, 5, 30, "List.map (fun b -> b+1)")); + ((5, 26), (5, 26, 5, 29, "b+1")); ((5, 27), (5, 26, 5, 29, "b+1")); + ((5, 28), (5, 26, 5, 29, "b+1")); ((5, 29), (5, 26, 5, 29, "b+1"))] + +[] +let ``ValidateBreakpointLocation tests for pipe2`` () = + let input = + """ +let f () = + ([1],[2]) + ||> List.zip + |> List.map (fun (b,c) -> (c,b)) + |> List.unzip""" + let file = "/home/user/Test.fsx" + let parseResult, typeCheckResults = parseAndCheckScript(file, input) + let results = getBreakpointLocations input parseResult + printfn "%A" results + results |> shouldEqual + [((3, 0), (3, 5, 3, 8, "[1]")); + ((3, 1), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((3, 2), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((3, 3), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((3, 4), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((3, 5), (3, 5, 3, 8, "[1]")); ((3, 6), (3, 5, 3, 8, "[1]")); + ((3, 7), (3, 5, 3, 8, "[1]")); ((3, 8), (3, 5, 3, 8, "[1]")); + ((3, 9), (3, 9, 3, 12, "[2]")); ((3, 10), (3, 9, 3, 12, "[2]")); + ((3, 11), (3, 9, 3, 12, "[2]")); ((3, 12), (3, 9, 3, 12, "[2]")); + ((3, 13), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 0), (4, 8, 4, 16, "List.zip")); + ((4, 1), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 2), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 3), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 4), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 5), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 6), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 7), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((4, 8), (4, 8, 4, 16, "List.zip")); ((4, 9), (4, 8, 4, 16, "List.zip")); + ((4, 10), (4, 8, 4, 16, "List.zip")); ((4, 11), (4, 8, 4, 16, "List.zip")); + ((4, 12), (4, 8, 4, 16, "List.zip")); ((4, 13), (4, 8, 4, 16, "List.zip")); + ((4, 14), (4, 8, 4, 16, "List.zip")); ((4, 15), (4, 8, 4, 16, "List.zip")); + ((5, 0), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 1), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 2), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 3), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 4), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 5), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 6), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((5, 7), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 8), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 9), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 10), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 11), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 12), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 13), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 14), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 15), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 16), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 17), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 18), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 19), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 20), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 21), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 22), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 23), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 24), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 25), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 26), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 27), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 28), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 29), (5, 7, 5, 36, "List.map (fun (b,c) -> (c,b))")); + ((5, 30), (5, 30, 5, 35, "(c,b)")); ((5, 31), (5, 30, 5, 35, "(c,b)")); + ((5, 32), (5, 30, 5, 35, "(c,b)")); ((5, 33), (5, 30, 5, 35, "(c,b)")); + ((5, 34), (5, 30, 5, 35, "(c,b)")); ((5, 35), (5, 30, 5, 35, "(c,b)")); + ((6, 0), (6, 7, 6, 17, "List.unzip")); + ((6, 1), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 2), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 3), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 4), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 5), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 6), + (3, 4, 6, 17, + "([1],[2]) $ ||> List.zip$ |> List.map (fun (b,c) -> (c,b))$ |> List.unzip")); + ((6, 7), (6, 7, 6, 17, "List.unzip")); ((6, 8), (6, 7, 6, 17, "List.unzip")); + ((6, 9), (6, 7, 6, 17, "List.unzip")); ((6, 10), (6, 7, 6, 17, "List.unzip")); + ((6, 11), (6, 7, 6, 17, "List.unzip")); ((6, 12), (6, 7, 6, 17, "List.unzip")); + ((6, 13), (6, 7, 6, 17, "List.unzip")); ((6, 14), (6, 7, 6, 17, "List.unzip")); + ((6, 15), (6, 7, 6, 17, "List.unzip")); ((6, 16), (6, 7, 6, 17, "List.unzip"))] + +[] +let ``ValidateBreakpointLocation tests for pipe3`` () = + let input = + """ +let f () = + ([1],[2],[3]) + |||> List.zip3 + |> List.map (fun (a,b,c) -> (c,b,a)) + |> List.unzip3""" + let file = "/home/user/Test.fsx" + let parseResult, typeCheckResults = parseAndCheckScript(file, input) + let results = getBreakpointLocations input parseResult + printfn "%A" results + results |> shouldEqual + [((3, 0), (3, 5, 3, 8, "[1]")); + ((3, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 5), (3, 5, 3, 8, "[1]")); ((3, 6), (3, 5, 3, 8, "[1]")); + ((3, 7), (3, 5, 3, 8, "[1]")); ((3, 8), (3, 5, 3, 8, "[1]")); + ((3, 9), (3, 9, 3, 12, "[2]")); ((3, 10), (3, 9, 3, 12, "[2]")); + ((3, 11), (3, 9, 3, 12, "[2]")); ((3, 12), (3, 9, 3, 12, "[2]")); + ((3, 13), (3, 13, 3, 16, "[3]")); ((3, 14), (3, 13, 3, 16, "[3]")); + ((3, 15), (3, 13, 3, 16, "[3]")); ((3, 16), (3, 13, 3, 16, "[3]")); + ((3, 17), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 0), (4, 9, 4, 18, "List.zip3")); + ((4, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 7), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 8), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 9), (4, 9, 4, 18, "List.zip3")); ((4, 10), (4, 9, 4, 18, "List.zip3")); + ((4, 11), (4, 9, 4, 18, "List.zip3")); ((4, 12), (4, 9, 4, 18, "List.zip3")); + ((4, 13), (4, 9, 4, 18, "List.zip3")); ((4, 14), (4, 9, 4, 18, "List.zip3")); + ((4, 15), (4, 9, 4, 18, "List.zip3")); ((4, 16), (4, 9, 4, 18, "List.zip3")); + ((4, 17), (4, 9, 4, 18, "List.zip3")); + ((5, 0), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 7), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 8), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 9), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 10), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 11), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 12), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 13), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 14), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 15), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 16), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 17), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 18), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 19), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 20), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 21), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 22), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 23), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 24), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 25), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 26), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 27), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 28), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 29), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 30), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 31), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 32), (5, 32, 5, 39, "(c,b,a)")); ((5, 33), (5, 32, 5, 39, "(c,b,a)")); + ((5, 34), (5, 32, 5, 39, "(c,b,a)")); ((5, 35), (5, 32, 5, 39, "(c,b,a)")); + ((5, 36), (5, 32, 5, 39, "(c,b,a)")); ((5, 37), (5, 32, 5, 39, "(c,b,a)")); + ((5, 38), (5, 32, 5, 39, "(c,b,a)")); ((5, 39), (5, 32, 5, 39, "(c,b,a)")); + ((6, 0), (6, 7, 6, 18, "List.unzip3")); + ((6, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 7), (6, 7, 6, 18, "List.unzip3")); ((6, 8), (6, 7, 6, 18, "List.unzip3")); + ((6, 9), (6, 7, 6, 18, "List.unzip3")); ((6, 10), (6, 7, 6, 18, "List.unzip3")); + ((6, 11), (6, 7, 6, 18, "List.unzip3")); + ((6, 12), (6, 7, 6, 18, "List.unzip3")); + ((6, 13), (6, 7, 6, 18, "List.unzip3")); + ((6, 14), (6, 7, 6, 18, "List.unzip3")); + ((6, 15), (6, 7, 6, 18, "List.unzip3")); + ((6, 16), (6, 7, 6, 18, "List.unzip3")); + ((6, 17), (6, 7, 6, 18, "List.unzip3"))] + [] let ``Partially valid namespaces should be reported`` () = let input = From 6fc17d10968baaf868d00a33c9c222a5ae334321 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sat, 14 Aug 2021 16:36:16 +0100 Subject: [PATCH 13/24] include line number --- src/fsharp/Optimizer.fs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index 3da03fd368..baf65a357c 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -3296,10 +3296,10 @@ and OptimizeDebugPipeRights cenv env expr = let pipesBinder = List.foldBack (fun (i, (xsRange, resType, fExpr: Expr, _)) binder -> - let name = $"Pipe #%d{env.methEnv.pipelineCount} stage #%d{i+1}" - let stageVal, stageValExpr = mkLocal (List.reduce unionRanges xsRange) name resType let fRange = fExpr.Range let fType = tyOfExpr g fExpr + let name = $"Pipe #%d{env.methEnv.pipelineCount} stage #%d{i+1} at line %d{fRange.StartLine}" + let stageVal, stageValExpr = mkLocal (List.reduce unionRanges xsRange) name resType let fR, finfo = OptimizeExpr cenv env fExpr let restExpr, restInfo = binder ([stageValExpr], finfo) let newBinder (ves, info) = @@ -3322,7 +3322,7 @@ and OptimizeDebugPipeRights cenv env expr = let inputVals, inputValExprs = xs0R |> List.mapi (fun i x0R -> - let nm = $"Pipe #%d{env.methEnv.pipelineCount} input" + (if nxs0R > 1 then " #" + string (i+1) else "") + let nm = $"Pipe #%d{env.methEnv.pipelineCount} input" + (if nxs0R > 1 then " #" + string (i+1) else "") + $" at line %d{x0R.Range.StartLine}" mkLocal x0R.Range nm (tyOfExpr g x0R)) |> List.unzip let pipesExprR, pipesInfo = pipesBinder (inputValExprs, xs0Info) From c563e732fe12ec983fb7ac0731860ad01653d128 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 16 Aug 2021 19:54:28 +0100 Subject: [PATCH 14/24] debug points on when --- src/fsharp/AugmentWithHashCompare.fs | 28 +- src/fsharp/CheckExpressions.fs | 14 +- src/fsharp/FindUnsolved.fs | 2 +- src/fsharp/IlxGen.fs | 244 +++++++++--------- src/fsharp/InnerLambdasToTopLevelFuncs.fs | 4 +- src/fsharp/LowerCallsAndSeqs.fs | 39 +-- src/fsharp/LowerStateMachines.fs | 16 +- src/fsharp/Optimizer.fs | 33 ++- src/fsharp/PatternMatchCompilation.fs | 37 +-- src/fsharp/PostInferenceChecks.fs | 2 +- src/fsharp/QuotationTranslator.fs | 4 +- src/fsharp/SyntaxTree.fs | 5 + src/fsharp/SyntaxTree.fsi | 8 + src/fsharp/TypedTree.fs | 2 +- src/fsharp/TypedTreeOps.fs | 191 ++++++++------ src/fsharp/TypedTreeOps.fsi | 4 +- src/fsharp/TypedTreePickle.fs | 10 +- src/fsharp/service/FSharpParseFileResults.fs | 6 +- src/fsharp/symbols/Exprs.fs | 4 +- .../TheBigFileOfDebugStepping.fsx | 34 +++ 20 files changed, 382 insertions(+), 305 deletions(-) diff --git a/src/fsharp/AugmentWithHashCompare.fs b/src/fsharp/AugmentWithHashCompare.fs index a431caf4d6..e1888f17a8 100644 --- a/src/fsharp/AugmentWithHashCompare.fs +++ b/src/fsharp/AugmentWithHashCompare.fs @@ -157,10 +157,10 @@ let mkCompareTestConjuncts g m exprs = (a, b) ||> List.foldBack (fun e acc -> let nv, ne = mkCompGenLocal m "n" g.int_ty mkCompGenLet m nv e - (mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty (mkClt g m ne (mkZero g m)) ne - (mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty (mkCgt g m ne (mkZero g m)) ne acc))) @@ -171,7 +171,7 @@ let mkEqualsTestConjuncts g m exprs = | [h] -> h | l -> let a, b = List.frontAndBack l - List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e acc (mkFalse g m)) a b + List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty e acc (mkFalse g m)) a b let mkMinimalTy (g: TcGlobals) (tcref: TyconRef) = if tcref.Deref.IsExceptionDecl then [], g.exn_ty @@ -305,7 +305,7 @@ let mkExnEquality (g: TcGlobals) exnref (exnc: Tycon) = [ mkCase(DecisionTreeTest.IsInst(g.exn_ty, mkAppTy exnref []), mbuilder.AddResultTarget(expr, DebugPointForTarget.No)) ] let dflt = Some(mbuilder.AddResultTarget(mkFalse g m, DebugPointForTarget.No)) - let dtree = TDSwitch(thate, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thate, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = mkBindThatNullEquals g m thise thate expr @@ -328,7 +328,7 @@ let mkExnEqualityWithComparer g exnref (exnc: Tycon) (_thisv, thise) thatobje (t [ mkCase(DecisionTreeTest.IsInst(g.exn_ty, mkAppTy exnref []), mbuilder.AddResultTarget(expr, DebugPointForTarget.No)) ] let dflt = mbuilder.AddResultTarget(mkFalse g m, DebugPointForTarget.No) - let dtree = TDSwitch(thate, cases, Some dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thate, cases, Some dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = mkBindThatAddr g m g.exn_ty thataddrv thatv thate expr let expr = mkIsInstConditional g m g.exn_ty thatobje thatv expr (mkFalse g m) @@ -372,13 +372,13 @@ let mkUnionCompare g tcref (tycon: Tycon) = if isNil nonNullary then mkZero g m else let cases = nonNullary |> List.map (function Some c -> c | None -> failwith "mkUnionCompare") let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointForTarget.No)) - let dtree = TDSwitch(thise, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.int_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m))in @@ -433,13 +433,13 @@ let mkUnionCompareWithComparer g tcref (tycon: Tycon) (_thisv, thise) (_thatobjv if isNil nonNullary then mkZero g m else let cases = nonNullary |> List.map (function Some c -> c | None -> failwith "mkUnionCompare") let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointForTarget.No)) - let dtree = TDSwitch(thise, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.int_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m)) @@ -493,13 +493,13 @@ let mkUnionEquality g tcref (tycon: Tycon) = if isNil nonNullary then mkTrue g m else let cases = List.map (function Some c -> c | None -> failwith "mkUnionEquality") nonNullary let dflt = (if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointForTarget.No))) - let dtree = TDSwitch(thise, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) @@ -555,13 +555,13 @@ let mkUnionEqualityWithComparer g tcref (tycon: Tycon) (_thisv, thise) thatobje if isNil nonNullary then mkTrue g m else let cases = List.map (function Some c -> c | None -> failwith "mkUnionEquality") nonNullary let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointForTarget.No)) - let dtree = TDSwitch(thise, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) @@ -658,7 +658,7 @@ let mkUnionHashWithComparer g tcref (tycon: Tycon) compe = else let tag = mkUnionCaseTagGetViaExprAddr (thise, tcref, tinst, m) Some(mbuilder.AddResultTarget(tag, DebugPointForTarget.No)) - let dtree = TDSwitch(thise, cases, dflt, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) let stmt = mbuilder.Close(dtree, m, g.int_ty) let expr = mkCompGenLet m accv (mkZero g m) stmt let expr = if tycon.IsStructOrEnumTycon then expr else mkBindNullHash g m thise expr diff --git a/src/fsharp/CheckExpressions.fs b/src/fsharp/CheckExpressions.fs index 0604513be5..bf5e803c7c 100644 --- a/src/fsharp/CheckExpressions.fs +++ b/src/fsharp/CheckExpressions.fs @@ -3449,7 +3449,7 @@ let EliminateInitializationGraphs and CheckBinding st (TBind(_, e, _)) = CheckExpr st e and CheckDecisionTree st = function - | TDSwitch(e1, csl, dflt, _) -> CheckExpr st e1; List.iter (fun (TCase(_, d)) -> CheckDecisionTree st d) csl; Option.iter (CheckDecisionTree st) dflt + | TDSwitch(_, e1, csl, dflt, _) -> CheckExpr st e1; List.iter (fun (TCase(_, d)) -> CheckDecisionTree st d) csl; Option.iter (CheckDecisionTree st) dflt | TDSuccess (es, _) -> es |> List.iter (CheckExpr st) | TDBind(bind, e) -> CheckBinding st bind; CheckDecisionTree st e @@ -9376,14 +9376,14 @@ and TcMatchPattern cenv inputTy env tpenv (pat: SynPat, optWhenExpr: SynExpr opt let m = pat.Range let patf', (tpenv, names, _) = TcPat WarnOnUpperCase cenv env None (ValInline.Optional, permitInferTypars, noArgOrRetAttribs, false, None, false) (tpenv, Map.empty, Set.empty) inputTy pat let envinner, values, vspecMap = MakeAndPublishSimpleValsForMergedScope cenv env m names - let optWhenExpr', tpenv = + let optWhenExprR, tpenv = match optWhenExpr with | Some whenExpr -> let guardEnv = { envinner with eContextInfo = ContextInfo.PatternMatchGuard whenExpr.Range } - let whenExpr', tpenv = TcExpr cenv (MustEqual cenv.g.bool_ty) guardEnv tpenv whenExpr - Some whenExpr', tpenv + let whenExprR, tpenv = TcExpr cenv (MustEqual cenv.g.bool_ty) guardEnv tpenv whenExpr + Some whenExprR, tpenv | None -> None, tpenv - patf' (TcPatPhase2Input (values, true)), optWhenExpr', NameMap.range vspecMap, envinner, tpenv + patf' (TcPatPhase2Input (values, true)), optWhenExprR, NameMap.range vspecMap, envinner, tpenv and TcMatchClauses cenv inputTy (resultTy: OverallTy) env tpenv clauses = let mutable first = true @@ -9392,10 +9392,10 @@ and TcMatchClauses cenv inputTy (resultTy: OverallTy) env tpenv clauses = and TcMatchClause cenv inputTy (resultTy: OverallTy) env isFirst tpenv synMatchClause = let (SynMatchClause(pat, optWhenExpr, _, e, patm, spTgt)) = synMatchClause - let pat', optWhenExpr', vspecs, envinner, tpenv = TcMatchPattern cenv inputTy env tpenv (pat, optWhenExpr) + let pat', optWhenExprR, vspecs, envinner, tpenv = TcMatchPattern cenv inputTy env tpenv (pat, optWhenExpr) let resultEnv = if isFirst then envinner else { envinner with eContextInfo = ContextInfo.FollowingPatternMatchClause e.Range } let e', tpenv = TcExprThatCanBeCtorBody cenv resultTy resultEnv tpenv e - TClause(pat', optWhenExpr', TTarget(vspecs, e', spTgt, None), patm), tpenv + TClause(pat', optWhenExprR, TTarget(vspecs, e', spTgt, None), patm), tpenv and TcStaticOptimizationConstraint cenv env tpenv c = match c with diff --git a/src/fsharp/FindUnsolved.fs b/src/fsharp/FindUnsolved.fs index a4d284e879..35b9724b34 100644 --- a/src/fsharp/FindUnsolved.fs +++ b/src/fsharp/FindUnsolved.fs @@ -177,7 +177,7 @@ and accDTree cenv env x = match x with | TDSuccess (es, _n) -> accExprs cenv env es | TDBind(bind, rest) -> accBind cenv env bind; accDTree cenv env rest - | TDSwitch (e, cases, dflt, m) -> accSwitch cenv env (e, cases, dflt, m) + | TDSwitch (_, e, cases, dflt, m) -> accSwitch cenv env (e, cases, dflt, m) and accSwitch cenv env (e, cases, dflt, _m) = accExpr cenv env e diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index e1cd687dee..b4aa7a12e7 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -1852,13 +1852,13 @@ type CodeGenBuffer(m: range, | true, l -> lab2pc (n + 1) l | _ -> codeLabelToPC.[lbl] - let mutable lastSeqPoint = None + let mutable lastDebugPoint = None - // Add a nop to make way for the first sequence point. + // Add a nop to make way for the first debug point. do if mgbuf.cenv.opts.generateDebugSymbols then let doc = g.memoize_file m.FileIndex let i = FeeFeeInstr mgbuf.cenv doc - codebuf.Add i // for the FeeFee or a better sequence point + codebuf.Add i // for the FeeFee or a better debug point member _.DoPushes (pushes: Pushes) = for ty in pushes do @@ -1898,10 +1898,10 @@ type CodeGenBuffer(m: range, is |> List.iter codebuf.Add member _.GetLastDebugPoint() = - lastSeqPoint + lastDebugPoint member private _.EnsureNopBetweenDebugPoints() = - // Always add a nop between sequence points to help .NET get the stepping right + // Always add a nop between debug points to help .NET get the stepping right // Don't do this after a FeeFee marker for hidden code if (codebuf.Count > 0 && (match codebuf.[codebuf.Count-1] with @@ -1910,13 +1910,13 @@ type CodeGenBuffer(m: range, codebuf.Add(AI_nop) - member cgbuf.EmitSeqPoint src = + member cgbuf.EmitDebugPoint src = if mgbuf.cenv.opts.generateDebugSymbols then let attr = GenILSourceMarker g src let i = I_seqpoint attr hasDebugPoints <- true - // Replace the FeeFee seqpoint at the entry with a better sequence point + // Replace the FeeFee seqpoint at the entry with a better debug point if codebuf.Count = 1 then assert (match codebuf.[0] with I_seqpoint _ -> true | _ -> false) codebuf.[0] <- i @@ -1925,8 +1925,8 @@ type CodeGenBuffer(m: range, cgbuf.EnsureNopBetweenDebugPoints() codebuf.Add i - // Save the last sequence point away so we can make a decision graph look consistent (i.e. reassert the sequence point at each target) - lastSeqPoint <- Some src + // Save the last debug point away so we can make a decision graph look consistent (i.e. reassert the debug point at each target) + lastDebugPoint <- Some src anyDocument <- Some attr.Document // Emit FeeFee breakpoints for hidden code, see https://blogs.msdn.microsoft.com/jmstall/2005/06/19/line-hidden-and-0xfeefee-sequence-points/ @@ -2017,11 +2017,11 @@ type CodeGenBuffer(m: range, let instrs = codebuf.ToArray() - // Fixup the first instruction to be a FeeFee sequence point if needed + // Fixup the first instruction to be a FeeFee debug point if needed let instrs = instrs |> Array.mapi (fun idx i2 -> if idx = 0 && (match i2 with AI_nop -> true | _ -> false) && anyDocument.IsSome then - // This special dummy sequence point says skip the start of the method + // This special dummy debug point says skip the start of the method hasDebugPoints <- true FeeFeeInstr mgbuf.cenv anyDocument.Value else @@ -2038,7 +2038,7 @@ type CodeGenBuffer(m: range, module CG = let EmitInstr (cgbuf: CodeGenBuffer) pops pushes i = cgbuf.EmitInstr(pops, pushes, i) let EmitInstrs (cgbuf: CodeGenBuffer) pops pushes is = cgbuf.EmitInstrs(pops, pushes, is) - let EmitSeqPoint (cgbuf: CodeGenBuffer) src = cgbuf.EmitSeqPoint src + let EmitDebugPoint (cgbuf: CodeGenBuffer) src = cgbuf.EmitDebugPoint src let GenerateDelayMark (cgbuf: CodeGenBuffer) nm = cgbuf.GenerateDelayMark nm let SetMark (cgbuf: CodeGenBuffer) m1 m2 = cgbuf.SetMark(m1, m2) let SetMarkToHere (cgbuf: CodeGenBuffer) m1 = cgbuf.SetMarkToHere m1 @@ -2137,8 +2137,8 @@ let CodeGenMethod cenv mgbuf (entryPointInfo, methodName, eenv, alreadyUsedArgs, let code = buildILCode methodName lab2pc instrs exns localDebugSpecs - // Attach a source range to the method. Only do this is it has some sequence points, because .NET 2.0/3.5 - // ILDASM has issues if you emit symbols with a source range but without any sequence points + // Attach a source range to the method. Only do this is it has some debug points, because .NET 2.0/3.5 + // ILDASM has issues if you emit symbols with a source range but without any debug points let sourceRange = if hasDebugPoints then GenPossibleILSourceMarker cenv m else None // The old union erasure phase increased maxstack by 2 since the code pushes some items, we do the same here @@ -2171,18 +2171,18 @@ let compileStateMachineExpressions = true // try (System.Environment.GetEnvironm //------------------------------------------------------------------------- type EmitDebugPointState = - /// Indicates that we need a sequence point at first opportunity. Used on entrance to a method + /// Indicates that we need a debug point at first opportunity. Used on entrance to a method /// and whenever we drop into an expression within the stepping control structure. | SPAlways - /// Indicates we are not forced to emit a sequence point + /// Indicates we are not forced to emit a debug point | SPSuppress /// Determines if any code at all will be emitted for a binding let BindingEmitsNoCode g (b: Binding) = IsFSharpValCompiledAsMethod g b.Var -/// Determines what sequence point should be emitted when generating the r.h.s of a binding. -/// For example, if the r.h.s is a lambda then no sequence point is emitted. +/// Determines what debug point should be emitted when generating the r.h.s of a binding. +/// For example, if the r.h.s is a lambda then no debug point is emitted. /// /// Returns (isSticky, sequencePointForBind, sequencePointGenerationFlagForRhsOfBind) let ComputeDebugPointForBinding g (TBind(_, e, spBind) as bind) = @@ -2194,13 +2194,13 @@ let ComputeDebugPointForBinding g (TBind(_, e, spBind) as bind) = | DebugPointAtBinding.NoneAtSticky, _ -> true, None, SPSuppress | DebugPointAtBinding.NoneAtDo, _ -> false, None, SPAlways | DebugPointAtBinding.NoneAtLet, _ -> false, None, SPSuppress - // Don't emit sequence points for lambdas. + // Don't emit debug points for lambdas. // SEQUENCE POINT REVIEW: don't emit for lazy either, nor any builder expressions, nor interface-implementing object expressions | _, (Expr.Lambda _ | Expr.TyLambda _) -> false, None, SPSuppress | DebugPointAtBinding.Yes m, _ -> false, Some m, SPSuppress -/// Determines if a sequence will be emitted when we generate the code for a binding. +/// Determines if a debug point will be emitted when we generate the code for a binding. /// /// False for Lambdas, BindingEmitsNoCode, DebugPointAtBinding.NoneAtSticky, DebugPointAtBinding.NoneAtInvisible, and DebugPointAtBinding.NoneAtLet. /// True for DebugPointAtBinding.Yes, DebugPointAtBinding.NoneAtDo. @@ -2220,8 +2220,8 @@ let BindingEmitsHiddenCode (TBind(_, e, spBind)) = | _, (Expr.Lambda _ | Expr.TyLambda _) -> true | _ -> false -/// Determines if generating the code for a compound expression will emit a sequence point as the first instruction -/// through the processing of the constituent parts. Used to prevent the generation of sequence points for +/// Determines if generating the code for a compound expression will emit a debug point as the first instruction +/// through the processing of the constituent parts. Used to prevent the generation of debug points for /// compound expressions. let rec FirstEmittedCodeWillBeDebugPoint g sp expr = match sp with @@ -2247,6 +2247,7 @@ let rec FirstEmittedCodeWillBeDebugPoint g sp expr = | DebugPointAtSequential.SuppressStmt -> FirstEmittedCodeWillBeDebugPoint g sp expr1 | DebugPointAtSequential.SuppressBoth -> false | Expr.Match (DebugPointAtBinding.Yes _, _, _, _, _, _) -> true + | Expr.Match (_, _, TDSwitch(DebugPointAtSwitch.Yes _, _, _, _, _), _, _, _) -> true | Expr.Op ((TOp.TryWith (DebugPointAtTry.Yes _, _) | TOp.TryFinally (DebugPointAtTry.Yes _, _) | TOp.For (DebugPointAtFor.Yes _, _) @@ -2256,7 +2257,7 @@ let rec FirstEmittedCodeWillBeDebugPoint g sp expr = | SPSuppress -> false -/// Suppress sequence points for some compound expressions - though not all - even if "SPAlways" is set. +/// Suppress debug points for some compound expressions - though not all - even if "SPAlways" is set. /// /// Note this is only used when FirstEmittedCodeWillBeDebugPoint is false. let EmitDebugPointForWholeExpr g sp expr = @@ -2265,44 +2266,48 @@ let EmitDebugPointForWholeExpr g sp expr = | SPAlways -> match stripExpr expr with - // In some cases, we emit sequence points for the 'whole' of a 'let' expression. + // In some cases, we emit debug points for the 'whole' of a 'let' expression. // Specifically, when - // + SPAlways (i.e. a sequence point is required as soon as meaningful) + // + SPAlways (i.e. a debug point is required as soon as meaningful) // + binding is DebugPointAtBinding.NoneAtSticky, or DebugPointAtBinding.NoneAtLet. // + not FirstEmittedCodeWillBeDebugPoint // For example if we start with // let someCode () = f x // and by inlining 'f' the expression becomes // let someCode () = (let sticky = x in y) - // then we place the sequence point for the whole TAST expression 'let sticky = x in y', i.e. textual range 'f x' in the source code, but + // then we place the debug point for the whole TAST expression 'let sticky = x in y', i.e. textual range 'f x' in the source code, but // _before_ the evaluation of 'x'. This will only happen for sticky 'let' introduced by inlining and other code generation // steps. We do _not_ do this for 'invisible' let which can be skipped. | Expr.Let (bind, _, _, _) when BindingIsInvisible bind -> false | Expr.LetRec (binds, _, _, _) when binds |> List.forall BindingIsInvisible -> false - // If the binding is a lambda then we don't emit a sequence point. + // If the binding is a lambda then we don't emit a debug point. | Expr.Let (bind, _, _, _) when BindingEmitsHiddenCode bind -> false | Expr.LetRec (binds, _, _, _) when binds |> List.forall BindingEmitsHiddenCode -> false - // If the binding is represented by a top-level generated constant value then we don't emit a sequence point. + // If the binding is represented by a top-level generated constant value then we don't emit a debug point. | Expr.Let (bind, _, _, _) when BindingEmitsNoCode g bind -> false | Expr.LetRec (binds, _, _, _) when binds |> List.forall (BindingEmitsNoCode g) -> false - // Suppress sequence points for the whole 'a;b' and do it at 'a' instead. + // Suppress debug points for the whole 'a;b' and do it at 'a' instead. | Expr.Sequential _ -> false - // Suppress sequence points at labels and gotos, it makes no sense to emit sequence points at these. We emit FeeFee instead + // Suppress debug points at labels and gotos, it makes no sense to emit debug points at these. We emit FeeFee instead | Expr.Op (TOp.Label _, _, _, _) -> false | Expr.Op (TOp.Goto _, _, _, _) -> false - // We always suppress at the whole 'match'/'try'/... expression because we do it at the individual parts. + // We suppress at 'match' with DebugPointAtBinding.NoneAtInvisible because + // it is the result of a typical 'match' compilation. For example, + // match expr with + // becomes + // let tmp = expr // generates a debug point, BEFORE tmp is evaluated + // match tmp with // a match marked with DebugPointAtBinding.NoneAtInvisible + // // decision tree accessing 'tmp' // - // These cases need documenting. For example, a typical 'match' gets compiled to - // let tmp = expr // generates a sequence point, BEFORE tmp is evaluated - // match tmp with // a match marked with NoDebugPointAtInvisibleLetBinding - // So since the 'let tmp = expr' has a sequence point, then no sequence point is needed for the 'match'. But the processing - // of the 'let' requests SPAlways for the body. - | Expr.Match _ -> false + // So since the 'let tmp = expr' has a debug point, then no debug point is needed for the 'match'. + // + // Code 'a && b' and 'a || b' gets compiled to match with DebugPointAtBinding.NoneAtSticky + | Expr.Match (DebugPointAtBinding.NoneAtInvisible, _, _, _, _, _) -> false | Expr.Op (TOp.TryWith _, _, _, _) -> false | Expr.Op (TOp.TryFinally _, _, _, _) -> false | Expr.Op (TOp.For _, _, _, _) -> false @@ -2342,7 +2347,7 @@ let rec RangeOfDebugPointForWholeExpr g expr = | Expr.Sequential (expr1, _, NormalSeq, _, _) -> RangeOfDebugPointForWholeExpr g expr1 | _ -> expr.Range -/// Used to avoid emitting multiple sequence points in decision tree generation +/// Used to avoid emitting multiple debug points in decision tree generation let DoesGenExprStartWithDebugPoint g sp expr = FirstEmittedCodeWillBeDebugPoint g sp expr || EmitDebugPointForWholeExpr g sp expr @@ -2351,7 +2356,7 @@ let ProcessDebugPointForExpr (cenv: cenv) (cgbuf: CodeGenBuffer) sp expr = let g = cenv.g if not (FirstEmittedCodeWillBeDebugPoint g sp expr) then if EmitDebugPointForWholeExpr g sp expr then - CG.EmitSeqPoint cgbuf (RangeOfDebugPointForWholeExpr g expr) + CG.EmitDebugPoint cgbuf (RangeOfDebugPointForWholeExpr g expr) elif EmitHiddenCodeMarkerForWholeExpr g sp expr then cgbuf.EmitStartOfHiddenCode() @@ -2659,7 +2664,7 @@ and GenSequel cenv cloc cgbuf sequel = | EndLocalScope _ -> failwith "EndLocalScope unexpected" | Br x -> // Emit a NOP in debug code in case the branch instruction gets eliminated - // because it is a "branch to next instruction". This prevents two unrelated sequence points + // because it is a "branch to next instruction". This prevents two unrelated debug points // (the one before the branch and the one after) being coalesced together if cgbuf.mgbuf.cenv.opts.generateDebugSymbols then cgbuf.EmitStartOfHiddenCode() @@ -2816,7 +2821,7 @@ and GenLinearExpr cenv cgbuf eenv sp expr sequel preSteps (contf: FakeUnit -> Fa // Process the debug point and see if there's a replacement technique to process this expression if preSteps && GenExprPreSteps cenv cgbuf eenv sp expr sequel then contf Fake else - // Compiler generated sequential executions result in suppressions of sequence points on both + // Compiler generated sequential executions result in suppressions of debug points on both // left and right of the sequence let spStmt, spExpr = (match spSeq with @@ -2846,15 +2851,15 @@ and GenLinearExpr cenv cgbuf eenv sp expr sequel preSteps (contf: FakeUnit -> Fa if preSteps && GenExprPreSteps cenv cgbuf eenv sp expr sequel then contf Fake else // This case implemented here to get a guaranteed tailcall - // Make sure we generate the sequence point outside the scope of the variable + // Make sure we generate the debug point outside the scope of the variable let startScope, endScope as scopeMarks = StartDelayedLocalScope "let" cgbuf let eenv = AllocStorageForBind cenv cgbuf scopeMarks eenv bind let spBind = GenDebugPointForBind cenv cgbuf bind GenBindingAfterDebugPoint cenv cgbuf eenv spBind bind false (Some startScope) - // Work out if we need a sequence point for the body. For any "user" binding then the body gets SPAlways. + // Work out if we need a debug point for the body. For any "user" binding then the body gets SPAlways. // For invisible compiler-generated bindings we just use "sp", unless its body is another invisible binding - // For sticky bindings arising from inlining we suppress any immediate sequence point in the body + // For sticky bindings arising from inlining we suppress any immediate debug point in the body let spBody = match bind.DebugPoint with | DebugPointAtBinding.Yes _ @@ -2871,26 +2876,12 @@ and GenLinearExpr cenv cgbuf eenv sp expr sequel preSteps (contf: FakeUnit -> Fa if preSteps && GenExprPreSteps cenv cgbuf eenv sp expr sequel then contf Fake else match spBind with - | DebugPointAtBinding.Yes m -> CG.EmitSeqPoint cgbuf m + | DebugPointAtBinding.Yes m -> CG.EmitDebugPoint cgbuf m | DebugPointAtBinding.NoneAtDo | DebugPointAtBinding.NoneAtLet | DebugPointAtBinding.NoneAtInvisible | DebugPointAtBinding.NoneAtSticky -> () - // The target of branch needs a sequence point. - // If we don't give it one it will get entirely the wrong sequence point depending on earlier codegen - // Note we're not interested in having pattern matching and decision trees reveal their inner working. - // Hence at each branch target we 'reassert' the overall sequence point that was active as we came into the match. - // - // NOTE: sadly this causes multiple sequence points to appear for the "initial" location of an if/then/else or match. - let activeSP = cgbuf.GetLastDebugPoint() - let repeatSP() = - match activeSP with - | None -> () - | Some src -> - if activeSP <> cgbuf.GetLastDebugPoint() then - CG.EmitSeqPoint cgbuf src - // First try the common cases where we don't need a join point. match tree with | TDSuccess _ -> @@ -2905,7 +2896,7 @@ and GenLinearExpr cenv cgbuf eenv sp expr sequel preSteps (contf: FakeUnit -> Fa // match-testing (dtrees) should not contribute to the stack. // Each branch-RHS (targets) may contribute to the stack, leaving it in the "stackAfterJoin" state, for the join point. // Since code is branching and joining, the cgbuf stack is maintained manually. - GenDecisionTreeAndTargets cenv cgbuf stackAtTargets eenv tree targets repeatSP sequelOnBranches (contf << (fun Fake -> + GenDecisionTreeAndTargets cenv cgbuf stackAtTargets eenv tree targets sequelOnBranches (contf << (fun Fake -> CG.SetMarkToHere cgbuf afterJoin //assert(cgbuf.GetCurrentStack() = stackAfterJoin) // REVIEW: Since gen_dtree* now sets stack, stack should be stackAfterJoin at this point... @@ -3816,7 +3807,7 @@ and GenTry cenv cgbuf eenv scopeMarks (e1, m, resultTy, spTry) = let g = cenv.g let sp = match spTry with - | DebugPointAtTry.Yes m -> CG.EmitSeqPoint cgbuf m; SPAlways + | DebugPointAtTry.Yes m -> CG.EmitDebugPoint cgbuf m; SPAlways | DebugPointAtTry.Body -> SPAlways | DebugPointAtTry.No -> SPSuppress @@ -3843,10 +3834,10 @@ and GenTry cenv cgbuf eenv scopeMarks (e1, m, resultTy, spTry) = let exitSequel = LeaveHandler (false, whereToSaveOpt, afterHandler, true) let eenvinner = {eenvinner with withinSEH = true; exitSequel = exitSequel} - // Generate the body of the try. In the normal case (DebugPointAtTry.Yes) we generate a sequence point + // Generate the body of the try. In the normal case (DebugPointAtTry.Yes) we generate a debug point // both on the 'try' keyword and on the start of the expression in the 'try'. For inlined code and // compiler generated 'try' blocks (i.e. DebugPointAtTry.No, used for the try/finally implicit - // in a 'use' or 'foreach'), we suppress the sequence point + // in a 'use' or 'foreach'), we suppress the debug point GenExpr cenv cgbuf eenvinner sp e1 exitSequel CG.SetMarkToHere cgbuf endTryMark let tryMarks = (startTryMark.CodeLabel, endTryMark.CodeLabel) @@ -3868,17 +3859,17 @@ and GenTryWith cenv cgbuf eenv (e1, vf: Val, ef, vh: Val, eh, m, resty, spTry, s let afterFilter = CG.GenerateDelayMark cgbuf "afterFilter" let sequelOnBranches, afterJoin, stackAfterJoin, sequelAfterJoin = GenJoinPoint cenv cgbuf "filter" eenv g.int_ty m EndFilter let eenvinner = { eenvinner with exitSequel = sequelOnBranches } - // We emit the sequence point for the 'with' keyword span on the start of the filter + // We emit the debug point for the 'with' keyword span on the start of the filter // block. However the targets of the filter block pattern matching should not get any - // sequence points (they will be 'true'/'false' values indicating if the exception has been + // debug points (they will be 'true'/'false' values indicating if the exception has been // caught or not). // - // The targets of the handler block DO get sequence points. Thus the expected behaviour + // The targets of the handler block DO get debug points. Thus the expected behaviour // for a try/with with a complex pattern is that we hit the "with" before the filter is run // and then jump to the handler for the successful catch (or continue with exception handling // if the filter fails) match spWith with - | DebugPointAtWith.Yes m -> CG.EmitSeqPoint cgbuf m + | DebugPointAtWith.Yes m -> CG.EmitDebugPoint cgbuf m | DebugPointAtWith.No -> () @@ -3888,7 +3879,7 @@ and GenTryWith cenv cgbuf eenv (e1, vf: Val, ef, vh: Val, eh, m, resty, spTry, s GenStoreVal cenv cgbuf eenvinner vf.Range vf - // Why SPSuppress? Because we do not emit a sequence point at the start of the List.filter - we've already put one on + // Why SPSuppress? Because we do not emit a debug point at the start of the List.filter - we've already put one on // the 'with' keyword above GenExpr cenv cgbuf eenvinner SPSuppress ef sequelOnBranches CG.SetMarkToHere cgbuf afterJoin @@ -3915,7 +3906,7 @@ and GenTryWith cenv cgbuf eenv (e1, vf: Val, ef, vh: Val, eh, m, resty, spTry, s let startOfHandler = CG.GenerateMark cgbuf "startOfHandler" match spWith with - | DebugPointAtWith.Yes m -> CG.EmitSeqPoint cgbuf m + | DebugPointAtWith.Yes m -> CG.EmitDebugPoint cgbuf m | DebugPointAtWith.No -> () CG.SetStack cgbuf [g.ilg.typ_Object] @@ -3966,7 +3957,7 @@ and GenTryFinally cenv cgbuf eenv (bodyExpr, handlerExpr, m, resty, spTry, spFin let sp = match spFinally with - | DebugPointAtFinally.Yes m -> CG.EmitSeqPoint cgbuf m; SPAlways + | DebugPointAtFinally.Yes m -> CG.EmitDebugPoint cgbuf m; SPAlways | DebugPointAtFinally.Body -> SPAlways | DebugPointAtFinally.No -> SPSuppress @@ -4029,7 +4020,7 @@ and GenForLoop cenv cgbuf eenv (spFor, v, e1, dir, e2, loopBody, m) sequel = let _, eenvinner = AllocLocalVal cenv cgbuf v eenvinner None (start, finish) match spFor with - | DebugPointAtFor.Yes spStart -> CG.EmitSeqPoint cgbuf spStart + | DebugPointAtFor.Yes spStart -> CG.EmitDebugPoint cgbuf spStart | DebugPointAtFor.No -> () GenExpr cenv cgbuf eenv SPSuppress e1 Continue @@ -4062,8 +4053,8 @@ and GenForLoop cenv cgbuf eenv (spFor, v, e1, dir, e2, loopBody, m) sequel = // FSharpForLoopDown: if v <> e2 - 1 then goto .inner // CSharpStyle: if v < e2 then goto .inner match spFor with - | DebugPointAtFor.Yes spStart -> CG.EmitSeqPoint cgbuf spStart - | DebugPointAtFor.No -> () //CG.EmitSeqPoint cgbuf e2.Range + | DebugPointAtFor.Yes spStart -> CG.EmitDebugPoint cgbuf spStart + | DebugPointAtFor.No -> () //CG.EmitDebugPoint cgbuf e2.Range GenGetLocalVal cenv cgbuf eenvinner e2.Range v None @@ -4096,16 +4087,16 @@ and GenWhileLoop cenv cgbuf eenv (spWhile, condExpr, bodyExpr, m) sequel = let spCondition = match spWhile with - | DebugPointAtWhile.Yes spStart -> CG.EmitSeqPoint cgbuf spStart; SPSuppress + | DebugPointAtWhile.Yes spStart -> CG.EmitDebugPoint cgbuf spStart; SPSuppress | DebugPointAtWhile.No -> SPSuppress - // SEQUENCE POINTS: Emit a sequence point to cover all of 'while e do' + // SEQUENCE POINTS: Emit a debug point to cover all of 'while e do' GenExpr cenv cgbuf eenv spCondition condExpr (CmpThenBrOrContinue (pop 1, [ I_brcmp(BI_brfalse, finish.CodeLabel) ])) GenExpr cenv cgbuf eenv SPAlways bodyExpr (DiscardThen (Br startTest)) CG.SetMarkToHere cgbuf finish - // SEQUENCE POINTS: Emit a sequence point to cover 'done' if present + // SEQUENCE POINTS: Emit a debug point to cover 'done' if present GenUnitThenSequel cenv eenv m eenv.cloc cgbuf sequel //-------------------------------------------------------------------------- @@ -4991,19 +4982,19 @@ and GenSequenceExpr |> AddNonUserCompilerGeneratedAttribs g let closeMethod = - // Note: We suppress the first sequence point in the body of this method since it is the initial state machine jump + // Note: We suppress the first debug point in the body of this method since it is the initial state machine jump let spReq = SPSuppress let ilCode = CodeGenMethodForExpr cenv cgbuf.mgbuf (spReq, [], "Close", eenvinner, 1, closeExpr, discardAndReturnVoid) mkILNonGenericVirtualMethod("Close", ILMemberAccess.Public, [], mkILReturn ILType.Void, MethodBody.IL (lazy ilCode)) let checkCloseMethod = - // Note: We suppress the first sequence point in the body of this method since it is the initial state machine jump + // Note: We suppress the first debug point in the body of this method since it is the initial state machine jump let spReq = SPSuppress let ilCode = CodeGenMethodForExpr cenv cgbuf.mgbuf (spReq, [], "get_CheckClose", eenvinner, 1, checkCloseExpr, Return) mkILNonGenericVirtualMethod("get_CheckClose", ILMemberAccess.Public, [], mkILReturn g.ilg.typ_Bool, MethodBody.IL (lazy ilCode)) let generateNextMethod = - // Note: We suppress the first sequence point in the body of this method since it is the initial state machine jump + // Note: We suppress the first debug point in the body of this method since it is the initial state machine jump let spReq = SPSuppress // the 'next enumerator' byref arg is at arg position 1 let eenvinner = eenvinner |> AddStorageForLocalVals g [ (nextEnumeratorValRef.Deref, Arg 1) ] @@ -5548,10 +5539,10 @@ and GenJoinPoint cenv cgbuf pos eenv ty m sequel = Br afterJoin, afterJoin, stackAfterJoin, sequel // Accumulate the decision graph as we go -and GenDecisionTreeAndTargets cenv cgbuf stackAtTargets eenv tree targets repeatSP sequel contf = +and GenDecisionTreeAndTargets cenv cgbuf stackAtTargets eenv tree targets sequel contf = let targetCounts = accTargetsOfDecisionTree tree [] |> List.countBy id |> Dictionary.ofList let targetNext = ref 0 // used to make sure we generate the targets in-order, postponing if necessary - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv tree targets (targetNext, targetCounts) repeatSP (IntMap.empty()) sequel (fun targetInfos -> + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv tree targets (targetNext, targetCounts) (IntMap.empty()) sequel (fun targetInfos -> let sortedTargetInfos = targetInfos |> Seq.sortBy (fun (KeyValue(targetIdx, _)) -> targetIdx) @@ -5574,7 +5565,7 @@ and GenPostponedDecisionTreeTargets cenv cgbuf targetInfos stackAtTargets sequel /// /// When inplabOpt is "Some inplab", we are assuming an existing branch to "inplab" and can optionally /// set inplab to point to another location if no codegen is required. -and GenDecisionTreeAndTargetsInner cenv cgbuf inplabOpt stackAtTargets eenv tree targets targetCounts repeatSP targetInfos sequel (contf: Zmap<_,_> -> FakeUnit) = +and GenDecisionTreeAndTargetsInner cenv cgbuf inplabOpt stackAtTargets eenv tree targets targetCounts targetInfos sequel (contf: Zmap<_,_> -> FakeUnit) = CG.SetStack cgbuf stackAtTargets // Set the expected initial stack. match tree with | TDBind(bind, rest) -> @@ -5587,18 +5578,24 @@ and GenDecisionTreeAndTargetsInner cenv cgbuf inplabOpt stackAtTargets eenv tree // we effectively lose an EndLocalScope for all dtrees that go to the same target // So we just pretend that the variable goes out of scope here. CG.SetMarkToHere cgbuf endScope - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv rest targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv rest targets targetCounts targetInfos sequel contf | TDSuccess(es, targetIdx) -> - let targetInfos, genTargetInfoOpt = GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx targets targetCounts repeatSP targetInfos sequel + let targetInfos, genTargetInfoOpt = GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx targets targetCounts targetInfos sequel match genTargetInfoOpt with | Some (eenvAtTarget, spExprAtTarget, exprAtTarget, sequelAtTarget) -> GenLinearExpr cenv cgbuf eenvAtTarget spExprAtTarget exprAtTarget sequelAtTarget true (fun Fake -> contf targetInfos) | _ -> contf targetInfos - | TDSwitch(e, cases, dflt, m) -> - GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases dflt m targets targetCounts repeatSP targetInfos sequel contf + | TDSwitch(dp, e, cases, dflt, m) -> + + // Emit the debug point + match dp with + | DebugPointAtSwitch.Yes dpm -> CG.EmitDebugPoint cgbuf dpm + | DebugPointAtSwitch.No -> () + + GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases dflt m targets targetCounts targetInfos sequel contf and GetTarget (targets:_[]) n = if n >= targets.Length then failwith "GetTarget: target not found in decision tree" @@ -5607,12 +5604,12 @@ and GetTarget (targets:_[]) n = /// Generate a success node of a decision tree, binding the variables and going to the target /// If inplabOpt is present, this label must get set to the first logical place to execute. /// For example, if no variables get bound this can just be set to jump straight to the target. -and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx targets (targetNext: int ref, targetCounts: Dictionary) repeatSP targetInfos sequel = +and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx targets (targetNext: int ref, targetCounts: Dictionary) targetInfos sequel = let (TTarget(vs, successExpr, spTarget, flags)) = GetTarget targets targetIdx match IntMap.tryFind targetIdx targetInfos with | Some (targetInfo, isTargetPostponed) -> - let (targetMarkBeforeBinds, targetMarkAfterBinds: Mark, eenvAtTarget, _, _, _, _, _, _, _, _) = targetInfo + let (targetMarkBeforeBinds, targetMarkAfterBinds: Mark, eenvAtTarget, _, _, _, _, _, _, _) = targetInfo // We have encountered this target before. See if we should generate it now let targetCount = targetCounts.[targetIdx] @@ -5626,7 +5623,7 @@ and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx cgbuf.SetMarkOrEmitBranchIfNecessary (inplabOpt, targetMarkBeforeBinds) else cgbuf.SetMarkToHereIfNecessary inplabOpt - repeatSP() + cgbuf.EmitStartOfHiddenCode() (vs, es) ||> List.iter2 (fun v e -> @@ -5668,7 +5665,7 @@ and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx |||> List.zip3 |> List.choose (fun (v, e, flag) -> if flag then None else Some (mkInvisibleBind v e)) let eenvAtTarget = AllocStorageForBinds cenv cgbuf scopeMarks eenv binds - let targetInfo = (targetMarkBeforeBinds, targetMarkAfterBinds, eenvAtTarget, successExpr, spTarget, repeatSP, vs, es, flags, startScope, endScope) + let targetInfo = (targetMarkBeforeBinds, targetMarkAfterBinds, eenvAtTarget, successExpr, spTarget, vs, es, flags, startScope, endScope) let targetCount = targetCounts.[targetIdx] @@ -5694,22 +5691,16 @@ and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx targetInfos, genTargetInfoOpt and GenDecisionTreeTarget cenv cgbuf stackAtTargets targetInfo sequel = - let targetMarkBeforeBinds, targetMarkAfterBinds, eenvAtTarget, successExpr, spTarget, repeatSP, vs, es, flags, startScope, endScope = targetInfo + let targetMarkBeforeBinds, targetMarkAfterBinds, eenvAtTarget, successExpr, spTarget, vs, es, flags, startScope, endScope = targetInfo CG.SetMarkToHere cgbuf targetMarkBeforeBinds let spExpr = (match spTarget with DebugPointForTarget.Yes -> SPAlways | DebugPointForTarget.No _ -> SPSuppress) - // Repeat the sequence point to make sure each target branch has some sequence point (instead of inheriting - // a random sequence point from the previously generated IL code from the previous block. See comment on - // repeatSP() above. - // - // Only repeat the sequence point if we really have to, i.e. if the target expression doesn't start with a - // sequence point anyway + // Only emit start of hidden code if we really have to, i.e. if the target expression doesn't start with a + // debug point anyway if isNil vs && DoesGenExprStartWithDebugPoint cenv.g spExpr successExpr then () else - match spTarget with - | DebugPointForTarget.Yes -> repeatSP() - | DebugPointForTarget.No -> cgbuf.EmitStartOfHiddenCode() + cgbuf.EmitStartOfHiddenCode() CG.SetMarkToHere cgbuf startScope let binds = mkInvisibleBinds vs es @@ -5718,22 +5709,17 @@ and GenDecisionTreeTarget cenv cgbuf stackAtTargets targetInfo sequel = CG.SetStack cgbuf stackAtTargets (eenvAtTarget, spExpr, successExpr, (EndLocalScope(sequel, endScope))) -and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defaultTargetOpt switchm targets targetCounts repeatSP targetInfos sequel contf = +and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defaultTargetOpt switchm targets targetCounts targetInfos sequel contf = let g = cenv.g let m = e.Range cgbuf.SetMarkToHereIfNecessary inplabOpt - repeatSP() + cgbuf.EmitStartOfHiddenCode() match cases with // optimize a test against a boolean value, i.e. the all-important if-then-else | TCase(DecisionTreeTest.Const(Const.Bool b), successTree) :: _ -> let failureTree = (match defaultTargetOpt with None -> cases.Tail.Head.CaseTree | Some d -> d) - GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e None false eenv (if b then successTree else failureTree) (if b then failureTree else successTree) targets targetCounts repeatSP targetInfos sequel contf - - // // Remove a single test for a union case . Union case tests are always exa - //| [ TCase(DecisionTreeTest.UnionCase _, successTree) ] when (defaultTargetOpt.IsNone) -> - // GenDecisionTreeAndTargetsInner cenv cgbuf inplabOpt stackAtTargets eenv successTree targets repeatSP targetInfos sequel - // //GenDecisionTree cenv eenv.cloc cgbuf stackAtTargets e (Some (pop 1, Push [g.ilg.typ_Bool], Choice1Of2 (avoidHelpers, cuspec, idx))) eenv successTree failureTree targets repeatSP targetInfos sequel + GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e None false eenv (if b then successTree else failureTree) (if b then failureTree else successTree) targets targetCounts targetInfos sequel contf // Optimize a single test for a union case to an "isdata" test - much // more efficient code, and this case occurs in the generated equality testers where perf is important @@ -5746,7 +5732,7 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau let idx = c.Index let avoidHelpers = entityRefInThisAssembly g.compilingFslib c.TyconRef let tester = (Some (pop 1, Push [g.ilg.typ_Bool], Choice1Of2 (avoidHelpers, cuspec, idx))) - GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e tester false eenv successTree failureTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e tester false eenv successTree failureTree targets targetCounts targetInfos sequel contf // Use GenDecisionTreeTest to generate a single test for null (when no box required) where the success // is going to the immediate first node in the tree @@ -5757,7 +5743,7 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau match defaultTargetOpt with | None -> rest.Head.CaseTree | Some tg -> tg - GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e None true eenv successTree failureTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeTest cenv eenv.cloc cgbuf stackAtTargets e None true eenv successTree failureTree targets targetCounts targetInfos sequel contf | _ -> let caseLabels = List.map (fun _ -> CG.GenerateDelayMark cgbuf "switch_case") cases @@ -5788,7 +5774,7 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau BI_brtrue | _ -> failwith "internal error: GenDecisionTreeSwitch" CG.EmitInstr cgbuf (pop 1) Push0 (I_brcmp (bi, (List.head caseLabels).CodeLabel)) - GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts repeatSP targetInfos sequel caseLabels cases contf + GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts targetInfos sequel caseLabels cases contf | DecisionTreeTest.ActivePatternCase _ -> error(InternalError("internal error in codegen: DecisionTreeTest.ActivePatternCase", switchm)) | DecisionTreeTest.UnionCase (hdc, tyargs) -> @@ -5804,7 +5790,7 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau let avoidHelpers = entityRefInThisAssembly g.compilingFslib hdc.TyconRef EraseUnions.emitDataSwitch g.ilg (UnionCodeGen cgbuf) (avoidHelpers, cuspec, dests) CG.EmitInstrs cgbuf (pop 1) Push0 [ ] // push/pop to match the line above - GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts repeatSP targetInfos sequel caseLabels cases contf + GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts targetInfos sequel caseLabels cases contf | DecisionTreeTest.Const c -> GenExpr cenv cgbuf eenv SPSuppress e Continue @@ -5847,22 +5833,22 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau CG.EmitInstr cgbuf (pop 1) Push0 (I_switch destinationLabels) else error(InternalError("non-dense integer matches not implemented in codegen - these should have been removed by the pattern match compiler", switchm)) - GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts repeatSP targetInfos sequel caseLabels cases contf + GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts targetInfos sequel caseLabels cases contf | _ -> error(InternalError("these matches should never be needed", switchm)) | DecisionTreeTest.Error m -> error(InternalError("Trying to compile error recovery branch", m)) -and GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts repeatSP targetInfos sequel caseLabels cases (contf: Zmap<_,_> -> FakeUnit) = +and GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets targetCounts targetInfos sequel caseLabels cases (contf: Zmap<_,_> -> FakeUnit) = match defaultTargetOpt with | Some defaultTarget -> - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv defaultTarget targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeCases cenv cgbuf stackAtTargets eenv None targets targetCounts repeatSP targetInfos sequel caseLabels cases contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv defaultTarget targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeCases cenv cgbuf stackAtTargets eenv None targets targetCounts targetInfos sequel caseLabels cases contf ) | None -> match caseLabels, cases with | caseLabel :: caseLabelsTail, TCase(_, caseTree) :: casesTail -> - GenDecisionTreeAndTargetsInner cenv cgbuf (Some caseLabel) stackAtTargets eenv caseTree targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeCases cenv cgbuf stackAtTargets eenv None targets targetCounts repeatSP targetInfos sequel caseLabelsTail casesTail contf + GenDecisionTreeAndTargetsInner cenv cgbuf (Some caseLabel) stackAtTargets eenv caseTree targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeCases cenv cgbuf stackAtTargets eenv None targets targetCounts targetInfos sequel caseLabelsTail casesTail contf ) | _ -> contf targetInfos @@ -5870,7 +5856,7 @@ and GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets // Used for the peephole optimization below and (|BoolExpr|_|) = function Expr.Const (Const.Bool b1, _, _) -> Some b1 | _ -> None -and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv successTree failureTree targets targetCounts repeatSP targetInfos sequel contf = +and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv successTree failureTree targets targetCounts targetInfos sequel contf = let g = cenv.g match successTree, failureTree with @@ -5919,8 +5905,8 @@ and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv let success = CG.GenerateDelayMark cgbuf "testSuccess" let testForSuccess = if isNullTest then BI_brfalse else BI_brtrue GenExpr cenv cgbuf eenv SPSuppress e (CmpThenBrOrContinue(pop 1, [ I_brcmp (testForSuccess, success.CodeLabel) ])) - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv failureTree targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeAndTargetsInner cenv cgbuf (Some success) stackAtTargets eenv successTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv failureTree targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeAndTargetsInner cenv cgbuf (Some success) stackAtTargets eenv successTree targets targetCounts targetInfos sequel contf ) | _ -> @@ -5931,8 +5917,8 @@ and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv let failure = CG.GenerateDelayMark cgbuf "testFailure" let testForFailure = if isNullTest then BI_brtrue else BI_brfalse GenExpr cenv cgbuf eenv SPSuppress e (CmpThenBrOrContinue(pop 1, [ I_brcmp (testForFailure, failure.CodeLabel) ])) - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts targetInfos sequel contf ) // Turn 'isdata' tests that branch into EI_brisdata tests @@ -5940,8 +5926,8 @@ and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv let failure = CG.GenerateDelayMark cgbuf "testFailure" GenExpr cenv cgbuf eenv SPSuppress e (CmpThenBrOrContinue(pop 1, EraseUnions.mkBrIsData g.ilg false (avoidHelpers, cuspec, idx, failure.CodeLabel))) - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts targetInfos sequel contf ) | Some (pops, pushes, i) -> @@ -5952,8 +5938,8 @@ and GenDecisionTreeTest cenv cloc cgbuf stackAtTargets e tester isNullTest eenv | Choice2Of2 i -> CG.EmitInstr cgbuf pops pushes i CG.EmitInstr cgbuf (pop 1) Push0 (I_brcmp (BI_brfalse, failure.CodeLabel)) - GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts repeatSP targetInfos sequel (fun targetInfos -> - GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts repeatSP targetInfos sequel contf + GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv successTree targets targetCounts targetInfos sequel (fun targetInfos -> + GenDecisionTreeAndTargetsInner cenv cgbuf (Some failure) stackAtTargets eenv failureTree targets targetCounts targetInfos sequel contf ) /// Generate fixups for letrec bindings @@ -6033,7 +6019,7 @@ and GenLetRec cenv cgbuf eenv (binds, body, m) sequel = and GenDebugPointForBind cenv cgbuf bind = let _, pt, sp = ComputeDebugPointForBinding cenv.g bind - pt |> Option.iter (CG.EmitSeqPoint cgbuf) + pt |> Option.iter (CG.EmitDebugPoint cgbuf) sp and GenBinding cenv cgbuf eenv (bind: Binding) (isStateVar: bool) = @@ -7505,7 +7491,7 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: TypedI let doesSomething = CheckCodeDoesSomething topCode.Code // Make a FEEFEE instruction to mark hidden code regions - // We expect the first instruction to be a sequence point when generating debug symbols + // We expect the first instruction to be a debug point when generating debug symbols let feefee, seqpt = if topInstrs.Length > 1 then match topInstrs.[0] with diff --git a/src/fsharp/InnerLambdasToTopLevelFuncs.fs b/src/fsharp/InnerLambdasToTopLevelFuncs.fs index 6b08832a7e..daa9081175 100644 --- a/src/fsharp/InnerLambdasToTopLevelFuncs.fs +++ b/src/fsharp/InnerLambdasToTopLevelFuncs.fs @@ -1283,7 +1283,7 @@ module Pass4_RewriteAssembly = let bind, z = TransBindingRhs penv z bind let rest, z = TransDecisionTree penv z rest TDBind(bind, rest), z - | TDSwitch (e, cases, dflt, m) -> + | TDSwitch (dp, e, cases, dflt, m) -> let e, z = TransExpr penv z e let TransDecisionTreeCase penv z (TCase (discrim, dtree)) = let dtree, z = TransDecisionTree penv z dtree @@ -1291,7 +1291,7 @@ module Pass4_RewriteAssembly = let cases, z = List.mapFold (TransDecisionTreeCase penv) z cases let dflt, z = Option.mapFold (TransDecisionTree penv) z dflt - TDSwitch (e, cases, dflt, m), z + TDSwitch (dp, e, cases, dflt, m), z and TransDecisionTreeTarget penv z (TTarget(vs, e, spTarget, flags)) = let z = EnterInner z diff --git a/src/fsharp/LowerCallsAndSeqs.fs b/src/fsharp/LowerCallsAndSeqs.fs index 8d3fb8c288..8f6746cfec 100644 --- a/src/fsharp/LowerCallsAndSeqs.fs +++ b/src/fsharp/LowerCallsAndSeqs.fs @@ -685,20 +685,22 @@ let ConvertSequenceExprToObject g amap overallExpr = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointForTarget.No) let dtree = - TDSwitch(pcExpr, - [ - // Add an empty disposal action for the initial state (pc = 0) - if isDisposal then - yield mkCase(DecisionTreeTest.Const(Const.Int32 pcInit), mkGotoLabelTarget noDisposeContinuationLabel) - - // Yield one target for each PC, where the action of the target is to goto the appropriate label - for pc in pcs do - yield mkCase(DecisionTreeTest.Const(Const.Int32 pc), mkGotoLabelTarget pc2lab.[pc]) - - // Yield one target for the 'done' program counter, where the action of the target is to continuation label - yield mkCase(DecisionTreeTest.Const(Const.Int32 pcDone), mkGotoLabelTarget noDisposeContinuationLabel) ], - Some(mkGotoLabelTarget pc2lab.[pcInit]), - m) + TDSwitch( + DebugPointAtSwitch.No, + pcExpr, + [ + // Add an empty disposal action for the initial state (pc = 0) + if isDisposal then + yield mkCase(DecisionTreeTest.Const(Const.Int32 pcInit), mkGotoLabelTarget noDisposeContinuationLabel) + + // Yield one target for each PC, where the action of the target is to goto the appropriate label + for pc in pcs do + yield mkCase(DecisionTreeTest.Const(Const.Int32 pc), mkGotoLabelTarget pc2lab.[pc]) + + // Yield one target for the 'done' program counter, where the action of the target is to continuation label + yield mkCase(DecisionTreeTest.Const(Const.Int32 pcDone), mkGotoLabelTarget noDisposeContinuationLabel) ], + Some(mkGotoLabelTarget pc2lab.[pcInit]), + m) let table = mbuilder.Close(dtree, m, g.int_ty) mkCompGenSequential m table (mkLabelled m initLabel expr) @@ -752,10 +754,11 @@ let ConvertSequenceExprToObject g amap overallExpr = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) let addResultTarget e = mbuilder.AddResultTarget(e, DebugPointForTarget.No) let dtree = - TDSwitch(pcExpr, - [ mkCase((DecisionTreeTest.Const(Const.Int32 pcDone)), addResultTarget (Expr.Op (TOp.Goto doneDisposeLabel, [], [], m)) ) ], - Some (addResultTarget (mkUnit g m)), - m) + TDSwitch(DebugPointAtSwitch.No, + pcExpr, + [ mkCase((DecisionTreeTest.Const(Const.Int32 pcDone)), addResultTarget (Expr.Op (TOp.Goto doneDisposeLabel, [], [], m)) ) ], + Some (addResultTarget (mkUnit g m)), + m) let pcIsEndStateComparison = mbuilder.Close(dtree, m, g.unit_ty) mkLabelled m startLabel (mkCompGenSequential m diff --git a/src/fsharp/LowerStateMachines.fs b/src/fsharp/LowerStateMachines.fs index 42a067819c..8f643397cf 100644 --- a/src/fsharp/LowerStateMachines.fs +++ b/src/fsharp/LowerStateMachines.fs @@ -415,13 +415,15 @@ type LowerStateMachine(g: TcGlobals) = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointForTarget.No) let dtree = - TDSwitch(pcExpr, - [ // Yield one target for each PC, where the action of the target is to goto the appropriate label - for pc in pcs do - yield mkCase(DecisionTreeTest.Const(Const.Int32 pc), mkGotoLabelTarget pc2lab.[pc]) ], - // The default is to go to pcInit - Some(mkGotoLabelTarget initLabel), - m) + TDSwitch( + DebugPointAtSwitch.No, + pcExpr, + [ // Yield one target for each PC, where the action of the target is to goto the appropriate label + for pc in pcs do + yield mkCase(DecisionTreeTest.Const(Const.Int32 pc), mkGotoLabelTarget pc2lab.[pc]) ], + // The default is to go to pcInit + Some(mkGotoLabelTarget initLabel), + m) let table = mbuilder.Close(dtree, m, g.int_ty) mkCompGenSequential m table (mkLabelled m initLabel expr) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index baf65a357c..1c337227ff 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -1486,13 +1486,13 @@ let TryEliminateBinding cenv _env (TBind(vspec1, e1, spBind)) e2 _m = Some (Expr.Sequential(invoke, rest, NormalSeq, sp, m)) // Immediate consumption of value by a pattern match 'let x = e in match x with ...' - | Expr.Match (spMatch, _exprm, TDSwitch(Expr.Val (VRefLocal vspec2, _, _), cases, dflt, _), targets, m, ty2) + | Expr.Match (spMatch, _exprm, TDSwitch(dp, Expr.Val (VRefLocal vspec2, _, _), cases, dflt, _), targets, m, ty2) when (valEq vspec1 vspec2 && let fvs = accFreeInTargets CollectLocals targets (accFreeInSwitchCases CollectLocals cases dflt emptyFreeVars) not (Zset.contains vspec1 fvs.FreeLocals)) -> let spMatch = spBind.Combine spMatch - Some (Expr.Match (spMatch, e1.Range, TDSwitch(e1, cases, dflt, m), targets, m, ty2)) + Some (Expr.Match (spMatch, e1.Range, TDSwitch(dp, e1, cases, dflt, m), targets, m, ty2)) // Immediate use of value as part of an application. 'let f = e in f ...' and 'let x = e in f ... x ...' // Note functions are evaluated before args @@ -1541,8 +1541,8 @@ let rec (|KnownValApp|_|) expr = /// check single case with bool const. let (|TDBoolSwitch|_|) dtree = match dtree with - | TDSwitch( expr, [TCase (DecisionTreeTest.Const(Const.Bool testBool), caseTree )], Some defaultTree, range) -> - Some (expr, testBool, caseTree, defaultTree, range) + | TDSwitch(dp, expr, [TCase (DecisionTreeTest.Const(Const.Bool testBool), caseTree )], Some defaultTree, range) -> + Some (dp, expr, testBool, caseTree, defaultTree, range) | _ -> None @@ -1556,7 +1556,7 @@ let (|ConstantBoolTarget|_|) target = /// apart from one branch which defers to another expression let rec CountBoolLogicTree (targets: DecisionTreeTarget[], costOuterCaseTree, costOuterDefaultTree, testBool as data) tree = match tree with - | TDSwitch (_expr, [case], Some defaultTree, _range) -> + | TDSwitch (_dp, _expr, [case], Some defaultTree, _range) -> let tc1,ec1 = CountBoolLogicTree data case.CaseTree let tc2, ec2 = CountBoolLogicTree data defaultTree tc1 + tc2, ec1 + ec2 @@ -1572,14 +1572,14 @@ let rec CountBoolLogicTree (targets: DecisionTreeTarget[], costOuterCaseTree, co /// depending on whether the target result was true/false let rec RewriteBoolLogicTree (targets: DecisionTreeTarget[], outerCaseTree, outerDefaultTree, testBool as data) tree = match tree with - | TDSwitch (expr, cases, defaultTree, range) -> + | TDSwitch (dp, expr, cases, defaultTree, range) -> let cases2 = cases |> List.map (RewriteBoolLogicCase data) let defaultTree2 = defaultTree |> Option.map (RewriteBoolLogicTree data) - TDSwitch (expr, cases2, defaultTree2, range) + TDSwitch (dp, expr, cases2, defaultTree2, range) | TDSuccess([], idx) -> match targets.[idx] with | ConstantBoolTarget result -> if result = testBool then outerCaseTree else outerDefaultTree - | TTarget([], exp, _, _) -> mkBoolSwitch exp.Range exp (if testBool then outerCaseTree else outerDefaultTree) (if testBool then outerDefaultTree else outerCaseTree) + | TTarget([], exp, _, _) -> mkBoolSwitch DebugPointAtSwitch.No exp.Range exp (if testBool then outerCaseTree else outerDefaultTree) (if testBool then outerDefaultTree else outerCaseTree) | _ -> failwith "CountBoolLogicTree should exclude this case" | _ -> failwith "CountBoolLogicTree should exclude this case" @@ -1594,7 +1594,7 @@ let rec CombineBoolLogic expr = // try to find nested boolean switch match expr with | Expr.Match (outerSP, outerMatchRange, - TDBoolSwitch(Expr.Match (_innerSP, _innerMatchRange, innerTree, innerTargets, _innerDefaultRange, _innerMatchTy), + TDBoolSwitch(_switchSP, Expr.Match (_innerSP, _innerMatchRange, innerTree, innerTargets, _innerDefaultRange, _innerMatchTy), outerTestBool, outerCaseTree, outerDefaultTree, _outerSwitchRange ), outerTargets, outerDefaultRange, outerMatchTy) -> @@ -3254,9 +3254,6 @@ and getPipes g expr acc = | _ -> [expr], acc -and mkDebugPoint g m e = - mkThenDoSequential DebugPointAtSequential.SuppressStmt m e (mkUnit g m) - /// In debug code, process a pipe-right manually to lay down the debug point for the application of the function after /// the evaluation of the argument, all the way down the chain. and OptimizeDebugPipeRights cenv env expr = @@ -3585,7 +3582,7 @@ and OptimizeDecisionTree cenv env m x = else rest, rinfo - | TDSwitch (e, cases, dflt, m) -> + | TDSwitch (dp, e, cases, dflt, m) -> // We always duplicate boolean-typed guards prior to optimizing. This is work which really should be done in patcompile.fs // where we must duplicate "when" expressions to ensure uniqueness of bound variables. // @@ -3593,7 +3590,7 @@ and OptimizeDecisionTree cenv env m x = // Hence we do it here. There is no doubt a better way to do this. let e = if typeEquiv cenv.g (tyOfExpr cenv.g e) cenv.g.bool_ty then copyExpr cenv.g CloneAll e else e - OptimizeSwitch cenv env (e, cases, dflt, m) + OptimizeSwitch cenv env (dp, e, cases, dflt, m) and TryOptimizeDecisionTreeTest cenv test vinfo = match test, vinfo with @@ -3607,7 +3604,7 @@ and TryOptimizeDecisionTreeTest cenv test vinfo = | _ -> None /// Optimize/analyze a switch construct from pattern matching -and OptimizeSwitch cenv env (e, cases, dflt, m) = +and OptimizeSwitch cenv env (dp, e, cases, dflt, m) = let eR, einfo = OptimizeExpr cenv env e let cases, dflt = @@ -3624,9 +3621,9 @@ and OptimizeSwitch cenv env (e, cases, dflt, m) = // OK, see what weRre left with and continue match cases, dflt with | [], Some case -> OptimizeDecisionTree cenv env m case - | _ -> OptimizeSwitchFallback cenv env (eR, einfo, cases, dflt, m) + | _ -> OptimizeSwitchFallback cenv env (dp, eR, einfo, cases, dflt, m) -and OptimizeSwitchFallback cenv env (eR, einfo, cases, dflt, m) = +and OptimizeSwitchFallback cenv env (dp, eR, einfo, cases, dflt, m) = let casesR, cinfos = cases |> List.map (fun (TCase(discrim, e)) -> let eR, einfo = OptimizeDecisionTree cenv env m e in TCase(discrim, eR), einfo) @@ -3638,7 +3635,7 @@ and OptimizeSwitchFallback cenv env (eR, einfo, cases, dflt, m) = let size = (dinfos.Length + cinfos.Length) * 2 let info = CombineValueInfosUnknown (einfo :: cinfos @ dinfos) let info = { info with TotalSize = info.TotalSize + size; FunctionSize = info.FunctionSize + size; } - TDSwitch (eR, casesR, dfltR, m), info + TDSwitch (dp, eR, casesR, dfltR, m), info and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = try diff --git a/src/fsharp/PatternMatchCompilation.fs b/src/fsharp/PatternMatchCompilation.fs index 084e6d7211..f6793d95b2 100644 --- a/src/fsharp/PatternMatchCompilation.fs +++ b/src/fsharp/PatternMatchCompilation.fs @@ -583,11 +583,11 @@ let rec BuildSwitch inpExprOpt g expr edges dflt m = // In this case the 'expr' already holds the result of the 'isinst' test. | TCase(DecisionTreeTest.IsInst _, success) :: edges, dflt when Option.isSome inpExprOpt -> - TDSwitch(expr, [TCase(DecisionTreeTest.IsNull, BuildSwitch None g expr edges dflt m)], Some success, m) + TDSwitch(DebugPointAtSwitch.No, expr, [TCase(DecisionTreeTest.IsNull, BuildSwitch None g expr edges dflt m)], Some success, m) // isnull and isinst tests | TCase((DecisionTreeTest.IsNull | DecisionTreeTest.IsInst _), _) as edge :: edges, dflt -> - TDSwitch(expr, [edge], Some (BuildSwitch inpExprOpt g expr edges dflt m), m) + TDSwitch(DebugPointAtSwitch.No, expr, [edge], Some (BuildSwitch inpExprOpt g expr edges dflt m), m) #if OPTIMIZE_LIST_MATCHING // 'cons/nil' tests where we have stored the result of the cons test in an 'isinst' in a variable @@ -597,7 +597,7 @@ let rec BuildSwitch inpExprOpt g expr edges dflt m = | [TCase(ListEmptyDiscrim g _, emptyCase); TCase(ListConsDiscrim g tinst, consCase)], None | [TCase(ListConsDiscrim g tinst, consCase); TCase(ListEmptyDiscrim g _, emptyCase)], None when Option.isSome inpExprOpt -> - TDSwitch(expr, [TCase(DecisionTreeTest.IsNull, emptyCase)], Some consCase, m) + TDSwitch(DebugPointAtSwitch.No, expr, [TCase(DecisionTreeTest.IsNull, emptyCase)], Some consCase, m) #endif // All these should also always have default cases @@ -621,7 +621,7 @@ let rec BuildSwitch inpExprOpt g expr edges dflt m = | DecisionTreeTest.Const (Const.Double _ | Const.Single _ | Const.Int64 _ | Const.UInt64 _ | Const.IntPtr _ | Const.UIntPtr _ as c) -> mkILAsmCeq g m testexpr (Expr.Const (c, m, tyOfExpr g testexpr)) | _ -> error(InternalError("strange switch", m)) - mkBoolSwitch m testexpr tree sofar) + mkBoolSwitch DebugPointAtSwitch.No m testexpr tree sofar) edges dflt @@ -663,7 +663,7 @@ let rec BuildSwitch inpExprOpt g expr edges dflt m = | _ -> failwith "internal error: compactify" let edgeGroups = compactify None edges' - (edgeGroups, dflt) ||> List.foldBack (fun edgeGroup sofar -> TDSwitch(expr, edgeGroup, Some sofar, m)) + (edgeGroups, dflt) ||> List.foldBack (fun edgeGroup sofar -> TDSwitch(DebugPointAtSwitch.No, expr, edgeGroup, Some sofar, m)) // For a total pattern match, run the active pattern, bind the result and // recursively build a switch in the choice type @@ -671,10 +671,10 @@ let rec BuildSwitch inpExprOpt g expr edges dflt m = error(InternalError("DecisionTreeTest.ActivePatternCase should have been eliminated", m)) // For a complete match, optimize one test to be the default - | TCase(_, tree) :: rest, None -> TDSwitch (expr, rest, Some tree, m) + | TCase(_, tree) :: rest, None -> TDSwitch (DebugPointAtSwitch.No, expr, rest, Some tree, m) // Otherwise let codegen make the choices - | _ -> TDSwitch (expr, edges, dflt, m) + | _ -> TDSwitch (DebugPointAtSwitch.No, expr, edges, dflt, m) #if DEBUG let rec layoutPat pat = @@ -933,26 +933,15 @@ let CompilePatternBasic match valMap.TryFind v with | None -> mkUnit g v.Range | Some res -> res) - let rhs' = TDSuccess(es2, i) + let successTree = TDSuccess(es2, i) match GetWhenGuardOfClause i refuted with | Some whenExpr -> - let m = whenExpr.Range + let whenExprWithBindings = mkLetsFromBindings m (mkInvisibleBinds vs2 es2) whenExpr + let failureTree = (InvestigateFrontiers (RefutedWhenClause :: refuted) rest) + mkBoolSwitch (DebugPointAtSwitch.Yes m) m whenExprWithBindings successTree failureTree - // SEQUENCE POINTS: REVIEW: Build a sequence point at 'when' - let whenExpr = mkLetsFromBindings m (mkInvisibleBinds vs2 es2) whenExpr - - // We must duplicate both the bindings and the guard expression to ensure uniqueness of bound variables. - // This is because guards and bindings can end up being compiled multiple times when "or" patterns are used. - // - // let whenExpr = copyExpr g CloneAll whenExpr - // - // However, we are not allowed to copy expressions until type checking is complete, because this - // would lose recursive fixup points within the expressions (see FSharp 1.0 bug 4821). - - mkBoolSwitch m whenExpr rhs' (InvestigateFrontiers (RefutedWhenClause :: refuted) rest) - - | None -> rhs' + | None -> successTree /// Select the set of discriminators which we can handle in one test, or as a series of iterated tests, /// e.g. in the case of TPat_isinst. Ensure we only take at most one class of `TPat_query` at a time. @@ -1434,3 +1423,5 @@ let rec CompilePattern g denv amap tcVal infoReader exprm matchm warnOnUnused a | _ -> CompilePatternBasic g denv amap tcVal infoReader exprm matchm warnOnUnused true actionOnFailure (origInputVal, origInputValTypars, origInputExprOpt) clausesL inputTy resultTy +type IA = + abstract X: int -> int \ No newline at end of file diff --git a/src/fsharp/PostInferenceChecks.fs b/src/fsharp/PostInferenceChecks.fs index e230643baa..6e0e9f3607 100644 --- a/src/fsharp/PostInferenceChecks.fs +++ b/src/fsharp/PostInferenceChecks.fs @@ -1777,7 +1777,7 @@ and CheckDecisionTree cenv env x = | TDBind(bind, rest) -> CheckBinding cenv env false PermitByRefExpr.Yes bind |> ignore CheckDecisionTree cenv env rest - | TDSwitch (e, cases, dflt, m) -> + | TDSwitch (_, e, cases, dflt, m) -> CheckDecisionTreeSwitch cenv env (e, cases, dflt, m) and CheckDecisionTreeSwitch cenv env (e, cases, dflt, m) = diff --git a/src/fsharp/QuotationTranslator.fs b/src/fsharp/QuotationTranslator.fs index 04177155d0..abcf0a16a0 100644 --- a/src/fsharp/QuotationTranslator.fs +++ b/src/fsharp/QuotationTranslator.fs @@ -200,7 +200,7 @@ let (|ObjectInitializationCheck|_|) g expr = ( _, _, TDSwitch - ( + (_, Expr.Op (TOp.ILAsm ([AI_clt], _), _, [Expr.Op (TOp.ValFieldGet (RecdFieldRef(_, name)), _, [Expr.Val (selfRef, NormalValUse, _)], _); Expr.Const (Const.Int32 1, _, _)], _), _, _, _ ), [| TTarget([], Expr.App (Expr.Val (failInitRef, _, _), _, _, _, _), _, _); _ |], _, resultTy @@ -1043,7 +1043,7 @@ and ConvConst cenv env m c ty = and ConvDecisionTree cenv env tgs typR x = match x with - | TDSwitch(e1, csl, dfltOpt, m) -> + | TDSwitch(_, e1, csl, dfltOpt, m) -> let acc = match dfltOpt with | Some d -> ConvDecisionTree cenv env tgs typR d diff --git a/src/fsharp/SyntaxTree.fs b/src/fsharp/SyntaxTree.fs index d5c1afdd54..dbd23d8847 100644 --- a/src/fsharp/SyntaxTree.fs +++ b/src/fsharp/SyntaxTree.fs @@ -173,6 +173,11 @@ type DebugPointForTarget = | Yes | No +[] +type DebugPointAtSwitch = + | Yes of range + | No + [] type DebugPointAtSequential = | SuppressNeither diff --git a/src/fsharp/SyntaxTree.fsi b/src/fsharp/SyntaxTree.fsi index bddc0c8cc5..290cc59dd1 100644 --- a/src/fsharp/SyntaxTree.fsi +++ b/src/fsharp/SyntaxTree.fsi @@ -218,6 +218,14 @@ type DebugPointForTarget = | Yes | No +/// Represents whether a debug point should be present at the switch +/// logic of a decision tree. These are introduced for 'when' expressions +/// and the encoding of 'a && b', 'a || b' +[] +type DebugPointAtSwitch = + | Yes of range + | No + /// Represents whether a debug point should be suppressed for either the /// first or second part of a sequential execution, that is whether the /// construct corresponds to a debug point in the original source. diff --git a/src/fsharp/TypedTree.fs b/src/fsharp/TypedTree.fs index 800d4b361e..f890e5adde 100644 --- a/src/fsharp/TypedTree.fs +++ b/src/fsharp/TypedTree.fs @@ -4226,7 +4226,7 @@ type DecisionTree = /// cases -- The list of tests and their subsequent decision trees /// default -- The default decision tree, if any /// range -- (precise documentation needed) - | TDSwitch of input: Expr * cases: DecisionTreeCase list * defaultOpt: DecisionTree option * range: range + | TDSwitch of debugPoint: DebugPointAtSwitch * input: Expr * cases: DecisionTreeCase list * defaultOpt: DecisionTree option * range: range /// TDSuccess(results, targets) /// diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index f9243284ae..8995ce4cc1 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -1208,15 +1208,16 @@ type MatchBuilder(spBind, inpRange: range) = member x.Close(dtree, m, ty) = primMkMatch (spBind, inpRange, dtree, targets.ToArray(), m, ty) -let mkBoolSwitch m g t e = TDSwitch(g, [TCase(DecisionTreeTest.Const(Const.Bool true), t)], Some e, m) +let mkBoolSwitch debugPoint m g t e = + TDSwitch(debugPoint, g, [TCase(DecisionTreeTest.Const(Const.Bool true), t)], Some e, m) let primMkCond spBind spTarget1 spTarget2 m ty e1 e2 e3 = let mbuilder = MatchBuilder(spBind, m) - let dtree = mkBoolSwitch m e1 (mbuilder.AddResultTarget(e2, spTarget1)) (mbuilder.AddResultTarget(e3, spTarget2)) + let dtree = mkBoolSwitch DebugPointAtSwitch.No m e1 (mbuilder.AddResultTarget(e2, spTarget1)) (mbuilder.AddResultTarget(e3, spTarget2)) mbuilder.Close(dtree, m, ty) -let mkCond spBind spTarget m ty e1 e2 e3 = primMkCond spBind spTarget spTarget m ty e1 e2 e3 - +let mkCond spBind spTarget m ty e1 e2 e3 = + primMkCond spBind spTarget spTarget m ty e1 e2 e3 //--------------------------------------------------------------------------- // Primitive constructors @@ -1340,22 +1341,38 @@ let isBeingGeneralized tp typeScheme = // Build conditional expressions... //------------------------------------------------------------------------- -let mkLazyAnd (g: TcGlobals) m e1 e2 = mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 e2 (Expr.Const (Const.Bool false, m, g.bool_ty)) -let mkLazyOr (g: TcGlobals) m e1 e2 = mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 (Expr.Const (Const.Bool true, m, g.bool_ty)) e2 +let mkBool (g: TcGlobals) m b = Expr.Const (Const.Bool b, m, g.bool_ty) + +let mkTrue g m = mkBool g m true + +let mkFalse g m = mkBool g m false + +let mkLazyOr (g: TcGlobals) m e1 e2 = + mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 (mkTrue g m) e2 + +let mkLazyAnd (g: TcGlobals) m e1 e2 = + mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 e2 (mkFalse g m) let mkCoerceExpr(e, to_ty, m, from_ty) = Expr.Op (TOp.Coerce, [to_ty;from_ty], [e], m) let mkAsmExpr (code, tinst, args, rettys, m) = Expr.Op (TOp.ILAsm (code, rettys), tinst, args, m) + let mkUnionCaseExpr(uc, tinst, args, m) = Expr.Op (TOp.UnionCase uc, tinst, args, m) + let mkExnExpr(uc, args, m) = Expr.Op (TOp.ExnConstr uc, [], args, m) + let mkTupleFieldGetViaExprAddr(tupInfo, e, tinst, i, m) = Expr.Op (TOp.TupleFieldGet (tupInfo, i), tinst, [e], m) + let mkAnonRecdFieldGetViaExprAddr(anonInfo, e, tinst, i, m) = Expr.Op (TOp.AnonRecdGet (anonInfo, i), tinst, [e], m) let mkRecdFieldGetViaExprAddr (e, fref, tinst, m) = Expr.Op (TOp.ValFieldGet fref, tinst, [e], m) + let mkRecdFieldGetAddrViaExprAddr(readonly, e, fref, tinst, m) = Expr.Op (TOp.ValFieldGetAddr (fref, readonly), tinst, [e], m) let mkStaticRecdFieldGetAddr(readonly, fref, tinst, m) = Expr.Op (TOp.ValFieldGetAddr (fref, readonly), tinst, [], m) + let mkStaticRecdFieldGet (fref, tinst, m) = Expr.Op (TOp.ValFieldGet fref, tinst, [], m) + let mkStaticRecdFieldSet(fref, tinst, e, m) = Expr.Op (TOp.ValFieldSet fref, tinst, [e], m) let mkArrayElemAddress g (readonly, ilInstrReadOnlyAnnotation, isNativePtr, shape, elemTy, exprs, m) = @@ -4095,7 +4112,7 @@ module DebugPrint = (bind @@ decisionTreeL g body) | TDSuccess (args, n) -> wordL(tagText "Success") ^^ leftL(tagText "T") ^^ intL n ^^ tupleL (args |> List.map (exprL g)) - | TDSwitch (test, dcases, dflt, _) -> + | TDSwitch (_, test, dcases, dflt, _) -> (wordL(tagText "Switch") --- exprL g test) @@-- (aboveListL (List.map (dcaseL g) dcases) @@ match dflt with @@ -4596,7 +4613,7 @@ and accFreeInTest (opts: FreeVarOptions) discrim acc = and accFreeInDecisionTree opts x (acc: FreeVars) = match x with - | TDSwitch(e1, csl, dflt, _) -> accFreeInExpr opts e1 (accFreeInSwitchCases opts csl dflt acc) + | TDSwitch(_, e1, csl, dflt, _) -> accFreeInExpr opts e1 (accFreeInSwitchCases opts csl dflt acc) | TDSuccess (es, _) -> accFreeInFlatExprs opts es acc | TDBind (bind, body) -> unionFreeVars (bindLhs opts bind (accBindRhs opts bind (freeInDecisionTree opts body))) acc @@ -5417,10 +5434,11 @@ and remapFlatExprs g compgen tmenv es = List.mapq (remapExpr g compgen tmenv) es and remapDecisionTree g compgen tmenv x = match x with - | TDSwitch(e1, csl, dflt, m) -> - TDSwitch(remapExpr g compgen tmenv e1, - List.map (fun (TCase(test, y)) -> - let test' = + | TDSwitch(sp, e1, cases, dflt, m) -> + let e1R = remapExpr g compgen tmenv e1 + let casesR = + cases |> List.map (fun (TCase(test, subTree)) -> + let testR = match test with | DecisionTreeTest.UnionCase (uc, tinst) -> DecisionTreeTest.UnionCase(remapUnionCaseRef tmenv.tyconRefRemap uc, remapTypes tmenv tinst) | DecisionTreeTest.ArrayLength (n, ty) -> DecisionTreeTest.ArrayLength(n, remapType tmenv ty) @@ -5429,11 +5447,14 @@ and remapDecisionTree g compgen tmenv x = | DecisionTreeTest.IsNull -> DecisionTreeTest.IsNull | DecisionTreeTest.ActivePatternCase _ -> failwith "DecisionTreeTest.ActivePatternCase should only be used during pattern match compilation" | DecisionTreeTest.Error(m) -> DecisionTreeTest.Error(m) - TCase(test', remapDecisionTree g compgen tmenv y)) csl, - Option.map (remapDecisionTree g compgen tmenv) dflt, - m) + let subTreeR = remapDecisionTree g compgen tmenv subTree + TCase(testR, subTreeR)) + let dfltR = Option.map (remapDecisionTree g compgen tmenv) dflt + TDSwitch(sp, e1R, casesR, dfltR, m) + | TDSuccess (es, n) -> TDSuccess (remapFlatExprs g compgen tmenv es, n) + | TDBind (bind, rest) -> let bind', tmenvinner = copyAndRemapAndBindBinding g compgen tmenv bind TDBind (bind', remapDecisionTree g compgen tmenvinner rest) @@ -5852,9 +5873,11 @@ and remarkFlatExprs m es = es |> List.map (remarkExpr m) and remarkDecisionTree m x = match x with - | TDSwitch(e1, csl, dflt, _) -> - let cslR = csl |> List.map (fun (TCase(test, y)) -> TCase(test, remarkDecisionTree m y)) - TDSwitch(remarkExpr m e1, cslR, Option.map (remarkDecisionTree m) dflt, m) + | TDSwitch(sp, e1, cases, dflt, _) -> + let e1R = remarkExpr m e1 + let casesR = cases |> List.map (fun (TCase(test, y)) -> TCase(test, remarkDecisionTree m y)) + let dfltR = Option.map (remarkDecisionTree m) dflt + TDSwitch(sp, e1R, casesR, Option.map (remarkDecisionTree m) dfltR, m) | TDSuccess (es, n) -> TDSuccess (remarkFlatExprs m es, n) | TDBind (bind, rest) -> @@ -6091,7 +6114,7 @@ let mkTyAppExpr m (f, fty) tyargs = match tyargs with [] -> f | _ -> primMkApp ( let rec accTargetsOfDecisionTree tree acc = match tree with - | TDSwitch (_, cases, dflt, _) -> + | TDSwitch (_, _, cases, dflt, _) -> List.foldBack (fun (c: DecisionTreeCase) -> accTargetsOfDecisionTree c.CaseTree) cases (Option.foldBack accTargetsOfDecisionTree dflt acc) | TDSuccess (_, i) -> i :: acc @@ -6099,7 +6122,10 @@ let rec accTargetsOfDecisionTree tree acc = let rec mapTargetsOfDecisionTree f tree = match tree with - | TDSwitch (e, cases, dflt, m) -> TDSwitch (e, List.map (mapTargetsOfDecisionTreeCase f) cases, Option.map (mapTargetsOfDecisionTree f) dflt, m) + | TDSwitch (sp, e, cases, dflt, m) -> + let casesR = cases |> List.map (mapTargetsOfDecisionTreeCase f) + let dfltR = Option.map (mapTargetsOfDecisionTree f) dflt + TDSwitch (sp, e, casesR, dfltR, m) | TDSuccess (es, i) -> TDSuccess(es, f i) | TDBind (bind, rest) -> TDBind(bind, mapTargetsOfDecisionTree f rest) @@ -6132,7 +6158,7 @@ let rec targetOfSuccessDecisionTree tree = /// Check a decision tree only has bindings that immediately cover a 'Success' let rec decisionTreeHasNonTrivialBindings tree = match tree with - | TDSwitch (_, cases, dflt, _) -> + | TDSwitch (_, _, cases, dflt, _) -> cases |> List.exists (fun c -> decisionTreeHasNonTrivialBindings c.CaseTree) || dflt |> Option.exists decisionTreeHasNonTrivialBindings | TDSuccess _ -> false @@ -6152,9 +6178,10 @@ let foldLinearBindingTargetsOfMatch tree (targets: _[]) = // Build a map showing how each target might be reached let rec accumulateTipsOfDecisionTree accBinds tree = match tree with - | TDSwitch (_, cases, dflt, _) -> + | TDSwitch (_, _, cases, dflt, _) -> assert (isNil accBinds) // No switches under bindings - for edge in cases do accumulateTipsOfDecisionTree accBinds edge.CaseTree + for edge in cases do + accumulateTipsOfDecisionTree accBinds edge.CaseTree match dflt with | None -> () | Some tree -> accumulateTipsOfDecisionTree accBinds tree @@ -6184,7 +6211,10 @@ let foldLinearBindingTargetsOfMatch tree (targets: _[]) = | Some i when isLinearTgtIdx i -> TDSuccess([], i) | _ -> match tree with - | TDSwitch (e, cases, dflt, m) -> TDSwitch (e, List.map rebuildDecisionTreeEdge cases, Option.map rebuildDecisionTree dflt, m) + | TDSwitch (sp, e, cases, dflt, m) -> + let casesR = List.map rebuildDecisionTreeEdge cases + let dfltR = Option.map rebuildDecisionTree dflt + TDSwitch (sp, e, casesR, dfltR, m) | TDSuccess _ -> tree | TDBind _ -> tree @@ -6725,7 +6755,7 @@ type ExprFolders<'State> (folders: ExprFolder<'State>) = let z = valBindF true z bind dtreeF z rest | TDSuccess (args, _) -> exprsF z args - | TDSwitch (test, dcases, dflt, _) -> + | TDSwitch (_, test, dcases, dflt, _) -> let z = exprF z test let z = List.fold dcaseF z dcases let z = Option.fold dtreeF z dflt @@ -6799,16 +6829,10 @@ let ExprStats x = let mkString (g: TcGlobals) m n = Expr.Const (Const.String n, m, g.string_ty) -let mkBool (g: TcGlobals) m b = Expr.Const (Const.Bool b, m, g.bool_ty) - let mkByte (g: TcGlobals) m b = Expr.Const (Const.Byte b, m, g.byte_ty) let mkUInt16 (g: TcGlobals) m b = Expr.Const (Const.UInt16 b, m, g.uint16_ty) -let mkTrue g m = mkBool g m true - -let mkFalse g m = mkBool g m false - let mkUnit (g: TcGlobals) m = Expr.Const (Const.Unit, m, g.unit_ty) let mkInt32 (g: TcGlobals) m n = Expr.Const (Const.Int32 n, m, g.int32_ty) @@ -8464,16 +8488,19 @@ let canUseUnboxFast g m ty = // Nullness tests and pokes //-------------------------------------------------------------------------- -(* match inp with :? ty as v -> e2[v] | _ -> e3 *) +// Generates the logical equivalent of +// match inp with :? ty as v -> e2[v] | _ -> e3 +// +// No sequence point is generated for this expression form as this function is only +// used for compiler-generated code. let mkIsInstConditional g m tgty vinpe v e2 e3 = - // No sequence point for this compiler generated expression form if canUseTypeTestFast g tgty then let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) let tg2 = mbuilder.AddResultTarget(e2, DebugPointForTarget.No) let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) - let dtree = TDSwitch(exprForVal m v, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, exprForVal m v, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) mkCompGenLet m v (mkIsInst tgty vinpe m) expr @@ -8481,26 +8508,34 @@ let mkIsInstConditional g m tgty vinpe v e2 e3 = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) let tg2 = TDSuccess([mkCallUnbox g m tgty vinpe], mbuilder.AddTarget(TTarget([v], e2, DebugPointForTarget.No, None))) let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) - let dtree = TDSwitch(vinpe, [TCase(DecisionTreeTest.IsInst(tyOfExpr g vinpe, tgty), tg2)], Some tg3, m) + let dtree = TDSwitch(DebugPointAtSwitch.No, vinpe, [TCase(DecisionTreeTest.IsInst(tyOfExpr g vinpe, tgty), tg2)], Some tg3, m) let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) expr -// Null tests are generated by -// 1. The compilation of array patterns in the pattern match compiler -// 2. The compilation of string patterns in the pattern match compiler +// Called for when creating compiled form of 'let fixed ...'. +// +// No sequence point is generated for this expression form as this function is only +// used for compiler-generated code. let mkNullTest g m e1 e2 e3 = - let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) - let tg2 = mbuilder.AddResultTarget(e2, DebugPointForTarget.No) - let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) - let dtree = TDSwitch(e1, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) - let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) - expr - -let mkNonNullTest (g: TcGlobals) m e = mkAsmExpr ([ AI_ldnull ; AI_cgt_un ], [], [e], [g.bool_ty], m) - -let mkNonNullCond g m ty e1 e2 e3 = mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m ty (mkNonNullTest g m e1) e2 e3 - -let mkIfThen (g: TcGlobals) m e1 e2 = mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.unit_ty e1 e2 (mkUnit g m) + let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) + let tg2 = mbuilder.AddResultTarget(e2, DebugPointForTarget.No) + let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) + let dtree = TDSwitch(DebugPointAtSwitch.No, e1, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) + let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) + expr + +let mkNonNullTest (g: TcGlobals) m e = + mkAsmExpr ([ AI_ldnull ; AI_cgt_un ], [], [e], [g.bool_ty], m) + +// No sequence point is generated for this expression form as this function is only +// used for compiler-generated code. +let mkNonNullCond g m ty e1 e2 e3 = + mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m ty (mkNonNullTest g m e1) e2 e3 + +// No sequence point is generated for this expression form as this function is only +// used for compiler-generated code. +let mkIfThen (g: TcGlobals) m e1 e2 = + mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.unit_ty e1 e2 (mkUnit g m) let ModuleNameIsMangled g attrs = match TryFindFSharpInt32Attribute g g.attrib_CompilationRepresentationAttribute attrs with @@ -8816,23 +8851,24 @@ and rewriteFlatExprs env exprs = List.mapq (RewriteExpr env) exprs and RewriteDecisionTree env x = match x with | TDSuccess (es, n) -> - let es' = rewriteFlatExprs env es - if LanguagePrimitives.PhysicalEquality es es' then x - else TDSuccess(es', n) + let esR = rewriteFlatExprs env es + if LanguagePrimitives.PhysicalEquality es esR then x + else TDSuccess(esR, n) - | TDSwitch (e, cases, dflt, m) -> - let e' = RewriteExpr env e - let cases' = List.map (fun (TCase(discrim, e)) -> TCase(discrim, RewriteDecisionTree env e)) cases - let dflt' = Option.map (RewriteDecisionTree env) dflt - TDSwitch (e', cases', dflt', m) + | TDSwitch (sp, e, cases, dflt, m) -> + let eR = RewriteExpr env e + let casesR = List.map (fun (TCase(discrim, e)) -> TCase(discrim, RewriteDecisionTree env e)) cases + let dfltR = Option.map (RewriteDecisionTree env) dflt + TDSwitch (sp, eR, casesR, dfltR, m) | TDBind (bind, body) -> - let bind' = rewriteBind env bind - let body = RewriteDecisionTree env body - TDBind (bind', body) + let bindR = rewriteBind env bind + let bodyR = RewriteDecisionTree env body + TDBind (bindR, bodyR) and rewriteTarget env (TTarget(vs, e, spTarget, flags)) = - TTarget(vs, RewriteExpr env e, spTarget, flags) + let eR = RewriteExpr env e + TTarget(vs, eR, spTarget, flags) and rewriteTargets env targets = List.map (rewriteTarget env) (Array.toList targets) @@ -9054,15 +9090,23 @@ let IsSimpleSyntacticConstantExpr g inputExpr = and checkDecisionTree vrefs x = match x with | TDSuccess (es, _n) -> es |> List.forall (checkExpr vrefs) - | TDSwitch (e, cases, dflt, _m) -> checkExpr vrefs e && cases |> List.forall (checkDecisionTreeCase vrefs) && dflt |> Option.forall (checkDecisionTree vrefs) - | TDBind (bind, body) -> checkExpr vrefs bind.Expr && checkDecisionTree (vrefs.Add bind.Var.Stamp) body + | TDSwitch (_, e, cases, dflt, _m) -> + checkExpr vrefs e && + cases |> List.forall (checkDecisionTreeCase vrefs) && + dflt |> Option.forall (checkDecisionTree vrefs) + | TDBind (bind, body) -> + checkExpr vrefs bind.Expr && + checkDecisionTree (vrefs.Add bind.Var.Stamp) body and checkDecisionTreeCase vrefs (TCase(discrim, dtree)) = - (match discrim with DecisionTreeTest.Const _c -> true | _ -> false) && checkDecisionTree vrefs dtree + (match discrim with + | DecisionTreeTest.Const _c -> true + | _ -> false) && + checkDecisionTree vrefs dtree and checkDecisionTreeTarget vrefs (TTarget(vs, e, _, _)) = - let vrefs = ((vrefs, vs) ||> List.fold (fun s v -> s.Add v.Stamp)) - checkExpr vrefs e + let vrefs = ((vrefs, vs) ||> List.fold (fun s v -> s.Add v.Stamp)) + checkExpr vrefs e checkExpr Set.empty inputExpr @@ -9434,9 +9478,9 @@ let (|UseResumableStateMachinesExpr|_|) g expr = | _ -> None /// Match -let (|IsThenElseExpr|_|) expr = +let (|IfThenElseExpr|_|) expr = match expr with - | Expr.Match (_spBind, _exprm, TDSwitch(cond, [ TCase( DecisionTreeTest.Const (Const.Bool true), TDSuccess ([], 0) )], Some (TDSuccess ([], 1)), _), + | Expr.Match (_spBind, _exprm, TDSwitch(_spSwitch, cond, [ TCase( DecisionTreeTest.Const (Const.Bool true), TDSuccess ([], 0) )], Some (TDSuccess ([], 1)), _), [| TTarget([], thenExpr, _, _); TTarget([], elseExpr, _, _) |], _m, _ty) -> Some (cond, thenExpr, elseExpr) | _ -> None @@ -9444,7 +9488,7 @@ let (|IsThenElseExpr|_|) expr = /// if __useResumableCode then ... else ... let (|IfUseResumableStateMachinesExpr|_|) g expr = match expr with - | IsThenElseExpr(UseResumableStateMachinesExpr g (), thenExpr, elseExpr) -> Some (thenExpr, elseExpr) + | IfThenElseExpr(UseResumableStateMachinesExpr g (), thenExpr, elseExpr) -> Some (thenExpr, elseExpr) | _ -> None /// Combine a list of ModuleOrNamespaceType's making up the description of a CCU. checking there are now @@ -9543,11 +9587,11 @@ let (|TryWithExpr|_|) expr = let (|MatchTwoCasesExpr|_|) expr = match expr with - | Expr.Match (spBind, exprm, TDSwitch(cond, [ TCase( DecisionTreeTest.UnionCase (ucref, a), TDSuccess ([], tg1) )], Some (TDSuccess ([], tg2)), b), tgs, m, ty) -> + | Expr.Match (spBind, exprm, TDSwitch(spSwitch, cond, [ TCase( DecisionTreeTest.UnionCase (ucref, a), TDSuccess ([], tg1) )], Some (TDSuccess ([], tg2)), b), tgs, m, ty) -> // How to rebuild this construct let rebuild (cond, ucref, tg1, tg2, tgs) = - Expr.Match (spBind, exprm, TDSwitch(cond, [ TCase( DecisionTreeTest.UnionCase (ucref, a), TDSuccess ([], tg1) )], Some (TDSuccess ([], tg2)), b), tgs, m, ty) + Expr.Match (spBind, exprm, TDSwitch(spSwitch, cond, [ TCase( DecisionTreeTest.UnionCase (ucref, a), TDSuccess ([], tg1) )], Some (TDSuccess ([], tg2)), b), tgs, m, ty) Some (cond, ucref, tg1, tg2, tgs, rebuild) @@ -9657,3 +9701,6 @@ let (|ResumableCodeInvoke|_|) g expr = Some (iref, f, args, m, (fun (f2, args2) -> Expr.App ((iref, a, b, (f2 :: args2), m)))) | _ -> None +let mkDebugPoint g m expr = + mkThenDoSequential DebugPointAtSequential.SuppressStmt m expr (mkUnit g m) + diff --git a/src/fsharp/TypedTreeOps.fsi b/src/fsharp/TypedTreeOps.fsi index 683aaf5ca5..80c2f42f43 100755 --- a/src/fsharp/TypedTreeOps.fsi +++ b/src/fsharp/TypedTreeOps.fsi @@ -86,7 +86,7 @@ type MatchBuilder = member Close: DecisionTree * range * TType -> Expr /// Add an if-then-else boolean conditional node into a decision tree -val mkBoolSwitch: range -> Expr -> DecisionTree -> DecisionTree -> DecisionTree +val mkBoolSwitch: DebugPointAtSwitch -> range -> Expr -> DecisionTree -> DecisionTree -> DecisionTree /// Build a conditional expression val primMkCond: DebugPointAtBinding -> DebugPointForTarget -> DebugPointForTarget -> range -> TType -> Expr -> Expr -> Expr -> Expr @@ -2524,3 +2524,5 @@ val (|OpPipeRight3|_|): expr: Expr -> (TType * Expr * Expr * Expr * Expr * range) option +/// This uses 'expr thendo ()' with a note that there should be a debug point on the 'expr' +val mkDebugPoint: g: TcGlobals -> m: range -> expr: Expr -> Expr diff --git a/src/fsharp/TypedTreePickle.fs b/src/fsharp/TypedTreePickle.fs index a2a51c0047..6d203a2dfb 100644 --- a/src/fsharp/TypedTreePickle.fs +++ b/src/fsharp/TypedTreePickle.fs @@ -2376,7 +2376,7 @@ and u_const st = and p_dtree x st = match x with - | TDSwitch (a, b, c, d) -> p_byte 0 st; p_tup4 p_expr (p_list p_dtree_case) (p_option p_dtree) p_dummy_range (a, b, c, d) st + | TDSwitch (_sp, a, b, c, d) -> p_byte 0 st; p_tup4 p_expr (p_list p_dtree_case) (p_option p_dtree) p_dummy_range (a, b, c, d) st | TDSuccess (a, b) -> p_byte 1 st; p_tup2 p_Exprs p_int (a, b) st | TDBind (a, b) -> p_byte 2 st; p_tup2 p_bind p_dtree (a, b) st @@ -2406,9 +2406,11 @@ and p_recdInfo x st = and u_dtree st = let tag = u_byte st match tag with - | 0 -> u_tup4 u_expr (u_list u_dtree_case) (u_option u_dtree) u_dummy_range st |> TDSwitch - | 1 -> u_tup2 u_Exprs u_int st |> TDSuccess - | 2 -> u_tup2 u_bind u_dtree st |> TDBind + | 0 -> + let a,b,c,d = u_tup4 u_expr (u_list u_dtree_case) (u_option u_dtree) u_dummy_range st + TDSwitch(DebugPointAtSwitch.No, a, b, c, d) + | 1 -> u_tup2 u_Exprs u_int st |> TDSuccess + | 2 -> u_tup2 u_bind u_dtree st |> TDBind | _ -> ufailwith st "u_dtree" and u_dtree_case st = let a, b = u_tup2 u_dtree_discrim u_dtree st in (TCase(a, b)) diff --git a/src/fsharp/service/FSharpParseFileResults.fs b/src/fsharp/service/FSharpParseFileResults.fs index 2c15a4e8d4..9c9353f913 100644 --- a/src/fsharp/service/FSharpParseFileResults.fs +++ b/src/fsharp/service/FSharpParseFileResults.fs @@ -618,7 +618,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, | SynExpr.MatchLambda (_isExnMatch, _argm, cl, spBind, _wholem) -> yield! walkBindSeqPt spBind for SynMatchClause(_, whenExpr, _, e, _, _) in cl do - yield! walkExprOpt false whenExpr + yield! walkExprOpt true whenExpr yield! walkExpr true e | SynExpr.Lambda (body = bodyExpr) -> @@ -628,7 +628,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, yield! walkBindSeqPt spBind yield! walkExpr false inpExpr for SynMatchClause(_, whenExpr, _, tgtExpr, _, _) in cl do - yield! walkExprOpt false whenExpr + yield! walkExprOpt true whenExpr yield! walkExpr true tgtExpr | SynExpr.LetOrUse (_, _, binds, bodyExpr, _) -> @@ -684,7 +684,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, yield! walkBindSeqPt spBind yield! walkExpr false e for SynMatchClause(_, whenExpr, _, e, _, _) in cl do - yield! walkExprOpt false whenExpr + yield! walkExprOpt true whenExpr yield! walkExpr true e ] // Process a class declaration or F# type declaration diff --git a/src/fsharp/symbols/Exprs.fs b/src/fsharp/symbols/Exprs.fs index 95c774bb46..82598539f5 100644 --- a/src/fsharp/symbols/Exprs.fs +++ b/src/fsharp/symbols/Exprs.fs @@ -216,7 +216,7 @@ module FSharpExprConvert = // Match "if [AI_clt](init@41, 6) then IntrinsicFunctions.FailStaticInit () else ()" let (|StaticInitializationCheck|_|) e = match e with - | Expr.Match (_, _, TDSwitch(Expr.Op (TOp.ILAsm ([ AI_clt ], _), _, [Expr.Op (TOp.ValFieldGet rfref, _, _, _) ;_], _), _, _, _), _, _, _) when IsStaticInitializationField rfref -> Some () + | Expr.Match (_, _, TDSwitch(_, Expr.Op (TOp.ILAsm ([ AI_clt ], _), _, [Expr.Op (TOp.ValFieldGet rfref, _, _, _) ;_], _), _, _, _), _, _, _) when IsStaticInitializationField rfref -> Some () | _ -> None // Match "init@41 <- 6" @@ -1242,7 +1242,7 @@ module FSharpExprConvert = and ConvDecisionTreePrim cenv env dtreeRetTy x = match x with - | TDSwitch(e1, csl, dfltOpt, m) -> + | TDSwitch(_, e1, csl, dfltOpt, m) -> let acc = match dfltOpt with | Some d -> ConvDecisionTreePrim cenv env dtreeRetTy d diff --git a/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx b/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx index 52800ce3c9..edf6536025 100644 --- a/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx +++ b/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx @@ -890,3 +890,37 @@ TaskBreakpoints1() |> Task.RunSynchronously InlinedCode.test() Pipelined.testListPipeline() Pipelined.testArrayPipeline() + +module BooleanLogic = + + let testFunctionWithAnd x y = + x && y + + let testFunctionWithOr x y = + x || y + + let testFunctionWithMultipleAnd x y z = + x && y && z + + let testFunctionWithMultipleOr x y z = + x || y || z + + let testFunctionWithIfOfAnd x y = + if x && y then + 1 + else + 2 + + let testFunctionWithIfOfOr x y = + if x || y then + 1 + else + 2 + + testFunctionWithAnd true false + testFunctionWithMultipleAnd true true false + testFunctionWithMultipleOr false false true + testFunctionWithOr true false + testFunctionWithIfOfAnd true false + testFunctionWithIfOfOr false false + From 1dcd70b51b2ec94ae7c39c136c50191de3a8440d Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 00:07:13 +0100 Subject: [PATCH 15/24] correct initial debug point of methods --- src/fsharp/IlxGen.fs | 10 +++++++--- src/fsharp/PatternMatchCompilation.fs | 9 ++++----- src/fsharp/TypedTreeOps.fs | 3 +-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index b4aa7a12e7..3a9f5cb8fe 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -1917,10 +1917,14 @@ type CodeGenBuffer(m: range, hasDebugPoints <- true // Replace the FeeFee seqpoint at the entry with a better debug point - if codebuf.Count = 1 then - assert (match codebuf.[0] with I_seqpoint _ -> true | _ -> false) - codebuf.[0] <- i + let isSingleFeeFee = + codebuf.Count = 1 && + match codebuf.[0] with + | I_seqpoint sm -> (sm.Line = FeeFee mgbuf.cenv) + | _ -> false + if isSingleFeeFee then + codebuf.[0] <- i else cgbuf.EnsureNopBetweenDebugPoints() codebuf.Add i diff --git a/src/fsharp/PatternMatchCompilation.fs b/src/fsharp/PatternMatchCompilation.fs index f6793d95b2..3813081e46 100644 --- a/src/fsharp/PatternMatchCompilation.fs +++ b/src/fsharp/PatternMatchCompilation.fs @@ -1378,26 +1378,25 @@ let CompilePatternBasic let isPartialOrWhenClause (c: TypedMatchClause) = isPatternPartial c.Pattern || c.GuardExpr.IsSome - let rec CompilePattern g denv amap tcVal infoReader exprm matchm warnOnUnused actionOnFailure (origInputVal, origInputValTypars, origInputExprOpt) (clausesL: TypedMatchClause list) inputTy resultTy = match clausesL with | _ when List.exists isPartialOrWhenClause clausesL -> - // Partial clauses cause major code explosion if treated naively - // Hence treat any pattern matches with any partial clauses clause-by-clause // First make sure we generate at least some of the obvious incomplete match warnings. let warnOnUnused = false // we can't turn this on since we're pretending all partials fail in order to control the complexity of this. let warnOnIncomplete = true - let clausesPretendAllPartialFail = List.collect (fun (TClause(p, whenOpt, tg, m)) -> [TClause(erasePartialPatterns p, whenOpt, tg, m)]) clausesL + let clausesPretendAllPartialFail = clausesL |> List.collect (fun (TClause(p, whenOpt, tg, m)) -> [TClause(erasePartialPatterns p, whenOpt, tg, m)]) let _ = CompilePatternBasic g denv amap tcVal infoReader exprm matchm warnOnUnused warnOnIncomplete actionOnFailure (origInputVal, origInputValTypars, origInputExprOpt) clausesPretendAllPartialFail inputTy resultTy let warnOnIncomplete = false + // Partial and when clauses cause major code explosion if treated naively + // Hence treat any pattern matches with any partial clauses clause-by-clause let rec atMostOnePartialAtATime clauses = match List.takeUntil isPartialOrWhenClause clauses with | l, [] -> CompilePatternBasic g denv amap tcVal infoReader exprm matchm warnOnUnused warnOnIncomplete actionOnFailure (origInputVal, origInputValTypars, origInputExprOpt) l inputTy resultTy | l, h :: t -> - // Add the partial clause. + // Add the partial or when clause. doGroupWithAtMostOnePartial (l @ [h]) t and doGroupWithAtMostOnePartial group rest = diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 8995ce4cc1..118a0e7423 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -6270,8 +6270,7 @@ type Mutates = AddressOfOp | DefinitelyMutates | PossiblyMutates | NeverMutates exception DefensiveCopyWarning of string * range let isRecdOrStructTyconRefAssumedImmutable (g: TcGlobals) (tcref: TyconRef) = - tcref.CanDeref && - not (isRecdOrUnionOrStructTyconRefDefinitelyMutable tcref) || + (tcref.CanDeref && not (isRecdOrUnionOrStructTyconRefDefinitelyMutable tcref)) || tyconRefEq g tcref g.decimal_tcr || tyconRefEq g tcref g.date_tcr From e086697de492c9c55d0293abfb5c7533d4b4aa05 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 00:46:17 +0100 Subject: [PATCH 16/24] rename --- src/fsharp/AugmentWithHashCompare.fs | 42 +++++++++++------------ src/fsharp/CheckComputationExpressions.fs | 16 ++++----- src/fsharp/CheckExpressions.fs | 12 +++---- src/fsharp/IlxGen.fs | 2 +- src/fsharp/LowerCallsAndSeqs.fs | 4 +-- src/fsharp/LowerStateMachines.fs | 6 ++-- src/fsharp/MethodCalls.fs | 2 +- src/fsharp/PatternMatchCompilation.fs | 6 ++-- src/fsharp/SyntaxTree.fs | 4 +-- src/fsharp/SyntaxTree.fsi | 4 +-- src/fsharp/SyntaxTreeOps.fs | 2 +- src/fsharp/TypedTree.fs | 2 +- src/fsharp/TypedTreeOps.fs | 22 ++++++------ src/fsharp/TypedTreeOps.fsi | 10 +++--- src/fsharp/TypedTreePickle.fs | 2 +- src/fsharp/pars.fsy | 10 +++--- 16 files changed, 73 insertions(+), 73 deletions(-) diff --git a/src/fsharp/AugmentWithHashCompare.fs b/src/fsharp/AugmentWithHashCompare.fs index e1888f17a8..6842c3754a 100644 --- a/src/fsharp/AugmentWithHashCompare.fs +++ b/src/fsharp/AugmentWithHashCompare.fs @@ -157,10 +157,10 @@ let mkCompareTestConjuncts g m exprs = (a, b) ||> List.foldBack (fun e acc -> let nv, ne = mkCompGenLocal m "n" g.int_ty mkCompGenLet m nv e - (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty (mkClt g m ne (mkZero g m)) ne - (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty (mkCgt g m ne (mkZero g m)) ne acc))) @@ -171,7 +171,7 @@ let mkEqualsTestConjuncts g m exprs = | [h] -> h | l -> let a, b = List.frontAndBack l - List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty e acc (mkFalse g m)) a b + List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty e acc (mkFalse g m)) a b let mkMinimalTy (g: TcGlobals) (tcref: TyconRef) = if tcref.Deref.IsExceptionDecl then [], g.exn_ty @@ -303,8 +303,8 @@ let mkExnEquality (g: TcGlobals) exnref (exnc: Tycon) = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) let cases = [ mkCase(DecisionTreeTest.IsInst(g.exn_ty, mkAppTy exnref []), - mbuilder.AddResultTarget(expr, DebugPointForTarget.No)) ] - let dflt = Some(mbuilder.AddResultTarget(mkFalse g m, DebugPointForTarget.No)) + mbuilder.AddResultTarget(expr, DebugPointAtTarget.No)) ] + let dflt = Some(mbuilder.AddResultTarget(mkFalse g m, DebugPointAtTarget.No)) let dtree = TDSwitch(DebugPointAtSwitch.No, thate, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) @@ -326,8 +326,8 @@ let mkExnEqualityWithComparer g exnref (exnc: Tycon) (_thisv, thise) thatobje (t let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) let cases = [ mkCase(DecisionTreeTest.IsInst(g.exn_ty, mkAppTy exnref []), - mbuilder.AddResultTarget(expr, DebugPointForTarget.No)) ] - let dflt = mbuilder.AddResultTarget(mkFalse g m, DebugPointForTarget.No) + mbuilder.AddResultTarget(expr, DebugPointAtTarget.No)) ] + let dflt = mbuilder.AddResultTarget(mkFalse g m, DebugPointAtTarget.No) let dtree = TDSwitch(DebugPointAtSwitch.No, thate, cases, Some dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = mkBindThatAddr g m g.exn_ty thataddrv thatv thate expr @@ -366,19 +366,19 @@ let mkUnionCompare g tcref (tycon: Tycon) = mkCompGenLet m thisucv (mkUnionCaseProof (thise, cref, tinst, m)) (mkCompGenLet m thatucv (mkUnionCaseProof (thataddre, cref, tinst, m)) (mkCompareTestConjuncts g m (List.mapi (mkTest thisucve thatucve) rfields))) - Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointForTarget.No))) + Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointAtTarget.No))) let nullary, nonNullary = List.partition Option.isNone (List.map mkCase ucases) if isNil nonNullary then mkZero g m else let cases = nonNullary |> List.map (function Some c -> c | None -> failwith "mkUnionCompare") - let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointForTarget.No)) + let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointAtTarget.No)) let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.int_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m))in @@ -427,19 +427,19 @@ let mkUnionCompareWithComparer g tcref (tycon: Tycon) (_thisv, thise) (_thatobjv (mkCompGenLet m thatucv (mkUnionCaseProof (thataddre, cref, tinst, m)) (mkCompareTestConjuncts g m (List.mapi (mkTest thisucve thatucve) rfields))) - Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointForTarget.No))) + Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointAtTarget.No))) let nullary, nonNullary = List.partition Option.isNone (List.map mkCase ucases) if isNil nonNullary then mkZero g m else let cases = nonNullary |> List.map (function Some c -> c | None -> failwith "mkUnionCompare") - let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointForTarget.No)) + let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkZero g m, DebugPointAtTarget.No)) let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.int_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m)) @@ -487,19 +487,19 @@ let mkUnionEquality g tcref (tycon: Tycon) = (mkCompGenLet m thatucv (mkUnionCaseProof (thataddre, cref, tinst, m)) (mkEqualsTestConjuncts g m (List.mapi (mkTest thisucve thatucve) rfields))) - Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointForTarget.No))) + Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget(test, DebugPointAtTarget.No))) let nullary, nonNullary = List.partition Option.isNone (List.map mkCase ucases) if isNil nonNullary then mkTrue g m else let cases = List.map (function Some c -> c | None -> failwith "mkUnionEquality") nonNullary - let dflt = (if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointForTarget.No))) + let dflt = (if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointAtTarget.No))) let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) @@ -549,19 +549,19 @@ let mkUnionEqualityWithComparer g tcref (tycon: Tycon) (_thisv, thise) thatobje (mkCompGenLet m thatucv (mkUnionCaseProof (thataddre, cref, tinst, m)) (mkEqualsTestConjuncts g m (List.mapi (mkTest thisucve thatucve) rfields))) - Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget (test, DebugPointForTarget.No))) + Some (mkCase(DecisionTreeTest.UnionCase(cref, tinst), mbuilder.AddResultTarget (test, DebugPointAtTarget.No))) let nullary, nonNullary = List.partition Option.isNone (List.map mkCase ucases) if isNil nonNullary then mkTrue g m else let cases = List.map (function Some c -> c | None -> failwith "mkUnionEquality") nonNullary - let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointForTarget.No)) + let dflt = if isNil nullary then None else Some (mbuilder.AddResultTarget(mkTrue g m, DebugPointAtTarget.No)) let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) mbuilder.Close(dtree, m, g.bool_ty) let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) @@ -648,7 +648,7 @@ let mkUnionHashWithComparer g tcref (tycon: Tycon) compe = (mkCompGenSequential m (mkValSet m (mkLocalValRef accv) (mkInt g m i)) (mkCombineHashGenerators g m (List.mapi (mkHash ucve) ucase1.RecdFields) (mkLocalValRef accv) acce)) - Some(mkCase(DecisionTreeTest.UnionCase(c1ref, tinst), mbuilder.AddResultTarget(test, DebugPointForTarget.No))) + Some(mkCase(DecisionTreeTest.UnionCase(c1ref, tinst), mbuilder.AddResultTarget(test, DebugPointAtTarget.No))) let nullary, nonNullary = ucases |> List.mapi mkCase @@ -657,7 +657,7 @@ let mkUnionHashWithComparer g tcref (tycon: Tycon) compe = let dflt = if isNil nullary then None else let tag = mkUnionCaseTagGetViaExprAddr (thise, tcref, tinst, m) - Some(mbuilder.AddResultTarget(tag, DebugPointForTarget.No)) + Some(mbuilder.AddResultTarget(tag, DebugPointAtTarget.No)) let dtree = TDSwitch(DebugPointAtSwitch.No, thise, cases, dflt, m) let stmt = mbuilder.Close(dtree, m, g.int_ty) let expr = mkCompGenLet m accv (mkZero g m) stmt diff --git a/src/fsharp/CheckComputationExpressions.fs b/src/fsharp/CheckComputationExpressions.fs index e93ac84709..22a37e6417 100644 --- a/src/fsharp/CheckComputationExpressions.fs +++ b/src/fsharp/CheckComputationExpressions.fs @@ -945,7 +945,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter Some (trans CompExprTranslationPass.Initial q varSpace innerComp (fun holeFill -> - translatedCtxt (mkSynCall "For" mFor [wrappedSourceExpr; SynExpr.MatchLambda (false, sourceExpr.Range, [SynMatchClause(pat, None, None, holeFill, mPat, DebugPointForTarget.Yes)], spBind, mFor) ])) ) + translatedCtxt (mkSynCall "For" mFor [wrappedSourceExpr; SynExpr.MatchLambda (false, sourceExpr.Range, [SynMatchClause(pat, None, None, holeFill, mPat, DebugPointAtTarget.Yes)], spBind, mFor) ])) ) | SynExpr.For (spBind, id, start, dir, finish, innerComp, m) -> let mFor = match spBind with DebugPointAtFor.Yes m -> m.NoteDebugPoint(RangeDebugPointKind.For) | _ -> m @@ -1119,7 +1119,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter let bindRange = match spBind with DebugPointAtBinding.Yes m -> m | _ -> rhsExpr.Range if isQuery then error(Error(FSComp.SR.tcUseMayNotBeUsedInQueries(), bindRange)) let innerCompRange = innerComp.Range - let consumeExpr = SynExpr.MatchLambda(false, innerCompRange, [SynMatchClause(pat, None, None, transNoQueryOps innerComp, innerCompRange, DebugPointForTarget.Yes)], spBind, innerCompRange) + let consumeExpr = SynExpr.MatchLambda(false, innerCompRange, [SynMatchClause(pat, None, None, transNoQueryOps innerComp, innerCompRange, DebugPointAtTarget.Yes)], spBind, innerCompRange) if isNil (TryFindIntrinsicOrExtensionMethInfo ResultCollectionSettings.AtMostOneResult cenv env bindRange ad "Using" builderTy) then error(Error(FSComp.SR.tcRequireBuilderMethod("Using"), bindRange)) Some (translatedCtxt (mkSynCall "Using" bindRange [rhsExpr; consumeExpr ])) @@ -1155,9 +1155,9 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter if isNil (TryFindIntrinsicOrExtensionMethInfo ResultCollectionSettings.AtMostOneResult cenv env bindRange ad "Bind" builderTy) then error(Error(FSComp.SR.tcRequireBuilderMethod("Bind"), bindRange)) - let consumeExpr = SynExpr.MatchLambda(false, bindRange, [SynMatchClause(pat, None, None, transNoQueryOps innerComp, innerComp.Range, DebugPointForTarget.Yes)], spBind, bindRange) + let consumeExpr = SynExpr.MatchLambda(false, bindRange, [SynMatchClause(pat, None, None, transNoQueryOps innerComp, innerComp.Range, DebugPointAtTarget.Yes)], spBind, bindRange) let consumeExpr = mkSynCall "Using" bindRange [SynExpr.Ident(id); consumeExpr ] - let consumeExpr = SynExpr.MatchLambda(false, bindRange, [SynMatchClause(pat, None, None, consumeExpr, id.idRange, DebugPointForTarget.Yes)], spBind, bindRange) + let consumeExpr = SynExpr.MatchLambda(false, bindRange, [SynMatchClause(pat, None, None, consumeExpr, id.idRange, DebugPointAtTarget.Yes)], spBind, bindRange) let rhsExpr = mkSourceExprConditional isFromSource rhsExpr // TODO: consider allowing translation to BindReturn Some(translatedCtxt (mkSynCall "Bind" bindRange [rhsExpr; consumeExpr])) @@ -1510,7 +1510,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter // Build the `BindReturn` call let dataCompPriorToOp = - let consumeExpr = SynExpr.MatchLambda(false, consumePat.Range, [SynMatchClause(consumePat, None, None, innerExpr, innerRange, DebugPointForTarget.Yes)], spBind, innerRange) + let consumeExpr = SynExpr.MatchLambda(false, consumePat.Range, [SynMatchClause(consumePat, None, None, innerExpr, innerRange, DebugPointAtTarget.Yes)], spBind, innerRange) translatedCtxt (mkSynCall bindName bindRange (bindArgs @ [consumeExpr])) match customOpInfo with @@ -1526,7 +1526,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter // Build the `Bind` call trans CompExprTranslationPass.Initial q varSpace innerComp (fun holeFill -> - let consumeExpr = SynExpr.MatchLambda(false, consumePat.Range, [SynMatchClause(consumePat, None, None, holeFill, innerRange, DebugPointForTarget.Yes)], spBind, innerRange) + let consumeExpr = SynExpr.MatchLambda(false, consumePat.Range, [SynMatchClause(consumePat, None, None, holeFill, innerRange, DebugPointAtTarget.Yes)], spBind, innerRange) translatedCtxt (mkSynCall bindName bindRange (bindArgs @ [consumeExpr]))) and convertSimpleReturnToExpr varSpace innerComp = @@ -1692,7 +1692,7 @@ let mkSeqFinally (cenv: cenv) env m genTy e1 e2 = mkCallSeqFinally cenv.g m genResultTy e1 e2 let mkSeqExprMatchClauses (pat', vspecs) innerExpr = - [TClause(pat', None, TTarget(vspecs, innerExpr, DebugPointForTarget.Yes, None), pat'.Range) ] + [TClause(pat', None, TTarget(vspecs, innerExpr, DebugPointAtTarget.Yes, None), pat'.Range) ] let compileSeqExprMatchClauses (cenv: cenv) env inputExprMark (pat: Pattern, vspecs) innerExpr inputExprOpt bindPatTy genInnerTy = let patMark = pat.Range @@ -1828,7 +1828,7 @@ let TcSequenceExpression (cenv: cenv) env tpenv comp (overallTy: OverallTy) m = let thenExpr, tpenv = tcSequenceExprBody env genOuterTy tpenv thenComp let elseComp = (match elseCompOpt with Some c -> c | None -> SynExpr.ImplicitZero mIfToThen) let elseExpr, tpenv = tcSequenceExprBody env genOuterTy tpenv elseComp - Some(mkCond spIfToThen DebugPointForTarget.Yes mIfToEndOfElseBranch genOuterTy guardExpr' thenExpr elseExpr, tpenv) + Some(mkCond spIfToThen DebugPointAtTarget.Yes mIfToEndOfElseBranch genOuterTy guardExpr' thenExpr elseExpr, tpenv) // 'let x = expr in expr' | SynExpr.LetOrUse (_, false (* not a 'use' binding *), _, _, _) -> diff --git a/src/fsharp/CheckExpressions.fs b/src/fsharp/CheckExpressions.fs index bf5e803c7c..eb0ebc1602 100644 --- a/src/fsharp/CheckExpressions.fs +++ b/src/fsharp/CheckExpressions.fs @@ -5838,7 +5838,7 @@ and TcExprUndelayed cenv (overallTy: OverallTy) env tpenv (synExpr: SynExpr) = synWithClauses |> List.map (fun clause -> let (SynMatchClause(pat, optWhenExpr, arrow, _, m, _)) = clause let oneExpr = SynExpr.Const (SynConst.Int32 1, m) - SynMatchClause(pat, optWhenExpr, arrow, oneExpr, m, DebugPointForTarget.No)) + SynMatchClause(pat, optWhenExpr, arrow, oneExpr, m, DebugPointAtTarget.No)) let checkedFilterClauses, tpenv = TcMatchClauses cenv cenv.g.exn_ty (MustEqual cenv.g.int_ty) env tpenv filterClauses let checkedHandlerClauses, tpenv = TcMatchClauses cenv cenv.g.exn_ty overallTy env tpenv synWithClauses let v1, filterExpr = CompilePatternForMatchClauses cenv env mWithToLast mWithToLast true FailFilter None cenv.g.exn_ty cenv.g.int_ty checkedFilterClauses @@ -7396,7 +7396,7 @@ and TcForEachExpr cenv overallTy env tpenv (pat, enumSynExpr, bodySynExpr, mWhol let valsDefinedByMatching = ListSet.remove valEq elemVar vspecs CompilePatternForMatch cenv env enumSynExpr.Range pat.Range false IgnoreWithWarning (elemVar, [], None) - [TClause(pat, None, TTarget(valsDefinedByMatching, bodyExpr, DebugPointForTarget.Yes, None), mForLoopStart)] + [TClause(pat, None, TTarget(valsDefinedByMatching, bodyExpr, DebugPointAtTarget.Yes, None), mForLoopStart)] enumElemTy overallTy.Commit @@ -9352,15 +9352,15 @@ and TcLinearExprs bodyChecker cenv env overallTy tpenv isCompExpr expr cont = match synElseExprOpt with | None -> let elseExpr = mkUnit cenv.g mIfToThen - let spElse = DebugPointForTarget.No // the fake 'unit' value gets exactly the same range as spIfToThen - let overallExpr = primMkCond spIfToThen DebugPointForTarget.Yes spElse m overallTy.Commit boolExpr thenExpr elseExpr + let spElse = DebugPointAtTarget.No // the fake 'unit' value gets exactly the same range as spIfToThen + let overallExpr = primMkCond spIfToThen DebugPointAtTarget.Yes spElse m overallTy.Commit boolExpr thenExpr elseExpr cont (overallExpr, tpenv) | Some synElseExpr -> let env = { env with eContextInfo = ContextInfo.ElseBranchResult synElseExpr.Range } // tailcall TcLinearExprs bodyChecker cenv env overallTy tpenv isCompExpr synElseExpr (fun (elseExpr, tpenv) -> - let resExpr = primMkCond spIfToThen DebugPointForTarget.Yes DebugPointForTarget.Yes m overallTy.Commit boolExpr thenExpr elseExpr + let resExpr = primMkCond spIfToThen DebugPointAtTarget.Yes DebugPointAtTarget.Yes m overallTy.Commit boolExpr thenExpr elseExpr cont (resExpr, tpenv)) | _ -> @@ -10079,7 +10079,7 @@ and TcLetBinding cenv isUse env containerInfo declKind tpenv (synBinds, synBinds // Add the compilation of the pattern to the bodyExpr we get from mkCleanup let mkPatBind (bodyExpr, bodyExprTy) = let valsDefinedByMatching = ListSet.remove valEq patternInputTmp allValsDefinedByPattern - let clauses = [TClause(checkedPat2, None, TTarget(valsDefinedByMatching, bodyExpr, DebugPointForTarget.No, None), m)] + let clauses = [TClause(checkedPat2, None, TTarget(valsDefinedByMatching, bodyExpr, DebugPointAtTarget.No, None), m)] let matchx = CompilePatternForMatch cenv env m m true ThrowIncompleteMatchException (patternInputTmp, generalizedTypars, Some rhsExpr) clauses tauTy bodyExprTy let matchx = if (DeclKind.ConvertToLinearBindings declKind) then LinearizeTopMatch cenv.g altActualParent matchx else matchx matchx, bodyExprTy diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index 3a9f5cb8fe..eef6178900 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -5697,7 +5697,7 @@ and GenDecisionTreeSuccess cenv cgbuf inplabOpt stackAtTargets eenv es targetIdx and GenDecisionTreeTarget cenv cgbuf stackAtTargets targetInfo sequel = let targetMarkBeforeBinds, targetMarkAfterBinds, eenvAtTarget, successExpr, spTarget, vs, es, flags, startScope, endScope = targetInfo CG.SetMarkToHere cgbuf targetMarkBeforeBinds - let spExpr = (match spTarget with DebugPointForTarget.Yes -> SPAlways | DebugPointForTarget.No _ -> SPSuppress) + let spExpr = (match spTarget with DebugPointAtTarget.Yes -> SPAlways | DebugPointAtTarget.No _ -> SPSuppress) // Only emit start of hidden code if we really have to, i.e. if the target expression doesn't start with a // debug point anyway diff --git a/src/fsharp/LowerCallsAndSeqs.fs b/src/fsharp/LowerCallsAndSeqs.fs index 8f6746cfec..82cdbd2c23 100644 --- a/src/fsharp/LowerCallsAndSeqs.fs +++ b/src/fsharp/LowerCallsAndSeqs.fs @@ -683,7 +683,7 @@ let ConvertSequenceExprToObject g amap overallExpr = // A utility to add a jump table to the three generated methods let addJumpTable isDisposal expr = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) - let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointForTarget.No) + let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointAtTarget.No) let dtree = TDSwitch( DebugPointAtSwitch.No, @@ -752,7 +752,7 @@ let ConvertSequenceExprToObject g amap overallExpr = // DONE_DISPOSE: let whileLoop = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) - let addResultTarget e = mbuilder.AddResultTarget(e, DebugPointForTarget.No) + let addResultTarget e = mbuilder.AddResultTarget(e, DebugPointAtTarget.No) let dtree = TDSwitch(DebugPointAtSwitch.No, pcExpr, diff --git a/src/fsharp/LowerStateMachines.fs b/src/fsharp/LowerStateMachines.fs index 8f643397cf..4a022b2cb6 100644 --- a/src/fsharp/LowerStateMachines.fs +++ b/src/fsharp/LowerStateMachines.fs @@ -91,7 +91,7 @@ let RepresentBindingAsStateVar g (bind: Binding) (resBody: StateMachineConversio // Within all resumable code, a return value of 'true' indicates success/completion path, when we can clear // state machine locals. (if typeEquiv g (tyOfExpr g generateBody) g.bool_ty then - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointForTarget.No m g.bool_ty generateBody + mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty generateBody (mkCompGenSequential m (mkValSet m vref (mkDefault (m, vref.Type))) (mkTrue g m)) @@ -413,7 +413,7 @@ type LowerStateMachine(g: TcGlobals) = else let initLabel = generateCodeLabel() let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m ) - let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointForTarget.No) + let mkGotoLabelTarget lab = mbuilder.AddResultTarget(Expr.Op (TOp.Goto lab, [], [], m), DebugPointAtTarget.No) let dtree = TDSwitch( DebugPointAtSwitch.No, @@ -539,7 +539,7 @@ type LowerStateMachine(g: TcGlobals) = let m = someBranchExpr.Range let recreate reenterLabOpt e1 e2 = let lab = (match reenterLabOpt with Some l -> l | _ -> generateCodeLabel()) - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m (tyOfExpr g noneBranchExpr) (mkFalse g m) (mkLabelled m lab e1) e2 + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m (tyOfExpr g noneBranchExpr) (mkFalse g m) (mkLabelled m lab e1) e2 { phase1 = recreate None resNone.phase1 resSome.phase1 phase2 = (fun ctxt -> let generate2 = resSome.phase2 ctxt diff --git a/src/fsharp/MethodCalls.fs b/src/fsharp/MethodCalls.fs index 691e4eb18c..0f037a31c3 100644 --- a/src/fsharp/MethodCalls.fs +++ b/src/fsharp/MethodCalls.fs @@ -1791,7 +1791,7 @@ module ProvidedMethodCalls = let testExpr = exprToExpr test let ifTrueExpr = exprToExpr thenBranch let ifFalseExpr = exprToExpr elseBranch - let te = mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m (tyOfExpr g ifTrueExpr) testExpr ifTrueExpr ifFalseExpr + let te = mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m (tyOfExpr g ifTrueExpr) testExpr ifTrueExpr ifFalseExpr None, (te, tyOfExpr g te) | ProvidedVarExpr providedVar -> let _, vTe = varToExpr (exprType.PApply((fun _ -> providedVar), m)) diff --git a/src/fsharp/PatternMatchCompilation.fs b/src/fsharp/PatternMatchCompilation.fs index 3813081e46..a921673f19 100644 --- a/src/fsharp/PatternMatchCompilation.fs +++ b/src/fsharp/PatternMatchCompilation.fs @@ -853,7 +853,7 @@ let CompilePatternBasic // Note we don't emit sequence points at either the succeeding or failing targets of filters since if // the exception is filtered successfully then we will run the handler and hit the sequence point there. // That sequence point will have the pattern variables bound, which is exactly what we want. - let tg = TTarget([], throwExpr, DebugPointForTarget.No, None) + let tg = TTarget([], throwExpr, DebugPointAtTarget.No, None) let _ = matchBuilder.AddTarget tg let clause = TClause(TPat_wild matchm, None, tg, matchm) incompleteMatchClauseOnce <- Some clause @@ -1409,8 +1409,8 @@ let rec CompilePattern g denv amap tcVal infoReader exprm matchm warnOnUnused a // If the remainder of the match boiled away to nothing interesting. // We measure this simply by seeing if the range of the resulting expression is identical to matchm. let spTarget = - if equals expr.Range matchm then DebugPointForTarget.No - else DebugPointForTarget.Yes + if equals expr.Range matchm then DebugPointAtTarget.No + else DebugPointAtTarget.Yes // Make the clause that represents the remaining cases of the pattern match let clauseForRestOfMatch = TClause(TPat_wild matchm, None, TTarget(List.empty, expr, spTarget, None), matchm) diff --git a/src/fsharp/SyntaxTree.fs b/src/fsharp/SyntaxTree.fs index dbd23d8847..35fb935e6c 100644 --- a/src/fsharp/SyntaxTree.fs +++ b/src/fsharp/SyntaxTree.fs @@ -169,7 +169,7 @@ type SynAccess = | Private -> "Private" [] -type DebugPointForTarget = +type DebugPointAtTarget = | Yes | No @@ -1155,7 +1155,7 @@ type SynMatchClause = arrow: Range option * resultExpr: SynExpr * range: range * - debugPoint: DebugPointForTarget + debugPoint: DebugPointAtTarget member this.RangeOfGuardAndRhs = match this with diff --git a/src/fsharp/SyntaxTree.fsi b/src/fsharp/SyntaxTree.fsi index 290cc59dd1..cb51521b07 100644 --- a/src/fsharp/SyntaxTree.fsi +++ b/src/fsharp/SyntaxTree.fsi @@ -214,7 +214,7 @@ type SynAccess = /// of a decision tree, that is whether the construct corresponds to a debug /// point in the original source. [] -type DebugPointForTarget = +type DebugPointAtTarget = | Yes | No @@ -1291,7 +1291,7 @@ type SynMatchClause = arrow: Range option * resultExpr: SynExpr * range: range * - debugPoint: DebugPointForTarget + debugPoint: DebugPointAtTarget /// Gets the syntax range of part of this construct member RangeOfGuardAndRhs: range diff --git a/src/fsharp/SyntaxTreeOps.fs b/src/fsharp/SyntaxTreeOps.fs index 87bf172d0d..000eccf797 100644 --- a/src/fsharp/SyntaxTreeOps.fs +++ b/src/fsharp/SyntaxTreeOps.fs @@ -179,7 +179,7 @@ let rec SimplePatOfPat (synArgNameGenerator: SynArgNameGenerator) p = | SynPat.Wild _ -> None | _ -> Some (fun e -> - let clause = SynMatchClause(p, None, None, e, m, DebugPointForTarget.No) + let clause = SynMatchClause(p, None, None, e, m, DebugPointAtTarget.No) SynExpr.Match (DebugPointAtBinding.NoneAtInvisible, item, [clause], clause.Range)) SynSimplePat.Id (id, altNameRefCell, isCompGen, false, false, id.idRange), fn diff --git a/src/fsharp/TypedTree.fs b/src/fsharp/TypedTree.fs index f890e5adde..cfc59f2f0b 100644 --- a/src/fsharp/TypedTree.fs +++ b/src/fsharp/TypedTree.fs @@ -4322,7 +4322,7 @@ type DecisionTreeTarget = | TTarget of boundVals: Val list * targetExpr: Expr * - debugPoint: DebugPointForTarget * + debugPoint: DebugPointAtTarget * isStateVarFlags: bool list option [] diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 118a0e7423..31caa80de9 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -1348,10 +1348,10 @@ let mkTrue g m = mkBool g m true let mkFalse g m = mkBool g m false let mkLazyOr (g: TcGlobals) m e1 e2 = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 (mkTrue g m) e2 + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.bool_ty e1 (mkTrue g m) e2 let mkLazyAnd (g: TcGlobals) m e1 e2 = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.bool_ty e1 e2 (mkFalse g m) + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.bool_ty e1 e2 (mkFalse g m) let mkCoerceExpr(e, to_ty, m, from_ty) = Expr.Op (TOp.Coerce, [to_ty;from_ty], [e], m) @@ -5768,7 +5768,7 @@ let rec remarkExpr m x = Expr.Let (remarkBind m bind, remarkExpr m e, m, fvs) | Expr.Match (_, _, pt, targets, _, ty) -> - let targetsR = targets |> Array.map (fun (TTarget(vs, e, _, flags)) -> TTarget(vs, remarkExpr m e, DebugPointForTarget.No, flags)) + let targetsR = targets |> Array.map (fun (TTarget(vs, e, _, flags)) -> TTarget(vs, remarkExpr m e, DebugPointAtTarget.No, flags)) primMkMatch (DebugPointAtBinding.NoneAtInvisible, m, remarkDecisionTree m pt, targetsR, m, ty) | Expr.Val (x, valUseFlags, _) -> @@ -8497,16 +8497,16 @@ let mkIsInstConditional g m tgty vinpe v e2 e3 = if canUseTypeTestFast g tgty then let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) - let tg2 = mbuilder.AddResultTarget(e2, DebugPointForTarget.No) - let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) + let tg2 = mbuilder.AddResultTarget(e2, DebugPointAtTarget.No) + let tg3 = mbuilder.AddResultTarget(e3, DebugPointAtTarget.No) let dtree = TDSwitch(DebugPointAtSwitch.No, exprForVal m v, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) mkCompGenLet m v (mkIsInst tgty vinpe m) expr else let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) - let tg2 = TDSuccess([mkCallUnbox g m tgty vinpe], mbuilder.AddTarget(TTarget([v], e2, DebugPointForTarget.No, None))) - let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) + let tg2 = TDSuccess([mkCallUnbox g m tgty vinpe], mbuilder.AddTarget(TTarget([v], e2, DebugPointAtTarget.No, None))) + let tg3 = mbuilder.AddResultTarget(e3, DebugPointAtTarget.No) let dtree = TDSwitch(DebugPointAtSwitch.No, vinpe, [TCase(DecisionTreeTest.IsInst(tyOfExpr g vinpe, tgty), tg2)], Some tg3, m) let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) expr @@ -8517,8 +8517,8 @@ let mkIsInstConditional g m tgty vinpe v e2 e3 = // used for compiler-generated code. let mkNullTest g m e1 e2 e3 = let mbuilder = MatchBuilder(DebugPointAtBinding.NoneAtInvisible, m) - let tg2 = mbuilder.AddResultTarget(e2, DebugPointForTarget.No) - let tg3 = mbuilder.AddResultTarget(e3, DebugPointForTarget.No) + let tg2 = mbuilder.AddResultTarget(e2, DebugPointAtTarget.No) + let tg3 = mbuilder.AddResultTarget(e3, DebugPointAtTarget.No) let dtree = TDSwitch(DebugPointAtSwitch.No, e1, [TCase(DecisionTreeTest.IsNull, tg3)], Some tg2, m) let expr = mbuilder.Close(dtree, m, tyOfExpr g e2) expr @@ -8529,12 +8529,12 @@ let mkNonNullTest (g: TcGlobals) m e = // No sequence point is generated for this expression form as this function is only // used for compiler-generated code. let mkNonNullCond g m ty e1 e2 e3 = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m ty (mkNonNullTest g m e1) e2 e3 + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m ty (mkNonNullTest g m e1) e2 e3 // No sequence point is generated for this expression form as this function is only // used for compiler-generated code. let mkIfThen (g: TcGlobals) m e1 e2 = - mkCond DebugPointAtBinding.NoneAtSticky DebugPointForTarget.No m g.unit_ty e1 e2 (mkUnit g m) + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.unit_ty e1 e2 (mkUnit g m) let ModuleNameIsMangled g attrs = match TryFindFSharpInt32Attribute g g.attrib_CompilationRepresentationAttribute attrs with diff --git a/src/fsharp/TypedTreeOps.fsi b/src/fsharp/TypedTreeOps.fsi index 80c2f42f43..8963d7d922 100755 --- a/src/fsharp/TypedTreeOps.fsi +++ b/src/fsharp/TypedTreeOps.fsi @@ -77,7 +77,7 @@ type MatchBuilder = member AddTarget: DecisionTreeTarget -> int /// Add a new destination target that is an expression result - member AddResultTarget: Expr * DebugPointForTarget -> DecisionTree + member AddResultTarget: Expr * DebugPointAtTarget -> DecisionTree /// Finish the targets member CloseTargets: unit -> DecisionTreeTarget list @@ -89,10 +89,10 @@ type MatchBuilder = val mkBoolSwitch: DebugPointAtSwitch -> range -> Expr -> DecisionTree -> DecisionTree -> DecisionTree /// Build a conditional expression -val primMkCond: DebugPointAtBinding -> DebugPointForTarget -> DebugPointForTarget -> range -> TType -> Expr -> Expr -> Expr -> Expr +val primMkCond: DebugPointAtBinding -> DebugPointAtTarget -> DebugPointAtTarget -> range -> TType -> Expr -> Expr -> Expr -> Expr /// Build a conditional expression -val mkCond: DebugPointAtBinding -> DebugPointForTarget -> range -> TType -> Expr -> Expr -> Expr -> Expr +val mkCond: DebugPointAtBinding -> DebugPointAtTarget -> range -> TType -> Expr -> Expr -> Expr -> Expr /// Build a conditional expression that checks for non-nullness val mkNonNullCond: TcGlobals -> range -> TType -> Expr -> Expr -> Expr -> Expr @@ -2405,9 +2405,9 @@ val ValIsExplicitImpl: TcGlobals -> Val -> bool val ValRefIsExplicitImpl: TcGlobals -> ValRef -> bool -val (|LinearMatchExpr|_|): Expr -> (DebugPointAtBinding * range * DecisionTree * DecisionTreeTarget * Expr * DebugPointForTarget * range * TType) option +val (|LinearMatchExpr|_|): Expr -> (DebugPointAtBinding * range * DecisionTree * DecisionTreeTarget * Expr * DebugPointAtTarget * range * TType) option -val rebuildLinearMatchExpr: DebugPointAtBinding * range * DecisionTree * DecisionTreeTarget * Expr * DebugPointForTarget * range * TType -> Expr +val rebuildLinearMatchExpr: DebugPointAtBinding * range * DecisionTree * DecisionTreeTarget * Expr * DebugPointAtTarget * range * TType -> Expr val (|LinearOpExpr|_|): Expr -> (TOp * TypeInst * Expr list * Expr * range) option diff --git a/src/fsharp/TypedTreePickle.fs b/src/fsharp/TypedTreePickle.fs index 6d203a2dfb..959757bbac 100644 --- a/src/fsharp/TypedTreePickle.fs +++ b/src/fsharp/TypedTreePickle.fs @@ -2425,7 +2425,7 @@ and u_dtree_discrim st = | 4 -> u_tup2 u_int u_ty st |> DecisionTreeTest.ArrayLength | _ -> ufailwith st "u_dtree_discrim" -and u_target st = let a, b = u_tup2 u_Vals u_expr st in (TTarget(a, b, DebugPointForTarget.No, None)) +and u_target st = let a, b = u_tup2 u_Vals u_expr st in (TTarget(a, b, DebugPointAtTarget.No, None)) and u_bind st = let a = u_Val st in let b = u_expr st in TBind(a, b, DebugPointAtBinding.NoneAtSticky) diff --git a/src/fsharp/pars.fsy b/src/fsharp/pars.fsy index e38eea2a32..7e83493df5 100644 --- a/src/fsharp/pars.fsy +++ b/src/fsharp/pars.fsy @@ -3942,14 +3942,14 @@ patternClauses: let mArrow, resultExpr = $2 let mLast = resultExpr.Range let m = unionRanges resultExpr.Range patm - [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointForTarget.Yes)], mLast } + [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointAtTarget.Yes)], mLast } | patternAndGuard patternResult BAR patternClauses { let pat, guard, patm = $1 let mArrow, resultExpr = $2 let clauses, mLast = $4 let m = unionRanges resultExpr.Range patm - (SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointForTarget.Yes) :: clauses), mLast } + (SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointAtTarget.Yes) :: clauses), mLast } | patternAndGuard patternResult BAR error { let pat, guard, patm = $1 @@ -3957,7 +3957,7 @@ patternClauses: let mLast = rhs parseState 3 let m = unionRanges resultExpr.Range patm // silent recovery - [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointForTarget.Yes)], mLast } + [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointAtTarget.Yes)], mLast } | patternAndGuard patternResult error { let pat, guard, patm = $1 @@ -3965,7 +3965,7 @@ patternClauses: let mLast = resultExpr.Range let m = unionRanges resultExpr.Range patm // silent recovery - [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointForTarget.Yes)], mLast } + [SynMatchClause(pat, guard, (Some mArrow), resultExpr, m, DebugPointAtTarget.Yes)], mLast } | patternAndGuard error { let pat, guard, patm = $1 @@ -3975,7 +3975,7 @@ patternClauses: | Some e -> unionRanges patm e.Range | _ -> patm // silent recovery - [SynMatchClause(pat, guard, None, SynExpr.Const (SynConst.Unit, mLast.EndRange), m, DebugPointForTarget.Yes)], mLast } + [SynMatchClause(pat, guard, None, SynExpr.Const (SynConst.Unit, mLast.EndRange), m, DebugPointAtTarget.Yes)], mLast } patternGuard: | WHEN declExpr From 31a71a5648d001075d26e8892dd2977797b2eb01 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 02:08:51 +0100 Subject: [PATCH 17/24] cleanup --- src/fsharp/IlxGen.fs | 4 +- src/fsharp/InnerLambdasToTopLevelFuncs.fs | 4 +- src/fsharp/Optimizer.fs | 26 ++-- tests/service/EditorTests.fs | 159 ++++++++++++++++++++++ 4 files changed, 176 insertions(+), 17 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index eef6178900..5bf9d31946 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -5592,10 +5592,10 @@ and GenDecisionTreeAndTargetsInner cenv cgbuf inplabOpt stackAtTargets eenv tree | _ -> contf targetInfos - | TDSwitch(dp, e, cases, dflt, m) -> + | TDSwitch(sp, e, cases, dflt, m) -> // Emit the debug point - match dp with + match sp with | DebugPointAtSwitch.Yes dpm -> CG.EmitDebugPoint cgbuf dpm | DebugPointAtSwitch.No -> () diff --git a/src/fsharp/InnerLambdasToTopLevelFuncs.fs b/src/fsharp/InnerLambdasToTopLevelFuncs.fs index daa9081175..36f6e8bd08 100644 --- a/src/fsharp/InnerLambdasToTopLevelFuncs.fs +++ b/src/fsharp/InnerLambdasToTopLevelFuncs.fs @@ -1283,7 +1283,7 @@ module Pass4_RewriteAssembly = let bind, z = TransBindingRhs penv z bind let rest, z = TransDecisionTree penv z rest TDBind(bind, rest), z - | TDSwitch (dp, e, cases, dflt, m) -> + | TDSwitch (sp, e, cases, dflt, m) -> let e, z = TransExpr penv z e let TransDecisionTreeCase penv z (TCase (discrim, dtree)) = let dtree, z = TransDecisionTree penv z dtree @@ -1291,7 +1291,7 @@ module Pass4_RewriteAssembly = let cases, z = List.mapFold (TransDecisionTreeCase penv) z cases let dflt, z = Option.mapFold (TransDecisionTree penv) z dflt - TDSwitch (dp, e, cases, dflt, m), z + TDSwitch (sp, e, cases, dflt, m), z and TransDecisionTreeTarget penv z (TTarget(vs, e, spTarget, flags)) = let z = EnterInner z diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index de80c5ad3f..cf523189ad 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -1486,13 +1486,13 @@ let TryEliminateBinding cenv _env (TBind(vspec1, e1, spBind)) e2 _m = Some (Expr.Sequential(invoke, rest, NormalSeq, sp, m)) // Immediate consumption of value by a pattern match 'let x = e in match x with ...' - | Expr.Match (spMatch, _exprm, TDSwitch(dp, Expr.Val (VRefLocal vspec2, _, _), cases, dflt, _), targets, m, ty2) + | Expr.Match (spMatch, _exprm, TDSwitch(sp, Expr.Val (VRefLocal vspec2, _, _), cases, dflt, _), targets, m, ty2) when (valEq vspec1 vspec2 && let fvs = accFreeInTargets CollectLocals targets (accFreeInSwitchCases CollectLocals cases dflt emptyFreeVars) not (Zset.contains vspec1 fvs.FreeLocals)) -> let spMatch = spBind.Combine spMatch - Some (Expr.Match (spMatch, e1.Range, TDSwitch(dp, e1, cases, dflt, m), targets, m, ty2)) + Some (Expr.Match (spMatch, e1.Range, TDSwitch(sp, e1, cases, dflt, m), targets, m, ty2)) // Immediate use of value as part of an application. 'let f = e in f ...' and 'let x = e in f ... x ...' // Note functions are evaluated before args @@ -1541,8 +1541,8 @@ let rec (|KnownValApp|_|) expr = /// check single case with bool const. let (|TDBoolSwitch|_|) dtree = match dtree with - | TDSwitch(dp, expr, [TCase (DecisionTreeTest.Const(Const.Bool testBool), caseTree )], Some defaultTree, range) -> - Some (dp, expr, testBool, caseTree, defaultTree, range) + | TDSwitch(sp, expr, [TCase (DecisionTreeTest.Const(Const.Bool testBool), caseTree )], Some defaultTree, range) -> + Some (sp, expr, testBool, caseTree, defaultTree, range) | _ -> None @@ -1556,7 +1556,7 @@ let (|ConstantBoolTarget|_|) target = /// apart from one branch which defers to another expression let rec CountBoolLogicTree (targets: DecisionTreeTarget[], costOuterCaseTree, costOuterDefaultTree, testBool as data) tree = match tree with - | TDSwitch (_dp, _expr, [case], Some defaultTree, _range) -> + | TDSwitch (_sp, _expr, [case], Some defaultTree, _range) -> let tc1,ec1 = CountBoolLogicTree data case.CaseTree let tc2, ec2 = CountBoolLogicTree data defaultTree tc1 + tc2, ec1 + ec2 @@ -1572,10 +1572,10 @@ let rec CountBoolLogicTree (targets: DecisionTreeTarget[], costOuterCaseTree, co /// depending on whether the target result was true/false let rec RewriteBoolLogicTree (targets: DecisionTreeTarget[], outerCaseTree, outerDefaultTree, testBool as data) tree = match tree with - | TDSwitch (dp, expr, cases, defaultTree, range) -> + | TDSwitch (sp, expr, cases, defaultTree, range) -> let cases2 = cases |> List.map (RewriteBoolLogicCase data) let defaultTree2 = defaultTree |> Option.map (RewriteBoolLogicTree data) - TDSwitch (dp, expr, cases2, defaultTree2, range) + TDSwitch (sp, expr, cases2, defaultTree2, range) | TDSuccess([], idx) -> match targets.[idx] with | ConstantBoolTarget result -> if result = testBool then outerCaseTree else outerDefaultTree @@ -3582,7 +3582,7 @@ and OptimizeDecisionTree cenv env m x = else rest, rinfo - | TDSwitch (dp, e, cases, dflt, m) -> + | TDSwitch (sp, e, cases, dflt, m) -> // We always duplicate boolean-typed guards prior to optimizing. This is work which really should be done in patcompile.fs // where we must duplicate "when" expressions to ensure uniqueness of bound variables. // @@ -3590,7 +3590,7 @@ and OptimizeDecisionTree cenv env m x = // Hence we do it here. There is no doubt a better way to do this. let e = if typeEquiv cenv.g (tyOfExpr cenv.g e) cenv.g.bool_ty then copyExpr cenv.g CloneAll e else e - OptimizeSwitch cenv env (dp, e, cases, dflt, m) + OptimizeSwitch cenv env (sp, e, cases, dflt, m) and TryOptimizeDecisionTreeTest cenv test vinfo = match test, vinfo with @@ -3604,7 +3604,7 @@ and TryOptimizeDecisionTreeTest cenv test vinfo = | _ -> None /// Optimize/analyze a switch construct from pattern matching -and OptimizeSwitch cenv env (dp, e, cases, dflt, m) = +and OptimizeSwitch cenv env (sp, e, cases, dflt, m) = let eR, einfo = OptimizeExpr cenv env e let cases, dflt = @@ -3621,9 +3621,9 @@ and OptimizeSwitch cenv env (dp, e, cases, dflt, m) = // OK, see what weRre left with and continue match cases, dflt with | [], Some case -> OptimizeDecisionTree cenv env m case - | _ -> OptimizeSwitchFallback cenv env (dp, eR, einfo, cases, dflt, m) + | _ -> OptimizeSwitchFallback cenv env (sp, eR, einfo, cases, dflt, m) -and OptimizeSwitchFallback cenv env (dp, eR, einfo, cases, dflt, m) = +and OptimizeSwitchFallback cenv env (sp, eR, einfo, cases, dflt, m) = let casesR, cinfos = cases |> List.map (fun (TCase(discrim, e)) -> let eR, einfo = OptimizeDecisionTree cenv env m e in TCase(discrim, eR), einfo) @@ -3635,7 +3635,7 @@ and OptimizeSwitchFallback cenv env (dp, eR, einfo, cases, dflt, m) = let size = (dinfos.Length + cinfos.Length) * 2 let info = CombineValueInfosUnknown (einfo :: cinfos @ dinfos) let info = { info with TotalSize = info.TotalSize + size; FunctionSize = info.FunctionSize + size; } - TDSwitch (dp, eR, casesR, dfltR, m), info + TDSwitch (sp, eR, casesR, dfltR, m), info and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = try diff --git a/tests/service/EditorTests.fs b/tests/service/EditorTests.fs index 0bd73759f0..8197503a83 100644 --- a/tests/service/EditorTests.fs +++ b/tests/service/EditorTests.fs @@ -1501,6 +1501,165 @@ let f () = ((6, 16), (6, 7, 6, 18, "List.unzip3")); ((6, 17), (6, 7, 6, 18, "List.unzip3"))] +[] +let ``ValidateBreakpointLocation tests for lambda with wild arg`` () = + let input = + """ +let bodyWrapper () = + id (fun _ -> + let x = 1 + x)""" + let file = "/home/user/Test.fsx" + let parseResult, _typeCheckResults = parseAndCheckScript(file, input) + let results = + let lines = input.Replace("\r", "").Split( [| '\n' |]) + let positions = [ Position.mkPos 4 0 ] + [ for pos in positions do + match parseResult.ValidateBreakpointLocation pos with + | Some r -> + let text = + [ if r.StartLine = r.EndLine then + lines.[r.StartLine-1].[r.StartColumn..r.EndColumn-1] + else + lines.[r.StartLine-1].[r.StartColumn..] + for l in r.StartLine..r.EndLine-2 do + lines.[l] + lines.[r.EndLine-1].[..r.EndColumn-1] ] + |> String.concat "$" + ((pos.Line, pos.Column), (r.StartLine, r.StartColumn, r.EndLine, r.EndColumn, text)) + | None -> + ()] + printfn "%A" results + results |> shouldEqual + [((3, 0), (3, 5, 3, 8, "[1]")); + ((3, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((3, 5), (3, 5, 3, 8, "[1]")); ((3, 6), (3, 5, 3, 8, "[1]")); + ((3, 7), (3, 5, 3, 8, "[1]")); ((3, 8), (3, 5, 3, 8, "[1]")); + ((3, 9), (3, 9, 3, 12, "[2]")); ((3, 10), (3, 9, 3, 12, "[2]")); + ((3, 11), (3, 9, 3, 12, "[2]")); ((3, 12), (3, 9, 3, 12, "[2]")); + ((3, 13), (3, 13, 3, 16, "[3]")); ((3, 14), (3, 13, 3, 16, "[3]")); + ((3, 15), (3, 13, 3, 16, "[3]")); ((3, 16), (3, 13, 3, 16, "[3]")); + ((3, 17), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 0), (4, 9, 4, 18, "List.zip3")); + ((4, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 7), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 8), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((4, 9), (4, 9, 4, 18, "List.zip3")); ((4, 10), (4, 9, 4, 18, "List.zip3")); + ((4, 11), (4, 9, 4, 18, "List.zip3")); ((4, 12), (4, 9, 4, 18, "List.zip3")); + ((4, 13), (4, 9, 4, 18, "List.zip3")); ((4, 14), (4, 9, 4, 18, "List.zip3")); + ((4, 15), (4, 9, 4, 18, "List.zip3")); ((4, 16), (4, 9, 4, 18, "List.zip3")); + ((4, 17), (4, 9, 4, 18, "List.zip3")); + ((5, 0), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((5, 7), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 8), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 9), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 10), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 11), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 12), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 13), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 14), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 15), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 16), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 17), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 18), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 19), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 20), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 21), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 22), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 23), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 24), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 25), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 26), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 27), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 28), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 29), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 30), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 31), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); + ((5, 32), (5, 32, 5, 39, "(c,b,a)")); ((5, 33), (5, 32, 5, 39, "(c,b,a)")); + ((5, 34), (5, 32, 5, 39, "(c,b,a)")); ((5, 35), (5, 32, 5, 39, "(c,b,a)")); + ((5, 36), (5, 32, 5, 39, "(c,b,a)")); ((5, 37), (5, 32, 5, 39, "(c,b,a)")); + ((5, 38), (5, 32, 5, 39, "(c,b,a)")); ((5, 39), (5, 32, 5, 39, "(c,b,a)")); + ((6, 0), (6, 7, 6, 18, "List.unzip3")); + ((6, 1), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 2), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 3), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 4), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 5), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 6), + (3, 4, 6, 18, + "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); + ((6, 7), (6, 7, 6, 18, "List.unzip3")); ((6, 8), (6, 7, 6, 18, "List.unzip3")); + ((6, 9), (6, 7, 6, 18, "List.unzip3")); ((6, 10), (6, 7, 6, 18, "List.unzip3")); + ((6, 11), (6, 7, 6, 18, "List.unzip3")); + ((6, 12), (6, 7, 6, 18, "List.unzip3")); + ((6, 13), (6, 7, 6, 18, "List.unzip3")); + ((6, 14), (6, 7, 6, 18, "List.unzip3")); + ((6, 15), (6, 7, 6, 18, "List.unzip3")); + ((6, 16), (6, 7, 6, 18, "List.unzip3")); + ((6, 17), (6, 7, 6, 18, "List.unzip3"))] + [] let ``Partially valid namespaces should be reported`` () = let input = From 4b12f8a0a75646a87df0d76cd10a49083214cf10 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 02:22:40 +0100 Subject: [PATCH 18/24] IL updates --- src/fsharp/Optimizer.fs | 6 +- .../AsyncExpressionSteppingTest1.il.bsl | 6 +- .../AsyncExpressionSteppingTest2.il.bsl | 6 +- .../AsyncExpressionSteppingTest3.il.bsl | 6 +- .../AsyncExpressionSteppingTest4.il.bsl | 6 +- .../AsyncExpressionSteppingTest5.il.bsl | 6 +- .../AsyncExpressionSteppingTest6.il.bsl | 6 +- .../ComputationExpr01.il.bsl | 6 +- .../ComputationExpr02.il.bsl | 6 +- .../ComputationExpr03.il.bsl | 12 +- .../ComputationExpr04.il.bsl | 6 +- .../ComputationExpr05.il.bsl | 6 +- .../ComputationExpr06.il.bsl | 6 +- .../ComputationExpr07.il.bsl | 6 +- .../ListExpressionSteppingTest2.il.bsl | 82 +- .../EmittedIL/Misc/CodeGenRenamings01.il.bsl | 46 +- .../EmittedIL/Misc/LetIfThenElse01.il.bsl | 6 +- .../Linq101Aggregates01.il.bsl | 614 +++++++------- .../Linq101Grouping01.il.bsl | 306 +++---- .../Linq101Joins01.il.bsl | 432 +++++----- .../Linq101Ordering01.il.bsl | 544 ++++++------ .../Linq101Partitioning01.il.bsl | 526 ++++++------ .../Linq101Quantifiers01.il.bsl | 232 ++--- .../Linq101Select01.il.bsl | 790 +++++++++--------- .../Linq101SetOperators01.il.bsl | 182 ++-- .../Linq101Where01.il.bsl | 238 +++--- .../SeqExpressionSteppingTest1.il.bsl | 6 +- .../SeqExpressionSteppingTest2.il.bsl | 6 +- .../SeqExpressionSteppingTest3.il.bsl | 6 +- .../SeqExpressionSteppingTest4.il.bsl | 6 +- .../SeqExpressionSteppingTest5.il.bsl | 6 +- .../SeqExpressionSteppingTest6.il.bsl | 6 +- .../TestFunctions/Testfunction15.il.bsl | 6 +- 33 files changed, 2065 insertions(+), 2065 deletions(-) diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs index fe370ed2fa..46b0557a87 100644 --- a/src/fsharp/Optimizer.fs +++ b/src/fsharp/Optimizer.fs @@ -428,10 +428,10 @@ type cenv = override x.ToString() = "" // environment for a method -type menv = +type MethodEnv = { mutable pipelineCount: int } - override x.ToString() = "" + override x.ToString() = "" type IncrementalOptimizationEnv = { /// An identifier to help with name generation @@ -455,7 +455,7 @@ type IncrementalOptimizationEnv = localExternalVals: LayeredMap - methEnv: menv + methEnv: MethodEnv globalModuleInfos: LayeredMap } diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl index a0d83aa269..821abbd968 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000B1 } .module AsyncExpressionSteppingTest1.dll -// MVID: {6116A45A-6394-B5D4-A745-03835AA41661} +// MVID: {611B0EC4-6394-B5D4-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07170000 +// Image base: 0x06680000 // =============== CLASS MEMBERS DECLARATION =================== @@ -140,7 +140,7 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 10', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) .line 10,10 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest1/AsyncExpressionSteppingTest1::f1() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl index 83cd4e3fb5..c522776856 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000B1 } .module AsyncExpressionSteppingTest2.dll -// MVID: {6116A45A-6394-D499-A745-03835AA41661} +// MVID: {611B0EC4-6394-D499-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x051E0000 +// Image base: 0x06860000 // =============== CLASS MEMBERS DECLARATION =================== @@ -237,7 +237,7 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 11', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) .line 11,11 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest2/AsyncExpressionSteppingTest2::f2() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl index cf6d2196ce..80c04ba5c4 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest3.dll -// MVID: {6116A45A-6394-F35E-A745-03835AA41661} +// MVID: {611B0EC4-6394-F35E-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07080000 +// Image base: 0x058A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -198,7 +198,7 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 12', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) .line 12,12 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest3/AsyncExpressionSteppingTest3::f3() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl index f037dfe042..c1df939a31 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest4.dll -// MVID: {6116A45A-6394-6D4B-A745-03835AA41661} +// MVID: {611B0EC4-6394-6D4B-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07230000 +// Image base: 0x06BA0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -346,7 +346,7 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 15', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) .line 15,15 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest4/AsyncExpressionSteppingTest4::f4() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl index b9878a7359..1fa86b5eb5 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002B0 Length: 0x000000BE } .module AsyncExpressionSteppingTest5.dll -// MVID: {6116A45A-6394-30E8-A745-03835AA41661} +// MVID: {611B0EC4-6394-30E8-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07030000 +// Image base: 0x07280000 // =============== CLASS MEMBERS DECLARATION =================== @@ -399,7 +399,7 @@ // Code size 48 (0x30) .maxstack 6 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es, - [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 13', [2] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2) .line 4,4 : 5,21 '' IL_0000: ldc.i4.3 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl index 6ef3694237..64210fb268 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BE } .module AsyncExpressionSteppingTest6.dll -// MVID: {6116A45A-6394-4FAD-A745-03835AA41661} +// MVID: {611B0EC4-6394-4FAD-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06870000 +// Image base: 0x05150000 // =============== CLASS MEMBERS DECLARATION =================== @@ -768,7 +768,7 @@ { // Code size 18 (0x12) .maxstack 5 - .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input', + .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 'Pipe #1 input at line 22', [1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) .line 22,22 : 13,17 '' IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f3() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl index 2ec27fd2d6..08899c42c8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr01.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr01.exe -// MVID: {6116A45A-3703-E566-A745-03835AA41661} +// MVID: {611B0EC4-3703-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AC0000 +// Image base: 0x071D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -127,7 +127,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res1, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 10') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl index f0bc31e125..564ad18517 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr02.exe -// MVID: {6116A45A-3624-E566-A745-03835AA41661} +// MVID: {611B0EC4-3624-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07280000 +// Image base: 0x09590000 // =============== CLASS MEMBERS DECLARATION =================== @@ -139,7 +139,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res2, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 10') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl index 6badd0772f..6368550780 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000240 Length: 0x0000008C } .module ComputationExpr03.exe -// MVID: {6116A45A-3649-E566-A745-03835AA41661} +// MVID: {611B0EC4-3649-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06F30000 +// Image base: 0x06B90000 // =============== CLASS MEMBERS DECLARATION =================== @@ -341,9 +341,9 @@ .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res2, [1] class [ComputationExprLibrary]Library.Eventually`1 res3, [2] class [ComputationExprLibrary]Library.EventuallyBuilder V_2, - [3] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input', + [3] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 10', [4] class [ComputationExprLibrary]Library.EventuallyBuilder V_4, - [5] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #2 input') + [5] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #2 input at line 22') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.2 @@ -372,9 +372,9 @@ IL_0041: stloc.1 .line 22,22 : 1,5 '' IL_0042: call class [ComputationExprLibrary]Library.Eventually`1 ComputationExpr03::get_res3() - IL_0047: stloc.s 'Pipe #2 input' + IL_0047: stloc.s 'Pipe #2 input at line 22' .line 22,22 : 10,26 '' - IL_0049: ldloc.s 'Pipe #2 input' + IL_0049: ldloc.s 'Pipe #2 input at line 22' IL_004b: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) IL_0050: pop IL_0051: ret diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl index 5cee4af74c..e5b49e16e8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr04.exe -// MVID: {6116A45A-366A-E566-A745-03835AA41661} +// MVID: {611B0EC4-366A-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x072A0000 +// Image base: 0x052F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -254,7 +254,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res4, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 14') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl index 6d196dbca1..7f874ae0a8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr05.exe -// MVID: {6116A45A-3687-E566-A745-03835AA41661} +// MVID: {611B0EC4-3687-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05210000 +// Image base: 0x00C50000 // =============== CLASS MEMBERS DECLARATION =================== @@ -224,7 +224,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res5, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 13') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl index 8536521ddb..02b98964ca 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr06.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr06.exe -// MVID: {6116A45A-35A8-E566-A745-03835AA41661} +// MVID: {611B0EC4-35A8-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06900000 +// Image base: 0x07080000 // =============== CLASS MEMBERS DECLARATION =================== @@ -296,7 +296,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res6, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 18') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl index 6a5f7980af..a9c352baef 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr07.exe -// MVID: {6116A45A-35BD-E566-A745-03835AA41661} +// MVID: {611B0EC4-35BD-E566-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06EC0000 +// Image base: 0x06E40000 // =============== CLASS MEMBERS DECLARATION =================== @@ -258,7 +258,7 @@ .maxstack 4 .locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res7, [1] class [ComputationExprLibrary]Library.EventuallyBuilder V_1, - [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input') + [2] class [ComputationExprLibrary]Library.Eventually`1 'Pipe #1 input at line 13') .line 100001,100001 : 0,0 '' IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() IL_0005: stloc.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl index 05244fe5b9..891955152b 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002D0 Length: 0x000000BC } .module ListExpressionSteppingTest2.exe -// MVID: {61170AB8-D3DE-B780-A745-0383B80A1761} +// MVID: {611B0EC4-D3DE-B780-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AF0000 +// Image base: 0x06CE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -55,10 +55,10 @@ extends [mscorlib]System.Object { .custom instance 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@18' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' @_instance + .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 { @@ -69,7 +69,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 stage #2@18'::.ctor + } // end of method 'Pipe #1 stage #2 at line 18@18'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -94,19 +94,19 @@ IL_0012: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0017: ret - } // end of method 'Pipe #1 stage #2@18'::Invoke + } // end of method 'Pipe #1 stage #2 at line 18@18'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18'::.ctor() - IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18'::@_instance + 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 - } // end of method 'Pipe #1 stage #2@18'::.cctor + } // end of method 'Pipe #1 stage #2 at line 18@18'::.cctor - } // end of class 'Pipe #1 stage #2@18' + } // end of class 'Pipe #1 stage #2 at line 18@18' .class auto ansi serializable sealed nested assembly beforefieldinit xs1@19 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2> @@ -160,10 +160,10 @@ } // end of class xs1@19 - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 stage #2@24' + .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 [mscorlib]System.Tuple`3> { - .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' @_instance + .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 { @@ -174,7 +174,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 stage #2@24'::.ctor + } // end of method 'Pipe #2 stage #2 at line 24@24'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`3 tupledArg) cil managed @@ -204,19 +204,19 @@ !1, !2) IL_001f: ret - } // end of method 'Pipe #2 stage #2@24'::Invoke + } // end of method 'Pipe #2 stage #2 at line 24@24'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::.ctor() - IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::@_instance + 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 - } // end of method 'Pipe #2 stage #2@24'::.cctor + } // end of method 'Pipe #2 stage #2 at line 24@24'::.cctor - } // end of class 'Pipe #2 stage #2@24' + } // end of class 'Pipe #2 stage #2 at line 24@24' .class auto ansi serializable sealed nested assembly beforefieldinit xs2@25 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3> @@ -314,16 +314,16 @@ // Code size 193 (0xc1) .maxstack 6 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> xs1, - [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #1', - [2] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #2', - [3] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #1', - [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #2', + [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #1 at line 16', + [2] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #2 at line 16', + [3] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #1 at line 17', + [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #1 stage #2 at line 18', [5] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> xs2, - [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #1', - [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #2', - [8] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #3', - [9] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #1', - [10] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #2') + [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #1 at line 22', + [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #2 at line 22', + [8] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #3 at line 22', + [9] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #1 at line 23', + [10] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #2 at line 24') .line 16,16 : 13,20 '' IL_0000: ldarg.0 IL_0001: ldarg.0 @@ -353,14 +353,14 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0032: stloc.3 .line 18,18 : 15,45 '' - IL_0033: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2@18'::@_instance + 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 [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003e: stloc.s 'Pipe #1 stage #2' + IL_003e: stloc.s 'Pipe #1 stage #2 at line 18' .line 19,19 : 15,45 '' IL_0040: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance - IL_0045: ldloc.s 'Pipe #1 stage #2' + IL_0045: ldloc.s 'Pipe #1 stage #2 at line 18' IL_0047: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_004c: stloc.0 @@ -377,7 +377,7 @@ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0060: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0065: stloc.s 'Pipe #2 input #1' + IL_0065: stloc.s 'Pipe #2 input #1 at line 22' .line 22,22 : 22,28 '' IL_0067: ldc.i4.0 IL_0068: ldc.i4.1 @@ -387,7 +387,7 @@ int32) IL_006f: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0079: stloc.s 'Pipe #2 input #2' + IL_0079: stloc.s 'Pipe #2 input #2 at line 22' .line 22,22 : 30,36 '' IL_007b: ldc.i4.0 IL_007c: ldc.i4.1 @@ -397,24 +397,24 @@ int32) IL_0083: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_008d: stloc.s 'Pipe #2 input #3' + IL_008d: stloc.s 'Pipe #2 input #3 at line 22' .line 23,23 : 17,26 '' - IL_008f: ldloc.s 'Pipe #2 input #1' - IL_0091: ldloc.s 'Pipe #2 input #2' - IL_0093: ldloc.s 'Pipe #2 input #3' + IL_008f: ldloc.s 'Pipe #2 input #1 at line 22' + IL_0091: ldloc.s 'Pipe #2 input #2 at line 22' + IL_0093: ldloc.s 'Pipe #2 input #3 at line 22' IL_0095: 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_009a: stloc.s 'Pipe #2 stage #1' + IL_009a: stloc.s 'Pipe #2 stage #1 at line 23' .line 24,24 : 15,50 '' - IL_009c: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2@24'::@_instance - IL_00a1: ldloc.s 'Pipe #2 stage #1' + IL_009c: 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_00a1: ldloc.s 'Pipe #2 stage #1 at line 23' IL_00a3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00a8: stloc.s 'Pipe #2 stage #2' + IL_00a8: stloc.s 'Pipe #2 stage #2 at line 24' .line 25,25 : 15,50 '' IL_00aa: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance - IL_00af: ldloc.s 'Pipe #2 stage #2' + IL_00af: ldloc.s 'Pipe #2 stage #2 at line 24' IL_00b1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_00b6: stloc.s xs2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl index 3886efc6c7..603890dce4 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/CodeGenRenamings01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000003D0 Length: 0x0000011B } .module CodeGenRenamings01.exe -// MVID: {6116A45A-8173-986B-A745-03835AA41661} +// MVID: {611B0EC4-8173-986B-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CB0000 +// Image base: 0x06620000 // =============== CLASS MEMBERS DECLARATION =================== @@ -435,16 +435,16 @@ [8] int32[0...,0...,0...,0...] array4D, [9] int32[] a1, [10] int32[] a2, - [11] int32 'Pipe #1 input', - [12] class [mscorlib]System.Tuple`4 'Pipe #2 input', + [11] int32 'Pipe #1 input at line 27', + [12] class [mscorlib]System.Tuple`4 'Pipe #2 input at line 30', [13] class [mscorlib]System.Tuple`4 V_13, - [14] int32 'Pipe #3 input', - [15] class [mscorlib]System.Tuple`3 'Pipe #4 input', + [14] int32 'Pipe #3 input at line 31', + [15] class [mscorlib]System.Tuple`3 'Pipe #4 input at line 34', [16] class [mscorlib]System.Tuple`3 V_16, - [17] int32 'Pipe #5 input', - [18] class [mscorlib]System.Tuple`4 'Pipe #6 input', + [17] int32 'Pipe #5 input at line 35', + [18] class [mscorlib]System.Tuple`4 'Pipe #6 input at line 38', [19] class [mscorlib]System.Tuple`4 V_19, - [20] int32 'Pipe #7 input') + [20] int32 'Pipe #7 input at line 39') .line 5,5 : 1,24 '' IL_0000: ldc.i4.1 IL_0001: ldc.i4.1 @@ -603,11 +603,11 @@ IL_0144: ldc.i4.0 IL_0145: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], int32) - IL_014a: stloc.s 'Pipe #1 input' + IL_014a: stloc.s 'Pipe #1 input at line 27' .line 27,27 : 19,33 '' IL_014c: call int32[] CodeGenRenamings01::get_a2() IL_0151: ldc.i4.0 - IL_0152: ldloc.s 'Pipe #1 input' + IL_0152: ldloc.s 'Pipe #1 input at line 27' IL_0154: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], int32, !!0) @@ -625,9 +625,9 @@ !1, !2, !3) - IL_0187: stloc.s 'Pipe #2 input' + IL_0187: stloc.s 'Pipe #2 input at line 30' .line 30,30 : 81,87 '' - IL_0189: ldloc.s 'Pipe #2 input' + IL_0189: ldloc.s 'Pipe #2 input at line 30' IL_018b: stloc.s V_13 .line 31,31 : 1,19 '' IL_018d: call int32[0...,0...] CodeGenRenamings01::get_a3() @@ -636,12 +636,12 @@ IL_0194: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], int32, int32) - IL_0199: stloc.s 'Pipe #3 input' + IL_0199: stloc.s 'Pipe #3 input at line 31' .line 31,31 : 23,41 '' IL_019b: call int32[0...,0...] CodeGenRenamings01::get_a3() IL_01a0: ldc.i4.0 IL_01a1: ldc.i4.0 - IL_01a2: ldloc.s 'Pipe #3 input' + IL_01a2: ldloc.s 'Pipe #3 input at line 31' IL_01a4: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], int32, int32, @@ -657,9 +657,9 @@ IL_01c8: newobj instance void class [mscorlib]System.Tuple`3::.ctor(!0, !1, !2) - IL_01cd: stloc.s 'Pipe #4 input' + IL_01cd: stloc.s 'Pipe #4 input at line 34' .line 34,34 : 80,86 '' - IL_01cf: ldloc.s 'Pipe #4 input' + IL_01cf: ldloc.s 'Pipe #4 input at line 34' IL_01d1: stloc.s V_16 .line 35,35 : 1,26 '' IL_01d3: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() @@ -670,13 +670,13 @@ int32, int32, int32) - IL_01e0: stloc.s 'Pipe #5 input' + IL_01e0: stloc.s 'Pipe #5 input at line 35' .line 35,35 : 30,55 '' IL_01e2: call int32[0...,0...,0...] CodeGenRenamings01::get_array3D() IL_01e7: ldc.i4.0 IL_01e8: ldc.i4.0 IL_01e9: ldc.i4.0 - IL_01ea: ldloc.s 'Pipe #5 input' + IL_01ea: ldloc.s 'Pipe #5 input at line 35' IL_01ec: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], int32, int32, @@ -696,9 +696,9 @@ !1, !2, !3) - IL_021f: stloc.s 'Pipe #6 input' + IL_021f: stloc.s 'Pipe #6 input at line 38' .line 38,38 : 105,111 '' - IL_0221: ldloc.s 'Pipe #6 input' + IL_0221: ldloc.s 'Pipe #6 input at line 38' IL_0223: stloc.s V_19 .line 39,39 : 1,28 '' IL_0225: call int32[0...,0...,0...,0...] CodeGenRenamings01::get_array4D() @@ -711,14 +711,14 @@ int32, int32, int32) - IL_0233: stloc.s 'Pipe #7 input' + IL_0233: stloc.s 'Pipe #7 input at line 39' .line 39,39 : 32,59 '' IL_0235: call int32[0...,0...,0...,0...] CodeGenRenamings01::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 'Pipe #7 input' + IL_023e: ldloc.s 'Pipe #7 input at line 39' IL_0240: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], int32, int32, diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl index 3abac7c586..0f66580c07 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001E0 Length: 0x00000076 } .module LetIfThenElse01.exe -// MVID: {6116A45A-BE5A-D8FD-A745-03835AA41661} +// MVID: {611B0EC4-BE5A-D8FD-A745-0383C40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06D90000 +// Image base: 0x069B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -171,7 +171,7 @@ .entrypoint // Code size 10 (0xa) .maxstack 3 - .locals init ([0] class [mscorlib]System.Tuple`4 'Pipe #1 input', + .locals init ([0] class [mscorlib]System.Tuple`4 'Pipe #1 input at line 12', [1] class [mscorlib]System.Tuple`4 V_1) .line 12,12 : 1,5 '' IL_0000: ldc.i4.1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl index 2cbf3dbe45..31035e2fa2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl @@ -50,13 +50,13 @@ // Offset: 0x000005F0 Length: 0x00000211 } .module Linq101Aggregates01.exe -// MVID: {6116A45B-D281-4783-A745-03835BA41661} +// MVID: {611B0EC5-D281-4783-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04F80000 +// Image base: 0x07220000 // =============== CLASS MEMBERS DECLARATION =================== @@ -65,7 +65,7 @@ extends [mscorlib]System.Object { .custom instance 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@12' + .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 ) @@ -90,17 +90,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0009: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current + IL_0010: stfld int32 Linq101Aggregates01/'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 - } // end of method 'Pipe #1 input@12'::.ctor + } // end of method 'Pipe #1 input at line 11@12'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -112,7 +112,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -139,18 +139,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_factorsOf300() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0037: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc .line 12,12 : 9,33 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 12,12 : 9,33 '' @@ -159,10 +159,10 @@ .line 13,13 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0059: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current + IL_0060: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -172,24 +172,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_006c: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc .line 12,12 : 9,33 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0086: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current + IL_008d: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #1 input@12'::GenerateNext + } // end of method 'Pipe #1 input at line 11@12'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -200,7 +200,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -216,7 +216,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0018: ldfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -246,19 +246,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0044: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input@12'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/'Pipe #1 input at line 11@12'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0058: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current + IL_005f: stfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::current IL_0064: leave.s IL_0070 } // end .try @@ -287,7 +287,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #1 input@12'::Close + } // end of method 'Pipe #1 input at line 11@12'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -296,7 +296,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -330,7 +330,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #1 input@12'::get_CheckClose + } // end of method 'Pipe #1 input at line 11@12'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -340,9 +340,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input@12'::current + IL_0001: ldfld int32 Linq101Aggregates01/'Pipe #1 input at line 11@12'::current IL_0006: ret - } // end of method 'Pipe #1 input@12'::get_LastGenerated + } // end of method 'Pipe #1 input at line 11@12'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -354,13 +354,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Aggregates01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Aggregates01/'Pipe #1 input at line 11@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #1 input@12'::GetFreshEnumerator + } // end of method 'Pipe #1 input at line 11@12'::GetFreshEnumerator - } // end of class 'Pipe #1 input@12' + } // end of class 'Pipe #1 input at line 11@12' .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1031,7 +1031,7 @@ } // end of class 'totalChars@31-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@39' + .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@ @@ -1049,9 +1049,9 @@ 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 Linq101Aggregates01/'Pipe #2 input@39'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input at line 38@39'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@39'::.ctor + } // end of method 'Pipe #2 input at line 38@39'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1064,19 +1064,19 @@ IL_0001: stloc.0 .line 40,40 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@39'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #2 input@39'::Invoke + } // end of method 'Pipe #2 input at line 38@39'::Invoke - } // end of class 'Pipe #2 input@39' + } // end of class 'Pipe #2 input at line 38@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-1' + .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 Linq101Aggregates01/'Pipe #2 input@40-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input at line 38@40-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1087,7 +1087,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@40-1'::.ctor + } // end of method 'Pipe #2 input at line 38@40-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1097,24 +1097,24 @@ .line 40,40 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #2 input@40-1'::Invoke + } // end of method 'Pipe #2 input at line 38@40-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@40-1' Linq101Aggregates01/'Pipe #2 input@40-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input at line 38@40-1' Linq101Aggregates01/'Pipe #2 input at line 38@40-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@40-1'::.cctor + } // end of method 'Pipe #2 input at line 38@40-1'::.cctor - } // end of class 'Pipe #2 input@40-1' + } // end of class 'Pipe #2 input at line 38@40-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-2' + .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 Linq101Aggregates01/'Pipe #2 input@40-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input at line 38@40-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1125,7 +1125,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@40-2'::.ctor + } // end of method 'Pipe #2 input at line 38@40-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1137,19 +1137,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #2 input@40-2'::Invoke + } // end of method 'Pipe #2 input at line 38@40-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@40-2' Linq101Aggregates01/'Pipe #2 input@40-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input at line 38@40-2' Linq101Aggregates01/'Pipe #2 input at line 38@40-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@40-2'::.cctor + } // end of method 'Pipe #2 input at line 38@40-2'::.cctor - } // end of class 'Pipe #2 input@40-2' + } // end of class 'Pipe #2 input at line 38@40-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1496,7 +1496,7 @@ } // end of class 'sum@43-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-3' + .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@ @@ -1514,9 +1514,9 @@ 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 Linq101Aggregates01/'Pipe #2 input@40-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input at line 38@40-3'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@40-3'::.ctor + } // end of method 'Pipe #2 input at line 38@40-3'::.ctor .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 @@ -1604,7 +1604,7 @@ IL_0073: stloc.1 .line 45,45 : 9,28 '' IL_0074: ldarg.0 - IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input@40-3'::builder@ + IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #2 input at line 38@40-3'::builder@ IL_007a: ldloc.0 IL_007b: ldloc.1 IL_007c: newobj instance void class [mscorlib]System.Tuple`2,int32>::.ctor(!0, @@ -1612,14 +1612,14 @@ IL_0081: tail. IL_0083: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) IL_0088: ret - } // end of method 'Pipe #2 input@40-3'::Invoke + } // end of method 'Pipe #2 input at line 38@40-3'::Invoke - } // end of class 'Pipe #2 input@40-3' + } // end of class 'Pipe #2 input at line 38@40-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@45-4' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input@45-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #2 input at line 38@45-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1630,7 +1630,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@45-4'::.ctor + } // end of method 'Pipe #2 input at line 38@45-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,int32> tupledArg) cil managed @@ -1653,19 +1653,19 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'Pipe #2 input@45-4'::Invoke + } // end of method 'Pipe #2 input at line 38@45-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input@45-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input@45-4' Linq101Aggregates01/'Pipe #2 input@45-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #2 input at line 38@45-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #2 input at line 38@45-4' Linq101Aggregates01/'Pipe #2 input at line 38@45-4'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@45-4'::.cctor + } // end of method 'Pipe #2 input at line 38@45-4'::.cctor - } // end of class 'Pipe #2 input@45-4' + } // end of class 'Pipe #2 input at line 38@45-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -2336,7 +2336,7 @@ } // end of class 'shortestWord@52-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@57' + .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@ @@ -2354,9 +2354,9 @@ 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 Linq101Aggregates01/'Pipe #3 input@57'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input at line 56@57'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@57'::.ctor + } // end of method 'Pipe #3 input at line 56@57'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -2369,19 +2369,19 @@ IL_0001: stloc.0 .line 58,58 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@57'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #3 input@57'::Invoke + } // end of method 'Pipe #3 input at line 56@57'::Invoke - } // end of class 'Pipe #3 input@57' + } // end of class 'Pipe #3 input at line 56@57' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-1' + .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 Linq101Aggregates01/'Pipe #3 input@58-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input at line 56@58-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2392,7 +2392,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@58-1'::.ctor + } // end of method 'Pipe #3 input at line 56@58-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -2402,24 +2402,24 @@ .line 58,58 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #3 input@58-1'::Invoke + } // end of method 'Pipe #3 input at line 56@58-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@58-1' Linq101Aggregates01/'Pipe #3 input@58-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input at line 56@58-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input at line 56@58-1' Linq101Aggregates01/'Pipe #3 input at line 56@58-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@58-1'::.cctor + } // end of method 'Pipe #3 input at line 56@58-1'::.cctor - } // end of class 'Pipe #3 input@58-1' + } // end of class 'Pipe #3 input at line 56@58-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-2' + .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 Linq101Aggregates01/'Pipe #3 input@58-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input at line 56@58-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2430,7 +2430,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@58-2'::.ctor + } // end of method 'Pipe #3 input at line 56@58-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -2442,19 +2442,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #3 input@58-2'::Invoke + } // end of method 'Pipe #3 input at line 56@58-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@58-2' Linq101Aggregates01/'Pipe #3 input@58-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input at line 56@58-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input at line 56@58-2' Linq101Aggregates01/'Pipe #3 input at line 56@58-2'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@58-2'::.cctor + } // end of method 'Pipe #3 input at line 56@58-2'::.cctor - } // end of class 'Pipe #3 input@58-2' + } // end of class 'Pipe #3 input at line 56@58-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -2801,7 +2801,7 @@ } // end of class 'min@59-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@58-3' + .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 [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2819,9 +2819,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@58-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input at line 56@58-3'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@58-3'::.ctor + } // end of method 'Pipe #3 input at line 56@58-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -2849,7 +2849,7 @@ IL_001f: stloc.1 .line 60,60 : 9,28 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input@58-3'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #3 input at line 56@58-3'::builder@ IL_0026: ldloc.0 IL_0027: ldloc.1 IL_0028: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -2857,14 +2857,14 @@ IL_002d: tail. IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_0034: ret - } // end of method 'Pipe #3 input@58-3'::Invoke + } // end of method 'Pipe #3 input at line 56@58-3'::Invoke - } // end of class 'Pipe #3 input@58-3' + } // end of class 'Pipe #3 input at line 56@58-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@60-4' + .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 [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input@60-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #3 input at line 56@60-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2875,7 +2875,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@60-4'::.ctor + } // end of method 'Pipe #3 input at line 56@60-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -2898,21 +2898,21 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'Pipe #3 input@60-4'::Invoke + } // end of method 'Pipe #3 input at line 56@60-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input@60-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input@60-4' Linq101Aggregates01/'Pipe #3 input@60-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #3 input at line 56@60-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #3 input at line 56@60-4' Linq101Aggregates01/'Pipe #3 input at line 56@60-4'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@60-4'::.cctor + } // end of method 'Pipe #3 input at line 56@60-4'::.cctor - } // end of class 'Pipe #3 input@60-4' + } // end of class 'Pipe #3 input at line 56@60-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@66' + .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@ @@ -2930,9 +2930,9 @@ 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 Linq101Aggregates01/'Pipe #4 input@66'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input at line 65@66'::builder@ IL_000d: ret - } // end of method 'Pipe #4 input@66'::.ctor + } // end of method 'Pipe #4 input at line 65@66'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -2945,19 +2945,19 @@ IL_0001: stloc.0 .line 67,67 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@66'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #4 input@66'::Invoke + } // end of method 'Pipe #4 input at line 65@66'::Invoke - } // end of class 'Pipe #4 input@66' + } // end of class 'Pipe #4 input at line 65@66' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-1' + .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 Linq101Aggregates01/'Pipe #4 input@67-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input at line 65@67-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2968,7 +2968,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@67-1'::.ctor + } // end of method 'Pipe #4 input at line 65@67-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -2978,24 +2978,24 @@ .line 67,67 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #4 input@67-1'::Invoke + } // end of method 'Pipe #4 input at line 65@67-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@67-1' Linq101Aggregates01/'Pipe #4 input@67-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input at line 65@67-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input at line 65@67-1' Linq101Aggregates01/'Pipe #4 input at line 65@67-1'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@67-1'::.cctor + } // end of method 'Pipe #4 input at line 65@67-1'::.cctor - } // end of class 'Pipe #4 input@67-1' + } // end of class 'Pipe #4 input at line 65@67-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-2' + .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 Linq101Aggregates01/'Pipe #4 input@67-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input at line 65@67-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -3006,7 +3006,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@67-2'::.ctor + } // end of method 'Pipe #4 input at line 65@67-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -3018,19 +3018,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #4 input@67-2'::Invoke + } // end of method 'Pipe #4 input at line 65@67-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@67-2' Linq101Aggregates01/'Pipe #4 input@67-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input at line 65@67-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input at line 65@67-2' Linq101Aggregates01/'Pipe #4 input at line 65@67-2'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@67-2'::.cctor + } // end of method 'Pipe #4 input at line 65@67-2'::.cctor - } // end of class 'Pipe #4 input@67-2' + } // end of class 'Pipe #4 input at line 65@67-2' .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' extends [mscorlib]System.Object @@ -3391,7 +3391,7 @@ } // end of class 'cheapestProducts@69-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@67-3' + .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 [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -3409,9 +3409,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]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 Linq101Aggregates01/'Pipe #4 input@67-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input at line 65@67-3'::builder@ IL_000d: ret - } // end of method 'Pipe #4 input@67-3'::.ctor + } // end of method 'Pipe #4 input at line 65@67-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -3455,7 +3455,7 @@ IL_003a: stloc.2 .line 70,70 : 9,41 '' IL_003b: ldarg.0 - IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input@67-3'::builder@ + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #4 input at line 65@67-3'::builder@ IL_0041: ldloc.0 IL_0042: ldloc.1 IL_0043: ldloc.2 @@ -3465,14 +3465,14 @@ IL_0049: tail. IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(!!0) IL_0050: ret - } // end of method 'Pipe #4 input@67-3'::Invoke + } // end of method 'Pipe #4 input at line 65@67-3'::Invoke - } // end of class 'Pipe #4 input@67-3' + } // end of class 'Pipe #4 input at line 65@67-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@70-4' + .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 [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input@70-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #4 input at line 65@70-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -3483,7 +3483,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@70-4'::.ctor + } // end of method 'Pipe #4 input at line 65@70-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed @@ -3510,19 +3510,19 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0021: ret - } // end of method 'Pipe #4 input@70-4'::Invoke + } // end of method 'Pipe #4 input at line 65@70-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input@70-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input@70-4' Linq101Aggregates01/'Pipe #4 input@70-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #4 input at line 65@70-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #4 input at line 65@70-4' Linq101Aggregates01/'Pipe #4 input at line 65@70-4'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@70-4'::.cctor + } // end of method 'Pipe #4 input at line 65@70-4'::.cctor - } // end of class 'Pipe #4 input@70-4' + } // end of class 'Pipe #4 input at line 65@70-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -4193,7 +4193,7 @@ } // end of class 'longestLength@77-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@82' + .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@ @@ -4211,9 +4211,9 @@ 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 Linq101Aggregates01/'Pipe #5 input@82'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input at line 81@82'::builder@ IL_000d: ret - } // end of method 'Pipe #5 input@82'::.ctor + } // end of method 'Pipe #5 input at line 81@82'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -4226,19 +4226,19 @@ IL_0001: stloc.0 .line 83,83 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@82'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #5 input@82'::Invoke + } // end of method 'Pipe #5 input at line 81@82'::Invoke - } // end of class 'Pipe #5 input@82' + } // end of class 'Pipe #5 input at line 81@82' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-1' + .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 Linq101Aggregates01/'Pipe #5 input@83-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input at line 81@83-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4249,7 +4249,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@83-1'::.ctor + } // end of method 'Pipe #5 input at line 81@83-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -4259,24 +4259,24 @@ .line 83,83 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #5 input@83-1'::Invoke + } // end of method 'Pipe #5 input at line 81@83-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@83-1' Linq101Aggregates01/'Pipe #5 input@83-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input at line 81@83-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input at line 81@83-1' Linq101Aggregates01/'Pipe #5 input at line 81@83-1'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@83-1'::.cctor + } // end of method 'Pipe #5 input at line 81@83-1'::.cctor - } // end of class 'Pipe #5 input@83-1' + } // end of class 'Pipe #5 input at line 81@83-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-2' + .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 Linq101Aggregates01/'Pipe #5 input@83-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input at line 81@83-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4287,7 +4287,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@83-2'::.ctor + } // end of method 'Pipe #5 input at line 81@83-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -4299,19 +4299,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #5 input@83-2'::Invoke + } // end of method 'Pipe #5 input at line 81@83-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@83-2' Linq101Aggregates01/'Pipe #5 input@83-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input at line 81@83-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input at line 81@83-2' Linq101Aggregates01/'Pipe #5 input at line 81@83-2'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@83-2'::.cctor + } // end of method 'Pipe #5 input at line 81@83-2'::.cctor - } // end of class 'Pipe #5 input@83-2' + } // end of class 'Pipe #5 input at line 81@83-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -4658,7 +4658,7 @@ } // end of class 'mostExpensivePrice@84-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@83-3' + .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 [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -4676,9 +4676,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@83-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input at line 81@83-3'::builder@ IL_000d: ret - } // end of method 'Pipe #5 input@83-3'::.ctor + } // end of method 'Pipe #5 input at line 81@83-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -4706,7 +4706,7 @@ IL_001f: stloc.1 .line 85,85 : 9,43 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input@83-3'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #5 input at line 81@83-3'::builder@ IL_0026: ldloc.0 IL_0027: ldloc.1 IL_0028: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -4714,14 +4714,14 @@ IL_002d: tail. IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_0034: ret - } // end of method 'Pipe #5 input@83-3'::Invoke + } // end of method 'Pipe #5 input at line 81@83-3'::Invoke - } // end of class 'Pipe #5 input@83-3' + } // end of class 'Pipe #5 input at line 81@83-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@85-4' + .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 [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input@85-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #5 input at line 81@85-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4732,7 +4732,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@85-4'::.ctor + } // end of method 'Pipe #5 input at line 81@85-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -4755,21 +4755,21 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'Pipe #5 input@85-4'::Invoke + } // end of method 'Pipe #5 input at line 81@85-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input@85-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input@85-4' Linq101Aggregates01/'Pipe #5 input@85-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #5 input at line 81@85-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #5 input at line 81@85-4' Linq101Aggregates01/'Pipe #5 input at line 81@85-4'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@85-4'::.cctor + } // end of method 'Pipe #5 input at line 81@85-4'::.cctor - } // end of class 'Pipe #5 input@85-4' + } // end of class 'Pipe #5 input at line 81@85-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@91' + .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@ @@ -4787,9 +4787,9 @@ 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 Linq101Aggregates01/'Pipe #6 input@91'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input at line 90@91'::builder@ IL_000d: ret - } // end of method 'Pipe #6 input@91'::.ctor + } // end of method 'Pipe #6 input at line 90@91'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -4802,19 +4802,19 @@ IL_0001: stloc.0 .line 92,92 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@91'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #6 input@91'::Invoke + } // end of method 'Pipe #6 input at line 90@91'::Invoke - } // end of class 'Pipe #6 input@91' + } // end of class 'Pipe #6 input at line 90@91' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-1' + .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 Linq101Aggregates01/'Pipe #6 input@92-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input at line 90@92-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4825,7 +4825,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@92-1'::.ctor + } // end of method 'Pipe #6 input at line 90@92-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -4835,24 +4835,24 @@ .line 92,92 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #6 input@92-1'::Invoke + } // end of method 'Pipe #6 input at line 90@92-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@92-1' Linq101Aggregates01/'Pipe #6 input@92-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input at line 90@92-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input at line 90@92-1' Linq101Aggregates01/'Pipe #6 input at line 90@92-1'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@92-1'::.cctor + } // end of method 'Pipe #6 input at line 90@92-1'::.cctor - } // end of class 'Pipe #6 input@92-1' + } // end of class 'Pipe #6 input at line 90@92-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-2' + .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 Linq101Aggregates01/'Pipe #6 input@92-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input at line 90@92-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -4863,7 +4863,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@92-2'::.ctor + } // end of method 'Pipe #6 input at line 90@92-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -4875,19 +4875,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #6 input@92-2'::Invoke + } // end of method 'Pipe #6 input at line 90@92-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@92-2' Linq101Aggregates01/'Pipe #6 input@92-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input at line 90@92-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input at line 90@92-2' Linq101Aggregates01/'Pipe #6 input at line 90@92-2'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@92-2'::.cctor + } // end of method 'Pipe #6 input at line 90@92-2'::.cctor - } // end of class 'Pipe #6 input@92-2' + } // end of class 'Pipe #6 input at line 90@92-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -5575,7 +5575,7 @@ } // end of class 'mostExpensiveProducts@94-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@92-3' + .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 [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -5593,9 +5593,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]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 Linq101Aggregates01/'Pipe #6 input@92-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input at line 90@92-3'::builder@ IL_000d: ret - } // end of method 'Pipe #6 input@92-3'::.ctor + } // end of method 'Pipe #6 input at line 90@92-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -5644,7 +5644,7 @@ IL_0045: stloc.2 .line 95,95 : 9,46 '' IL_0046: ldarg.0 - IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input@92-3'::builder@ + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #6 input at line 90@92-3'::builder@ IL_004c: ldloc.0 IL_004d: ldloc.1 IL_004e: ldloc.2 @@ -5654,14 +5654,14 @@ IL_0054: tail. IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(!!0) IL_005b: ret - } // end of method 'Pipe #6 input@92-3'::Invoke + } // end of method 'Pipe #6 input at line 90@92-3'::Invoke - } // end of class 'Pipe #6 input@92-3' + } // end of class 'Pipe #6 input at line 90@92-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@95-4' + .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 [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input@95-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #6 input at line 90@95-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -5672,7 +5672,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@95-4'::.ctor + } // end of method 'Pipe #6 input at line 90@95-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed @@ -5699,19 +5699,19 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0021: ret - } // end of method 'Pipe #6 input@95-4'::Invoke + } // end of method 'Pipe #6 input at line 90@95-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input@95-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input@95-4' Linq101Aggregates01/'Pipe #6 input@95-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #6 input at line 90@95-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #6 input at line 90@95-4' Linq101Aggregates01/'Pipe #6 input at line 90@95-4'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@95-4'::.cctor + } // end of method 'Pipe #6 input at line 90@95-4'::.cctor - } // end of class 'Pipe #6 input@95-4' + } // end of class 'Pipe #6 input at line 90@95-4' .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -6076,7 +6076,7 @@ .maxstack 7 .locals init ([0] string w, [1] float64 wl, - [2] int32 'Pipe #1 input') + [2] int32 'Pipe #1 input at line 106') .line 105,105 : 9,26 '' IL_0000: ldarg.1 IL_0001: stloc.0 @@ -6151,7 +6151,7 @@ } // end of class 'averageLength@107-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@113' + .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@ @@ -6169,9 +6169,9 @@ 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 Linq101Aggregates01/'Pipe #7 input@113'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input at line 112@113'::builder@ IL_000d: ret - } // end of method 'Pipe #7 input@113'::.ctor + } // end of method 'Pipe #7 input at line 112@113'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -6184,19 +6184,19 @@ IL_0001: stloc.0 .line 114,114 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@113'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'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 - } // end of method 'Pipe #7 input@113'::Invoke + } // end of method 'Pipe #7 input at line 112@113'::Invoke - } // end of class 'Pipe #7 input@113' + } // end of class 'Pipe #7 input at line 112@113' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-1' + .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 Linq101Aggregates01/'Pipe #7 input@114-1' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input at line 112@114-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6207,7 +6207,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #7 input@114-1'::.ctor + } // end of method 'Pipe #7 input at line 112@114-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -6217,24 +6217,24 @@ .line 114,114 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #7 input@114-1'::Invoke + } // end of method 'Pipe #7 input at line 112@114-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-1'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@114-1' Linq101Aggregates01/'Pipe #7 input@114-1'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input at line 112@114-1'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input at line 112@114-1' Linq101Aggregates01/'Pipe #7 input at line 112@114-1'::@_instance IL_000a: ret - } // end of method 'Pipe #7 input@114-1'::.cctor + } // end of method 'Pipe #7 input at line 112@114-1'::.cctor - } // end of class 'Pipe #7 input@114-1' + } // end of class 'Pipe #7 input at line 112@114-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-2' + .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 Linq101Aggregates01/'Pipe #7 input@114-2' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input at line 112@114-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6245,7 +6245,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #7 input@114-2'::.ctor + } // end of method 'Pipe #7 input at line 112@114-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -6257,19 +6257,19 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #7 input@114-2'::Invoke + } // end of method 'Pipe #7 input at line 112@114-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-2'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@114-2' Linq101Aggregates01/'Pipe #7 input@114-2'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input at line 112@114-2'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input at line 112@114-2' Linq101Aggregates01/'Pipe #7 input at line 112@114-2'::@_instance IL_000a: ret - } // end of method 'Pipe #7 input@114-2'::.cctor + } // end of method 'Pipe #7 input at line 112@114-2'::.cctor - } // end of class 'Pipe #7 input@114-2' + } // end of class 'Pipe #7 input at line 112@114-2' .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -6616,7 +6616,7 @@ } // end of class 'averagePrice@115-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@114-3' + .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 [mscorlib]System.Decimal>,object>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -6634,9 +6634,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@114-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input at line 112@114-3'::builder@ IL_000d: ret - } // end of method 'Pipe #7 input@114-3'::.ctor + } // end of method 'Pipe #7 input at line 112@114-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [mscorlib]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed @@ -6772,7 +6772,7 @@ IL_00c2: stloc.1 .line 116,116 : 9,37 '' IL_00c3: ldarg.0 - IL_00c4: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input@114-3'::builder@ + IL_00c4: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Aggregates01/'Pipe #7 input at line 112@114-3'::builder@ IL_00c9: ldloc.0 IL_00ca: ldloc.1 IL_00cb: newobj instance void class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>::.ctor(!0, @@ -6780,14 +6780,14 @@ IL_00d0: tail. IL_00d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [mscorlib]System.Decimal>,object>(!!0) IL_00d7: ret - } // end of method 'Pipe #7 input@114-3'::Invoke + } // end of method 'Pipe #7 input at line 112@114-3'::Invoke - } // end of class 'Pipe #7 input@114-3' + } // end of class 'Pipe #7 input at line 112@114-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@116-4' + .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 [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input@116-4' @_instance + .field static assembly initonly class Linq101Aggregates01/'Pipe #7 input at line 112@116-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -6798,7 +6798,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #7 input@116-4'::.ctor + } // end of method 'Pipe #7 input at line 112@116-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal> tupledArg) cil managed @@ -6821,19 +6821,19 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'Pipe #7 input@116-4'::Invoke + } // end of method 'Pipe #7 input at line 112@116-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input@116-4'::.ctor() - IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input@116-4' Linq101Aggregates01/'Pipe #7 input@116-4'::@_instance + IL_0000: newobj instance void Linq101Aggregates01/'Pipe #7 input at line 112@116-4'::.ctor() + IL_0005: stsfld class Linq101Aggregates01/'Pipe #7 input at line 112@116-4' Linq101Aggregates01/'Pipe #7 input at line 112@116-4'::@_instance IL_000a: ret - } // end of method 'Pipe #7 input@116-4'::.cctor + } // end of method 'Pipe #7 input at line 112@116-4'::.cctor - } // end of class 'Pipe #7 input@116-4' + } // end of class 'Pipe #7 input at line 112@116-4' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed @@ -7200,7 +7200,7 @@ [17] float64 averageNum, [18] float64 averageLength, [19] class [mscorlib]System.Tuple`2[] categories6, - [20] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [20] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 11', [21] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, [22] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, [23] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, @@ -7220,15 +7220,15 @@ [37] int32 V_37, [38] int32 V_38, [39] class [mscorlib]System.IDisposable V_39, - [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', + [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input at line 38', [41] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_41, - [42] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [42] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input at line 56', [43] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43, - [44] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #4 input', + [44] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #4 input at line 65', [45] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_45, - [46] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input', + [46] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input at line 81', [47] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_47, - [48] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #6 input', + [48] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #6 input at line 90', [49] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_49, [50] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_50, [51] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_51, @@ -7254,7 +7254,7 @@ [71] float64 V_71, [72] int32 V_72, [73] class [mscorlib]System.IDisposable V_73, - [74] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input', + [74] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input at line 112', [75] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_75) .line 8,8 : 1,31 '' IL_0000: ldc.i4.2 @@ -7285,15 +7285,15 @@ IL_0034: ldnull IL_0035: ldc.i4.0 IL_0036: ldc.i4.0 - IL_0037: newobj instance void Linq101Aggregates01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0037: newobj instance void Linq101Aggregates01/'Pipe #1 input at line 11@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0041: 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_0046: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_004b: stloc.s 'Pipe #1 input' + IL_004b: stloc.s 'Pipe #1 input at line 11' .line 14,14 : 10,20 '' - IL_004d: ldloc.s 'Pipe #1 input' + IL_004d: ldloc.s 'Pipe #1 input at line 11' IL_004f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0054: dup IL_0055: stsfld int32 ''.$Linq101Aggregates01::uniqueFactors@10 @@ -7495,25 +7495,25 @@ IL_01e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01ed: ldloc.s V_41 - IL_01ef: newobj instance void Linq101Aggregates01/'Pipe #2 input@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01ef: newobj instance void Linq101Aggregates01/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_01f4: 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_01f9: ldsfld class Linq101Aggregates01/'Pipe #2 input@40-1' Linq101Aggregates01/'Pipe #2 input@40-1'::@_instance - IL_01fe: ldsfld class Linq101Aggregates01/'Pipe #2 input@40-2' Linq101Aggregates01/'Pipe #2 input@40-2'::@_instance + IL_01f9: ldsfld class Linq101Aggregates01/'Pipe #2 input at line 38@40-1' Linq101Aggregates01/'Pipe #2 input at line 38@40-1'::@_instance + IL_01fe: ldsfld class Linq101Aggregates01/'Pipe #2 input at line 38@40-2' Linq101Aggregates01/'Pipe #2 input at line 38@40-2'::@_instance IL_0203: 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_0208: ldloc.s V_41 - IL_020a: newobj instance void Linq101Aggregates01/'Pipe #2 input@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_020a: newobj instance void Linq101Aggregates01/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_020f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0214: ldsfld class Linq101Aggregates01/'Pipe #2 input@45-4' Linq101Aggregates01/'Pipe #2 input@45-4'::@_instance + IL_0214: ldsfld class Linq101Aggregates01/'Pipe #2 input at line 38@45-4' Linq101Aggregates01/'Pipe #2 input at line 38@45-4'::@_instance IL_0219: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_021e: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0223: stloc.s 'Pipe #2 input' + IL_0223: stloc.s 'Pipe #2 input at line 38' .line 46,46 : 10,21 '' - IL_0225: ldloc.s 'Pipe #2 input' + IL_0225: ldloc.s 'Pipe #2 input at line 38' IL_0227: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_022c: dup IL_022d: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories@37 @@ -7559,25 +7559,25 @@ IL_028e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_0293: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0298: ldloc.s V_43 - IL_029a: newobj instance void Linq101Aggregates01/'Pipe #3 input@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_029a: newobj instance void Linq101Aggregates01/'Pipe #3 input at line 56@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_029f: 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_02a4: ldsfld class Linq101Aggregates01/'Pipe #3 input@58-1' Linq101Aggregates01/'Pipe #3 input@58-1'::@_instance - IL_02a9: ldsfld class Linq101Aggregates01/'Pipe #3 input@58-2' Linq101Aggregates01/'Pipe #3 input@58-2'::@_instance + IL_02a4: ldsfld class Linq101Aggregates01/'Pipe #3 input at line 56@58-1' Linq101Aggregates01/'Pipe #3 input at line 56@58-1'::@_instance + IL_02a9: ldsfld class Linq101Aggregates01/'Pipe #3 input at line 56@58-2' Linq101Aggregates01/'Pipe #3 input at line 56@58-2'::@_instance IL_02ae: 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_02b3: ldloc.s V_43 - IL_02b5: newobj instance void Linq101Aggregates01/'Pipe #3 input@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02b5: newobj instance void Linq101Aggregates01/'Pipe #3 input at line 56@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_02ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_02bf: ldsfld class Linq101Aggregates01/'Pipe #3 input@60-4' Linq101Aggregates01/'Pipe #3 input@60-4'::@_instance + IL_02bf: ldsfld class Linq101Aggregates01/'Pipe #3 input at line 56@60-4' Linq101Aggregates01/'Pipe #3 input at line 56@60-4'::@_instance IL_02c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_02c9: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_02ce: stloc.s 'Pipe #3 input' + IL_02ce: stloc.s 'Pipe #3 input at line 56' .line 61,61 : 10,21 '' - IL_02d0: ldloc.s 'Pipe #3 input' + IL_02d0: ldloc.s 'Pipe #3 input at line 56' IL_02d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_02d7: dup IL_02d8: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories2@55 @@ -7595,25 +7595,25 @@ IL_02f1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_02f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_02fb: ldloc.s V_45 - IL_02fd: newobj instance void Linq101Aggregates01/'Pipe #4 input@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02fd: newobj instance void Linq101Aggregates01/'Pipe #4 input at line 65@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0302: 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_0307: ldsfld class Linq101Aggregates01/'Pipe #4 input@67-1' Linq101Aggregates01/'Pipe #4 input@67-1'::@_instance - IL_030c: ldsfld class Linq101Aggregates01/'Pipe #4 input@67-2' Linq101Aggregates01/'Pipe #4 input@67-2'::@_instance + IL_0307: ldsfld class Linq101Aggregates01/'Pipe #4 input at line 65@67-1' Linq101Aggregates01/'Pipe #4 input at line 65@67-1'::@_instance + IL_030c: ldsfld class Linq101Aggregates01/'Pipe #4 input at line 65@67-2' Linq101Aggregates01/'Pipe #4 input at line 65@67-2'::@_instance IL_0311: 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_0316: ldloc.s V_45 - IL_0318: newobj instance void Linq101Aggregates01/'Pipe #4 input@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0318: newobj instance void Linq101Aggregates01/'Pipe #4 input at line 65@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_031d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0322: ldsfld class Linq101Aggregates01/'Pipe #4 input@70-4' Linq101Aggregates01/'Pipe #4 input@70-4'::@_instance + IL_0322: ldsfld class Linq101Aggregates01/'Pipe #4 input at line 65@70-4' Linq101Aggregates01/'Pipe #4 input at line 65@70-4'::@_instance IL_0327: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_032c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0331: stloc.s 'Pipe #4 input' + IL_0331: stloc.s 'Pipe #4 input at line 65' .line 71,71 : 10,21 '' - IL_0333: ldloc.s 'Pipe #4 input' + IL_0333: ldloc.s 'Pipe #4 input at line 65' IL_0335: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_033a: dup IL_033b: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories3@64 @@ -7659,25 +7659,25 @@ IL_039c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_03a1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_03a6: ldloc.s V_47 - IL_03a8: newobj instance void Linq101Aggregates01/'Pipe #5 input@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03a8: newobj instance void Linq101Aggregates01/'Pipe #5 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_03ad: 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_03b2: ldsfld class Linq101Aggregates01/'Pipe #5 input@83-1' Linq101Aggregates01/'Pipe #5 input@83-1'::@_instance - IL_03b7: ldsfld class Linq101Aggregates01/'Pipe #5 input@83-2' Linq101Aggregates01/'Pipe #5 input@83-2'::@_instance + IL_03b2: ldsfld class Linq101Aggregates01/'Pipe #5 input at line 81@83-1' Linq101Aggregates01/'Pipe #5 input at line 81@83-1'::@_instance + IL_03b7: ldsfld class Linq101Aggregates01/'Pipe #5 input at line 81@83-2' Linq101Aggregates01/'Pipe #5 input at line 81@83-2'::@_instance IL_03bc: 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_03c1: ldloc.s V_47 - IL_03c3: newobj instance void Linq101Aggregates01/'Pipe #5 input@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03c3: newobj instance void Linq101Aggregates01/'Pipe #5 input at line 81@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_03c8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03cd: ldsfld class Linq101Aggregates01/'Pipe #5 input@85-4' Linq101Aggregates01/'Pipe #5 input@85-4'::@_instance + IL_03cd: ldsfld class Linq101Aggregates01/'Pipe #5 input at line 81@85-4' Linq101Aggregates01/'Pipe #5 input at line 81@85-4'::@_instance IL_03d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_03d7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_03dc: stloc.s 'Pipe #5 input' + IL_03dc: stloc.s 'Pipe #5 input at line 81' .line 86,86 : 10,21 '' - IL_03de: ldloc.s 'Pipe #5 input' + IL_03de: ldloc.s 'Pipe #5 input at line 81' IL_03e0: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_03e5: dup IL_03e6: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories4@80 @@ -7695,25 +7695,25 @@ IL_03ff: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_0404: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0409: ldloc.s V_49 - IL_040b: newobj instance void Linq101Aggregates01/'Pipe #6 input@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_040b: newobj instance void Linq101Aggregates01/'Pipe #6 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0410: 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_0415: ldsfld class Linq101Aggregates01/'Pipe #6 input@92-1' Linq101Aggregates01/'Pipe #6 input@92-1'::@_instance - IL_041a: ldsfld class Linq101Aggregates01/'Pipe #6 input@92-2' Linq101Aggregates01/'Pipe #6 input@92-2'::@_instance + IL_0415: ldsfld class Linq101Aggregates01/'Pipe #6 input at line 90@92-1' Linq101Aggregates01/'Pipe #6 input at line 90@92-1'::@_instance + IL_041a: ldsfld class Linq101Aggregates01/'Pipe #6 input at line 90@92-2' Linq101Aggregates01/'Pipe #6 input at line 90@92-2'::@_instance IL_041f: 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_0424: ldloc.s V_49 - IL_0426: newobj instance void Linq101Aggregates01/'Pipe #6 input@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0426: newobj instance void Linq101Aggregates01/'Pipe #6 input at line 90@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_042b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0430: ldsfld class Linq101Aggregates01/'Pipe #6 input@95-4' Linq101Aggregates01/'Pipe #6 input@95-4'::@_instance + IL_0430: ldsfld class Linq101Aggregates01/'Pipe #6 input at line 90@95-4' Linq101Aggregates01/'Pipe #6 input at line 90@95-4'::@_instance IL_0435: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal,class [mscorlib]System.Collections.Generic.IEnumerable`1>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_043a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_043f: stloc.s 'Pipe #6 input' + IL_043f: stloc.s 'Pipe #6 input at line 90' .line 96,96 : 10,21 '' - IL_0441: ldloc.s 'Pipe #6 input' + IL_0441: ldloc.s 'Pipe #6 input at line 90' IL_0443: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0448: dup IL_0449: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Aggregates01::categories5@89 @@ -7965,25 +7965,25 @@ IL_068a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_products() IL_068f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0694: ldloc.s V_75 - IL_0696: newobj instance void Linq101Aggregates01/'Pipe #7 input@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0696: newobj instance void Linq101Aggregates01/'Pipe #7 input at line 112@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_069b: 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_06a0: ldsfld class Linq101Aggregates01/'Pipe #7 input@114-1' Linq101Aggregates01/'Pipe #7 input@114-1'::@_instance - IL_06a5: ldsfld class Linq101Aggregates01/'Pipe #7 input@114-2' Linq101Aggregates01/'Pipe #7 input@114-2'::@_instance + IL_06a0: ldsfld class Linq101Aggregates01/'Pipe #7 input at line 112@114-1' Linq101Aggregates01/'Pipe #7 input at line 112@114-1'::@_instance + IL_06a5: ldsfld class Linq101Aggregates01/'Pipe #7 input at line 112@114-2' Linq101Aggregates01/'Pipe #7 input at line 112@114-2'::@_instance IL_06aa: 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_06af: ldloc.s V_75 - IL_06b1: newobj instance void Linq101Aggregates01/'Pipe #7 input@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_06b1: newobj instance void Linq101Aggregates01/'Pipe #7 input at line 112@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_06b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,valuetype [mscorlib]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_06bb: ldsfld class Linq101Aggregates01/'Pipe #7 input@116-4' Linq101Aggregates01/'Pipe #7 input@116-4'::@_instance + IL_06bb: ldsfld class Linq101Aggregates01/'Pipe #7 input at line 112@116-4' Linq101Aggregates01/'Pipe #7 input at line 112@116-4'::@_instance IL_06c0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [mscorlib]System.Decimal>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_06c5: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_06ca: stloc.s 'Pipe #7 input' + IL_06ca: stloc.s 'Pipe #7 input at line 112' .line 117,117 : 10,21 '' - IL_06cc: ldloc.s 'Pipe #7 input' + IL_06cc: ldloc.s 'Pipe #7 input at line 112' IL_06ce: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_06d3: dup IL_06d4: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Aggregates01::categories6@111 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl index da94eb56be..2ca5a307b2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Grouping01.il.bsl @@ -50,13 +50,13 @@ // Offset: 0x00000408 Length: 0x00000129 } .module Linq101Grouping01.exe -// MVID: {6116A45B-FB79-E5BF-A745-03835BA41661} +// MVID: {611B0EC5-FB79-E5BF-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AB0000 +// Image base: 0x053C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -65,7 +65,7 @@ extends [mscorlib]System.Object { .custom instance 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@14' + .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@ @@ -83,9 +83,9 @@ 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 Linq101Grouping01/'Pipe #1 input@14'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input at line 13@14'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@14'::.ctor + } // end of method 'Pipe #1 input at line 13@14'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -99,19 +99,19 @@ IL_0001: stloc.0 .line 15,15 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@14'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #1 input@14'::Invoke + } // end of method 'Pipe #1 input at line 13@14'::Invoke - } // end of class 'Pipe #1 input@14' + } // end of class 'Pipe #1 input at line 13@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-1' + .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 Linq101Grouping01/'Pipe #1 input@15-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input at line 13@15-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -122,7 +122,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@15-1'::.ctor + } // end of method 'Pipe #1 input at line 13@15-1'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -132,24 +132,24 @@ .line 15,15 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #1 input@15-1'::Invoke + } // end of method 'Pipe #1 input at line 13@15-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@15-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@15-1' Linq101Grouping01/'Pipe #1 input@15-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input at line 13@15-1' Linq101Grouping01/'Pipe #1 input at line 13@15-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@15-1'::.cctor + } // end of method 'Pipe #1 input at line 13@15-1'::.cctor - } // end of class 'Pipe #1 input@15-1' + } // end of class 'Pipe #1 input at line 13@15-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-2' + .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 Linq101Grouping01/'Pipe #1 input@15-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input at line 13@15-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -160,7 +160,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@15-2'::.ctor + } // end of method 'Pipe #1 input at line 13@15-2'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -172,21 +172,21 @@ IL_0001: ldc.i4.5 IL_0002: rem IL_0003: ret - } // end of method 'Pipe #1 input@15-2'::Invoke + } // end of method 'Pipe #1 input at line 13@15-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@15-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@15-2' Linq101Grouping01/'Pipe #1 input@15-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input at line 13@15-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input at line 13@15-2' Linq101Grouping01/'Pipe #1 input at line 13@15-2'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@15-2'::.cctor + } // end of method 'Pipe #1 input at line 13@15-2'::.cctor - } // end of class 'Pipe #1 input@15-2' + } // end of class 'Pipe #1 input at line 13@15-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-3' + .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@ @@ -204,9 +204,9 @@ 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 Linq101Grouping01/'Pipe #1 input@15-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input at line 13@15-3'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@15-3'::.ctor + } // end of method 'Pipe #1 input at line 13@15-3'::.ctor .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 @@ -218,19 +218,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #1 input@15-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #1 input@15-3'::Invoke + } // end of method 'Pipe #1 input at line 13@15-3'::Invoke - } // end of class 'Pipe #1 input@15-3' + } // end of class 'Pipe #1 input at line 13@15-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@16-4' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'Pipe #1 input@16-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #1 input at line 13@16-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -241,7 +241,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@16-4'::.ctor + } // end of method 'Pipe #1 input at line 13@16-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -256,21 +256,21 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'Pipe #1 input@16-4'::Invoke + } // end of method 'Pipe #1 input at line 13@16-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input@16-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input@16-4' Linq101Grouping01/'Pipe #1 input@16-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #1 input at line 13@16-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #1 input at line 13@16-4' Linq101Grouping01/'Pipe #1 input at line 13@16-4'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@16-4'::.cctor + } // end of method 'Pipe #1 input at line 13@16-4'::.cctor - } // end of class 'Pipe #1 input@16-4' + } // end of class 'Pipe #1 input at line 13@16-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@24' + .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@ @@ -288,9 +288,9 @@ 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 Linq101Grouping01/'Pipe #2 input@24'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input at line 23@24'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@24'::.ctor + } // end of method 'Pipe #2 input at line 23@24'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed @@ -303,19 +303,19 @@ IL_0001: stloc.0 .line 25,25 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@24'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #2 input@24'::Invoke + } // end of method 'Pipe #2 input at line 23@24'::Invoke - } // end of class 'Pipe #2 input@24' + } // end of class 'Pipe #2 input at line 23@24' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@25-1' + .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 Linq101Grouping01/'Pipe #2 input@25-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input at line 23@25-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -326,7 +326,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@25-1'::.ctor + } // end of method 'Pipe #2 input at line 23@25-1'::.ctor .method public strict virtual instance string Invoke(string w) cil managed @@ -336,24 +336,24 @@ .line 25,25 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #2 input@25-1'::Invoke + } // end of method 'Pipe #2 input at line 23@25-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@25-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@25-1' Linq101Grouping01/'Pipe #2 input@25-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input at line 23@25-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input at line 23@25-1' Linq101Grouping01/'Pipe #2 input at line 23@25-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@25-1'::.cctor + } // end of method 'Pipe #2 input at line 23@25-1'::.cctor - } // end of class 'Pipe #2 input@25-1' + } // end of class 'Pipe #2 input at line 23@25-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@25-2' + .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 Linq101Grouping01/'Pipe #2 input@25-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input at line 23@25-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -364,7 +364,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@25-2'::.ctor + } // end of method 'Pipe #2 input at line 23@25-2'::.ctor .method public strict virtual instance char Invoke(string w) cil managed @@ -376,21 +376,21 @@ IL_0001: ldc.i4.0 IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) IL_0007: ret - } // end of method 'Pipe #2 input@25-2'::Invoke + } // end of method 'Pipe #2 input at line 23@25-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@25-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@25-2' Linq101Grouping01/'Pipe #2 input@25-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input at line 23@25-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input at line 23@25-2' Linq101Grouping01/'Pipe #2 input at line 23@25-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@25-2'::.cctor + } // end of method 'Pipe #2 input at line 23@25-2'::.cctor - } // end of class 'Pipe #2 input@25-2' + } // end of class 'Pipe #2 input at line 23@25-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@25-3' + .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@ @@ -408,9 +408,9 @@ 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 Linq101Grouping01/'Pipe #2 input@25-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input at line 23@25-3'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@25-3'::.ctor + } // end of method 'Pipe #2 input at line 23@25-3'::.ctor .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 @@ -422,19 +422,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #2 input@25-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #2 input@25-3'::Invoke + } // end of method 'Pipe #2 input at line 23@25-3'::Invoke - } // end of class 'Pipe #2 input@25-3' + } // end of class 'Pipe #2 input at line 23@25-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@26-4' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'Pipe #2 input@26-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #2 input at line 23@26-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -445,7 +445,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@26-4'::.ctor + } // end of method 'Pipe #2 input at line 23@26-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -460,21 +460,21 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'Pipe #2 input@26-4'::Invoke + } // end of method 'Pipe #2 input at line 23@26-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input@26-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input@26-4' Linq101Grouping01/'Pipe #2 input@26-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #2 input at line 23@26-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #2 input at line 23@26-4' Linq101Grouping01/'Pipe #2 input at line 23@26-4'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@26-4'::.cctor + } // end of method 'Pipe #2 input at line 23@26-4'::.cctor - } // end of class 'Pipe #2 input@26-4' + } // end of class 'Pipe #2 input at line 23@26-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@34' + .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@ @@ -492,9 +492,9 @@ 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 Linq101Grouping01/'Pipe #3 input@34'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input at line 33@34'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@34'::.ctor + } // end of method 'Pipe #3 input at line 33@34'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -507,19 +507,19 @@ IL_0001: stloc.0 .line 35,35 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@34'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #3 input@34'::Invoke + } // end of method 'Pipe #3 input at line 33@34'::Invoke - } // end of class 'Pipe #3 input@34' + } // end of class 'Pipe #3 input at line 33@34' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@35-1' + .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 Linq101Grouping01/'Pipe #3 input@35-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input at line 33@35-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -530,7 +530,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@35-1'::.ctor + } // end of method 'Pipe #3 input at line 33@35-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -540,24 +540,24 @@ .line 35,35 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #3 input@35-1'::Invoke + } // end of method 'Pipe #3 input at line 33@35-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@35-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@35-1' Linq101Grouping01/'Pipe #3 input@35-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input at line 33@35-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input at line 33@35-1' Linq101Grouping01/'Pipe #3 input at line 33@35-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@35-1'::.cctor + } // end of method 'Pipe #3 input at line 33@35-1'::.cctor - } // end of class 'Pipe #3 input@35-1' + } // end of class 'Pipe #3 input at line 33@35-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@35-2' + .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 Linq101Grouping01/'Pipe #3 input@35-2' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input at line 33@35-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -568,7 +568,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@35-2'::.ctor + } // end of method 'Pipe #3 input at line 33@35-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -580,21 +580,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #3 input@35-2'::Invoke + } // end of method 'Pipe #3 input at line 33@35-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@35-2'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@35-2' Linq101Grouping01/'Pipe #3 input@35-2'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input at line 33@35-2'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input at line 33@35-2' Linq101Grouping01/'Pipe #3 input at line 33@35-2'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@35-2'::.cctor + } // end of method 'Pipe #3 input at line 33@35-2'::.cctor - } // end of class 'Pipe #3 input@35-2' + } // end of class 'Pipe #3 input at line 33@35-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@35-3' + .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@ @@ -612,9 +612,9 @@ 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 Linq101Grouping01/'Pipe #3 input@35-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input at line 33@35-3'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@35-3'::.ctor + } // end of method 'Pipe #3 input at line 33@35-3'::.ctor .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 @@ -626,19 +626,19 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #3 input@35-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'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 - } // end of method 'Pipe #3 input@35-3'::Invoke + } // end of method 'Pipe #3 input at line 33@35-3'::Invoke - } // end of class 'Pipe #3 input@35-3' + } // end of class 'Pipe #3 input at line 33@35-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@36-4' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Grouping01/'Pipe #3 input@36-4' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #3 input at line 33@36-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -649,7 +649,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@36-4'::.ctor + } // end of method 'Pipe #3 input at line 33@36-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -664,19 +664,19 @@ IL_000c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0011: ret - } // end of method 'Pipe #3 input@36-4'::Invoke + } // end of method 'Pipe #3 input at line 33@36-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input@36-4'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input@36-4' Linq101Grouping01/'Pipe #3 input@36-4'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #3 input at line 33@36-4'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #3 input at line 33@36-4' Linq101Grouping01/'Pipe #3 input at line 33@36-4'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@36-4'::.cctor + } // end of method 'Pipe #3 input at line 33@36-4'::.cctor - } // end of class 'Pipe #3 input@36-4' + } // end of class 'Pipe #3 input at line 33@36-4' .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -1134,7 +1134,7 @@ } // end of class 'yearGroups@55-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@44' + .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@ @@ -1152,9 +1152,9 @@ 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 Linq101Grouping01/'Pipe #4 input@44'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #4 input at line 43@44'::builder@ IL_000d: ret - } // end of method 'Pipe #4 input@44'::.ctor + } // end of method 'Pipe #4 input at line 43@44'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -1198,7 +1198,7 @@ IL_004c: stloc.1 .line 57,57 : 9,53 '' IL_004d: ldarg.0 - IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #4 input@44'::builder@ + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Grouping01/'Pipe #4 input at line 43@44'::builder@ IL_0053: ldloc.0 IL_0054: ldloc.1 IL_0055: newobj instance void class [mscorlib]System.Tuple`2[]>>>::.ctor(!0, @@ -1206,14 +1206,14 @@ 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 - } // end of method 'Pipe #4 input@44'::Invoke + } // end of method 'Pipe #4 input at line 43@44'::Invoke - } // end of class 'Pipe #4 input@44' + } // end of class 'Pipe #4 input at line 43@44' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@57-1' + .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 [mscorlib]System.Tuple`2[]>[]>> { - .field static assembly initonly class Linq101Grouping01/'Pipe #4 input@57-1' @_instance + .field static assembly initonly class Linq101Grouping01/'Pipe #4 input at line 43@57-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1224,7 +1224,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [mscorlib]System.Tuple`2[]>[]>>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@57-1'::.ctor + } // end of method 'Pipe #4 input at line 43@57-1'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2[]>[]> Invoke(class [mscorlib]System.Tuple`2[]>>> tupledArg) cil managed @@ -1248,19 +1248,19 @@ IL_001a: newobj instance void class [mscorlib]System.Tuple`2[]>[]>::.ctor(!0, !1) IL_001f: ret - } // end of method 'Pipe #4 input@57-1'::Invoke + } // end of method 'Pipe #4 input at line 43@57-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Grouping01/'Pipe #4 input@57-1'::.ctor() - IL_0005: stsfld class Linq101Grouping01/'Pipe #4 input@57-1' Linq101Grouping01/'Pipe #4 input@57-1'::@_instance + IL_0000: newobj instance void Linq101Grouping01/'Pipe #4 input at line 43@57-1'::.ctor() + IL_0005: stsfld class Linq101Grouping01/'Pipe #4 input at line 43@57-1' Linq101Grouping01/'Pipe #4 input at line 43@57-1'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@57-1'::.cctor + } // end of method 'Pipe #4 input at line 43@57-1'::.cctor - } // end of class 'Pipe #4 input@57-1' + } // end of class 'Pipe #4 input at line 43@57-1' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed @@ -1438,13 +1438,13 @@ [6] class [mscorlib]System.Tuple`2[] orderGroups, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers, [8] class [mscorlib]System.Tuple`2[]>[]>[] customerOrderGroups, - [9] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input', + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input at line 13', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, - [11] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', + [11] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input at line 23', [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input at line 33', [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, - [15] class [mscorlib]System.Collections.Generic.IEnumerable`1[]>[]>> 'Pipe #4 input', + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1[]>[]>> 'Pipe #4 input at line 43', [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16) .line 7,7 : 1,96 '' IL_0000: ldstr "zero" @@ -1529,25 +1529,25 @@ IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_numbers() IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00d5: ldloc.s V_10 - IL_00d7: newobj instance void Linq101Grouping01/'Pipe #1 input@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d7: newobj instance void Linq101Grouping01/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00dc: 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_00e1: ldsfld class Linq101Grouping01/'Pipe #1 input@15-1' Linq101Grouping01/'Pipe #1 input@15-1'::@_instance - IL_00e6: ldsfld class Linq101Grouping01/'Pipe #1 input@15-2' Linq101Grouping01/'Pipe #1 input@15-2'::@_instance + IL_00e1: ldsfld class Linq101Grouping01/'Pipe #1 input at line 13@15-1' Linq101Grouping01/'Pipe #1 input at line 13@15-1'::@_instance + IL_00e6: ldsfld class Linq101Grouping01/'Pipe #1 input at line 13@15-2' Linq101Grouping01/'Pipe #1 input at line 13@15-2'::@_instance IL_00eb: 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_00f0: ldloc.s V_10 - IL_00f2: newobj instance void Linq101Grouping01/'Pipe #1 input@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00f2: newobj instance void Linq101Grouping01/'Pipe #1 input at line 13@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_00fc: ldsfld class Linq101Grouping01/'Pipe #1 input@16-4' Linq101Grouping01/'Pipe #1 input@16-4'::@_instance + IL_00fc: ldsfld class Linq101Grouping01/'Pipe #1 input at line 13@16-4' Linq101Grouping01/'Pipe #1 input at line 13@16-4'::@_instance IL_0101: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0106: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_010b: stloc.s 'Pipe #1 input' + IL_010b: stloc.s 'Pipe #1 input at line 13' .line 17,17 : 10,21 '' - IL_010d: ldloc.s 'Pipe #1 input' + IL_010d: ldloc.s 'Pipe #1 input at line 13' IL_010f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0114: dup IL_0115: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::numberGroups@12 @@ -1588,25 +1588,25 @@ IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_words() IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_017f: ldloc.s V_12 - IL_0181: newobj instance void Linq101Grouping01/'Pipe #2 input@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0181: newobj instance void Linq101Grouping01/'Pipe #2 input at line 23@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0186: 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_018b: ldsfld class Linq101Grouping01/'Pipe #2 input@25-1' Linq101Grouping01/'Pipe #2 input@25-1'::@_instance - IL_0190: ldsfld class Linq101Grouping01/'Pipe #2 input@25-2' Linq101Grouping01/'Pipe #2 input@25-2'::@_instance + IL_018b: ldsfld class Linq101Grouping01/'Pipe #2 input at line 23@25-1' Linq101Grouping01/'Pipe #2 input at line 23@25-1'::@_instance + IL_0190: ldsfld class Linq101Grouping01/'Pipe #2 input at line 23@25-2' Linq101Grouping01/'Pipe #2 input at line 23@25-2'::@_instance IL_0195: 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_019a: ldloc.s V_12 - IL_019c: newobj instance void Linq101Grouping01/'Pipe #2 input@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_019c: newobj instance void Linq101Grouping01/'Pipe #2 input at line 23@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_01a1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_01a6: ldsfld class Linq101Grouping01/'Pipe #2 input@26-4' Linq101Grouping01/'Pipe #2 input@26-4'::@_instance + IL_01a6: ldsfld class Linq101Grouping01/'Pipe #2 input at line 23@26-4' Linq101Grouping01/'Pipe #2 input at line 23@26-4'::@_instance IL_01ab: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_01b0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_01b5: stloc.s 'Pipe #2 input' + IL_01b5: stloc.s 'Pipe #2 input at line 23' .line 27,27 : 10,21 '' - IL_01b7: ldloc.s 'Pipe #2 input' + IL_01b7: ldloc.s 'Pipe #2 input at line 23' IL_01b9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01be: dup IL_01bf: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::wordGroups@22 @@ -1629,25 +1629,25 @@ IL_01e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_products() IL_01ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01ef: ldloc.s V_14 - IL_01f1: newobj instance void Linq101Grouping01/'Pipe #3 input@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f1: newobj instance void Linq101Grouping01/'Pipe #3 input at line 33@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_01f6: 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_01fb: ldsfld class Linq101Grouping01/'Pipe #3 input@35-1' Linq101Grouping01/'Pipe #3 input@35-1'::@_instance - IL_0200: ldsfld class Linq101Grouping01/'Pipe #3 input@35-2' Linq101Grouping01/'Pipe #3 input@35-2'::@_instance + IL_01fb: ldsfld class Linq101Grouping01/'Pipe #3 input at line 33@35-1' Linq101Grouping01/'Pipe #3 input at line 33@35-1'::@_instance + IL_0200: ldsfld class Linq101Grouping01/'Pipe #3 input at line 33@35-2' Linq101Grouping01/'Pipe #3 input at line 33@35-2'::@_instance IL_0205: 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_020a: ldloc.s V_14 - IL_020c: newobj instance void Linq101Grouping01/'Pipe #3 input@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_020c: newobj instance void Linq101Grouping01/'Pipe #3 input at line 33@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0211: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_0216: ldsfld class Linq101Grouping01/'Pipe #3 input@36-4' Linq101Grouping01/'Pipe #3 input@36-4'::@_instance + IL_0216: ldsfld class Linq101Grouping01/'Pipe #3 input at line 33@36-4' Linq101Grouping01/'Pipe #3 input at line 33@36-4'::@_instance IL_021b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0220: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0225: stloc.s 'Pipe #3 input' + IL_0225: stloc.s 'Pipe #3 input at line 33' .line 37,37 : 10,21 '' - IL_0227: ldloc.s 'Pipe #3 input' + IL_0227: ldloc.s 'Pipe #3 input at line 33' IL_0229: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_022e: dup IL_022f: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Grouping01::orderGroups@32 @@ -1668,16 +1668,16 @@ IL_0251: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Grouping01::get_customers() IL_0256: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_025b: ldloc.s V_16 - IL_025d: newobj instance void Linq101Grouping01/'Pipe #4 input@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_025d: newobj instance void Linq101Grouping01/'Pipe #4 input at line 43@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0262: 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_0267: ldsfld class Linq101Grouping01/'Pipe #4 input@57-1' Linq101Grouping01/'Pipe #4 input@57-1'::@_instance + IL_0267: ldsfld class Linq101Grouping01/'Pipe #4 input at line 43@57-1' Linq101Grouping01/'Pipe #4 input at line 43@57-1'::@_instance IL_026c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0271: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0276: stloc.s 'Pipe #4 input' + IL_0276: stloc.s 'Pipe #4 input at line 43' .line 58,58 : 10,21 '' - IL_0278: ldloc.s 'Pipe #4 input' + IL_0278: ldloc.s 'Pipe #4 input at line 43' IL_027a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_027f: dup IL_0280: stsfld class [mscorlib]System.Tuple`2[]>[]>[] ''.$Linq101Grouping01::customerOrderGroups@42 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl index 6fd8411f17..38771a7283 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000310 Length: 0x000000C3 } .module Linq101Joins01.exe -// MVID: {6116A45B-151B-685E-A745-03835BA41661} +// MVID: {611B0EC5-151B-685E-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CA0000 +// Image base: 0x06D00000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,10 +60,10 @@ extends [mscorlib]System.Object { .custom instance 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@14' + .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 Linq101Joins01/'Pipe #1 input@14' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input at line 12@14' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -74,7 +74,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@14'::.ctor + } // end of method 'Pipe #1 input at line 12@14'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -85,24 +85,24 @@ .line 14,14 : 32,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Joins01.fs' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #1 input@14'::Invoke + } // end of method 'Pipe #1 input at line 12@14'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14' Linq101Joins01/'Pipe #1 input@14'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input at line 12@14'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input at line 12@14' Linq101Joins01/'Pipe #1 input at line 12@14'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@14'::.cctor + } // end of method 'Pipe #1 input at line 12@14'::.cctor - } // end of class 'Pipe #1 input@14' + } // end of class 'Pipe #1 input at line 12@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14-1' + .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 Linq101Joins01/'Pipe #1 input@14-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input at line 12@14-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -113,7 +113,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@14-1'::.ctor + } // end of method 'Pipe #1 input at line 12@14-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -125,24 +125,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #1 input@14-1'::Invoke + } // end of method 'Pipe #1 input at line 12@14-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14-1' Linq101Joins01/'Pipe #1 input@14-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input at line 12@14-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input at line 12@14-1' Linq101Joins01/'Pipe #1 input at line 12@14-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@14-1'::.cctor + } // end of method 'Pipe #1 input at line 12@14-1'::.cctor - } // end of class 'Pipe #1 input@14-1' + } // end of class 'Pipe #1 input at line 12@14-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14-2' + .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 Linq101Joins01/'Pipe #1 input@14-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input at line 12@14-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -153,7 +153,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@14-2'::.ctor + } // end of method 'Pipe #1 input at line 12@14-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(string c, @@ -167,21 +167,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0007: ret - } // end of method 'Pipe #1 input@14-2'::Invoke + } // end of method 'Pipe #1 input at line 12@14-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@14-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@14-2' Linq101Joins01/'Pipe #1 input@14-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input at line 12@14-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input at line 12@14-2' Linq101Joins01/'Pipe #1 input at line 12@14-2'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@14-2'::.cctor + } // end of method 'Pipe #1 input at line 12@14-2'::.cctor - } // end of class 'Pipe #1 input@14-2' + } // end of class 'Pipe #1 input at line 12@14-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@14-3' + .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@ @@ -199,9 +199,9 @@ 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 Linq101Joins01/'Pipe #1 input@14-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #1 input at line 12@14-3'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@14-3'::.ctor + } // end of method 'Pipe #1 input at line 12@14-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [mscorlib]System.Tuple`2 _arg1) cil managed @@ -221,7 +221,7 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #1 input@14-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #1 input at line 12@14-3'::builder@ IL_0016: ldloc.2 IL_0017: ldloc.1 IL_0018: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, @@ -229,14 +229,14 @@ 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 - } // end of method 'Pipe #1 input@14-3'::Invoke + } // end of method 'Pipe #1 input at line 12@14-3'::Invoke - } // end of class 'Pipe #1 input@14-3' + } // end of class 'Pipe #1 input at line 12@14-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-4' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'Pipe #1 input@15-4' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #1 input at line 12@15-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -247,7 +247,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@15-4'::.ctor + } // end of method 'Pipe #1 input at line 12@15-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -270,24 +270,24 @@ IL_0015: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_001a: ret - } // end of method 'Pipe #1 input@15-4'::Invoke + } // end of method 'Pipe #1 input at line 12@15-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input@15-4'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #1 input@15-4' Linq101Joins01/'Pipe #1 input@15-4'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #1 input at line 12@15-4'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #1 input at line 12@15-4' Linq101Joins01/'Pipe #1 input at line 12@15-4'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@15-4'::.cctor + } // end of method 'Pipe #1 input at line 12@15-4'::.cctor - } // end of class 'Pipe #1 input@15-4' + } // end of class 'Pipe #1 input at line 12@15-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22' + .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 Linq101Joins01/'Pipe #2 input@22' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input at line 20@22' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -298,7 +298,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@22'::.ctor + } // end of method 'Pipe #2 input at line 20@22'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -308,24 +308,24 @@ .line 22,22 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #2 input@22'::Invoke + } // end of method 'Pipe #2 input at line 20@22'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22' Linq101Joins01/'Pipe #2 input@22'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input at line 20@22'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input at line 20@22' Linq101Joins01/'Pipe #2 input at line 20@22'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@22'::.cctor + } // end of method 'Pipe #2 input at line 20@22'::.cctor - } // end of class 'Pipe #2 input@22' + } // end of class 'Pipe #2 input at line 20@22' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-1' + .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 Linq101Joins01/'Pipe #2 input@22-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input at line 20@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -336,7 +336,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@22-1'::.ctor + } // end of method 'Pipe #2 input at line 20@22-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -348,24 +348,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #2 input@22-1'::Invoke + } // end of method 'Pipe #2 input at line 20@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22-1' Linq101Joins01/'Pipe #2 input@22-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input at line 20@22-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input at line 20@22-1' Linq101Joins01/'Pipe #2 input at line 20@22-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@22-1'::.cctor + } // end of method 'Pipe #2 input at line 20@22-1'::.cctor - } // end of class 'Pipe #2 input@22-1' + } // end of class 'Pipe #2 input at line 20@22-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-2' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'Pipe #2 input@22-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input at line 20@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -376,7 +376,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@22-2'::.ctor + } // end of method 'Pipe #2 input at line 20@22-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -390,21 +390,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'Pipe #2 input@22-2'::Invoke + } // end of method 'Pipe #2 input at line 20@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@22-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@22-2' Linq101Joins01/'Pipe #2 input@22-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input at line 20@22-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input at line 20@22-2' Linq101Joins01/'Pipe #2 input at line 20@22-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@22-2'::.cctor + } // end of method 'Pipe #2 input at line 20@22-2'::.cctor - } // end of class 'Pipe #2 input@22-2' + } // end of class 'Pipe #2 input at line 20@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-3' + .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@ @@ -422,9 +422,9 @@ 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 Linq101Joins01/'Pipe #2 input@22-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #2 input at line 20@22-3'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@22-3'::.ctor + } // end of method 'Pipe #2 input at line 20@22-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -444,7 +444,7 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #2 input@22-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #2 input at line 20@22-3'::builder@ IL_0016: ldloc.2 IL_0017: ldloc.1 IL_0018: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, @@ -452,14 +452,14 @@ 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 - } // end of method 'Pipe #2 input@22-3'::Invoke + } // end of method 'Pipe #2 input at line 20@22-3'::Invoke - } // end of class 'Pipe #2 input@22-3' + } // end of class 'Pipe #2 input at line 20@22-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@23-4' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'Pipe #2 input@23-4' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #2 input at line 20@23-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -470,7 +470,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@23-4'::.ctor + } // end of method 'Pipe #2 input at line 20@23-4'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [mscorlib]System.Tuple`2> tupledArg) cil managed @@ -492,24 +492,24 @@ IL_0010: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0015: ret - } // end of method 'Pipe #2 input@23-4'::Invoke + } // end of method 'Pipe #2 input at line 20@23-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input@23-4'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #2 input@23-4' Linq101Joins01/'Pipe #2 input@23-4'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #2 input at line 20@23-4'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #2 input at line 20@23-4' Linq101Joins01/'Pipe #2 input at line 20@23-4'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@23-4'::.cctor + } // end of method 'Pipe #2 input at line 20@23-4'::.cctor - } // end of class 'Pipe #2 input@23-4' + } // end of class 'Pipe #2 input at line 20@23-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30' + .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 Linq101Joins01/'Pipe #3 input@30' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input at line 28@30' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -520,7 +520,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@30'::.ctor + } // end of method 'Pipe #3 input at line 28@30'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -530,24 +530,24 @@ .line 30,30 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #3 input@30'::Invoke + } // end of method 'Pipe #3 input at line 28@30'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30' Linq101Joins01/'Pipe #3 input@30'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@30'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input at line 28@30' Linq101Joins01/'Pipe #3 input at line 28@30'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@30'::.cctor + } // end of method 'Pipe #3 input at line 28@30'::.cctor - } // end of class 'Pipe #3 input@30' + } // end of class 'Pipe #3 input at line 28@30' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-1' + .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 Linq101Joins01/'Pipe #3 input@30-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input at line 28@30-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -558,7 +558,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@30-1'::.ctor + } // end of method 'Pipe #3 input at line 28@30-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -570,24 +570,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #3 input@30-1'::Invoke + } // end of method 'Pipe #3 input at line 28@30-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30-1' Linq101Joins01/'Pipe #3 input@30-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@30-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input at line 28@30-1' Linq101Joins01/'Pipe #3 input at line 28@30-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@30-1'::.cctor + } // end of method 'Pipe #3 input at line 28@30-1'::.cctor - } // end of class 'Pipe #3 input@30-1' + } // end of class 'Pipe #3 input at line 28@30-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-2' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'Pipe #3 input@30-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input at line 28@30-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -598,7 +598,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@30-2'::.ctor + } // end of method 'Pipe #3 input at line 28@30-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -612,21 +612,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'Pipe #3 input@30-2'::Invoke + } // end of method 'Pipe #3 input at line 28@30-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@30-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@30-2' Linq101Joins01/'Pipe #3 input@30-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@30-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input at line 28@30-2' Linq101Joins01/'Pipe #3 input at line 28@30-2'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@30-2'::.cctor + } // end of method 'Pipe #3 input at line 28@30-2'::.cctor - } // end of class 'Pipe #3 input@30-2' + } // end of class 'Pipe #3 input at line 28@30-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@31-4' + .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@ @@ -648,15 +648,15 @@ 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 Linq101Joins01/'Pipe #3 input@31-4'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input at line 28@31-4'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input@31-4'::ps + IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input at line 28@31-4'::ps IL_0014: ldarg.0 IL_0015: ldarg.3 - IL_0016: stfld string Linq101Joins01/'Pipe #3 input@31-4'::c + IL_0016: stfld string Linq101Joins01/'Pipe #3 input at line 28@31-4'::c IL_001b: ret - } // end of method 'Pipe #3 input@31-4'::.ctor + } // end of method 'Pipe #3 input at line 28@31-4'::.ctor .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 @@ -669,11 +669,11 @@ IL_0001: stloc.0 .line 32,32 : 9,34 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@31-4'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input at line 28@31-4'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld string Linq101Joins01/'Pipe #3 input@31-4'::c + IL_0009: ldfld string Linq101Joins01/'Pipe #3 input at line 28@31-4'::c IL_000e: ldarg.0 - IL_000f: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input@31-4'::ps + IL_000f: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #3 input at line 28@31-4'::ps IL_0014: ldloc.0 IL_0015: newobj instance void class [mscorlib]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, !1, @@ -681,11 +681,11 @@ 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 - } // end of method 'Pipe #3 input@31-4'::Invoke + } // end of method 'Pipe #3 input at line 28@31-4'::Invoke - } // end of class 'Pipe #3 input@31-4' + } // end of class 'Pipe #3 input at line 28@31-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@30-3' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -703,9 +703,9 @@ 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 [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input at line 28@30-3'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@30-3'::.ctor + } // end of method 'Pipe #3 input at line 28@30-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -725,30 +725,30 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input at line 28@30-3'::builder@ IL_0016: ldarg.0 - IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0022: ldarg.0 - IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input@30-3'::builder@ + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #3 input at line 28@30-3'::builder@ IL_0028: ldloc.1 IL_0029: ldloc.2 - IL_002a: newobj instance void Linq101Joins01/'Pipe #3 input@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [mscorlib]System.Collections.Generic.IEnumerable`1, - string) + IL_002a: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [mscorlib]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 - } // end of method 'Pipe #3 input@30-3'::Invoke + } // end of method 'Pipe #3 input at line 28@30-3'::Invoke - } // end of class 'Pipe #3 input@30-3' + } // end of class 'Pipe #3 input at line 28@30-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@32-5' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'Pipe #3 input@32-5' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #3 input at line 28@32-5' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -759,7 +759,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@32-5'::.ctor + } // end of method 'Pipe #3 input at line 28@32-5'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed @@ -786,24 +786,24 @@ IL_001c: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0021: ret - } // end of method 'Pipe #3 input@32-5'::Invoke + } // end of method 'Pipe #3 input at line 28@32-5'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input@32-5'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #3 input@32-5' Linq101Joins01/'Pipe #3 input@32-5'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@32-5'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #3 input at line 28@32-5' Linq101Joins01/'Pipe #3 input at line 28@32-5'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@32-5'::.cctor + } // end of method 'Pipe #3 input at line 28@32-5'::.cctor - } // end of class 'Pipe #3 input@32-5' + } // end of class 'Pipe #3 input at line 28@32-5' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39' + .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 Linq101Joins01/'Pipe #4 input@39' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input at line 37@39' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -814,7 +814,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@39'::.ctor + } // end of method 'Pipe #4 input at line 37@39'::.ctor .method public strict virtual instance string Invoke(string c) cil managed @@ -824,24 +824,24 @@ .line 39,39 : 37,38 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #4 input@39'::Invoke + } // end of method 'Pipe #4 input at line 37@39'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39' Linq101Joins01/'Pipe #4 input@39'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@39'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input at line 37@39' Linq101Joins01/'Pipe #4 input at line 37@39'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@39'::.cctor + } // end of method 'Pipe #4 input at line 37@39'::.cctor - } // end of class 'Pipe #4 input@39' + } // end of class 'Pipe #4 input at line 37@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-1' + .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 Linq101Joins01/'Pipe #4 input@39-1' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input at line 37@39-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -852,7 +852,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@39-1'::.ctor + } // end of method 'Pipe #4 input at line 37@39-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -864,24 +864,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #4 input@39-1'::Invoke + } // end of method 'Pipe #4 input at line 37@39-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39-1'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39-1' Linq101Joins01/'Pipe #4 input@39-1'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@39-1'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input at line 37@39-1' Linq101Joins01/'Pipe #4 input at line 37@39-1'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@39-1'::.cctor + } // end of method 'Pipe #4 input at line 37@39-1'::.cctor - } // end of class 'Pipe #4 input@39-1' + } // end of class 'Pipe #4 input at line 37@39-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-2' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Joins01/'Pipe #4 input@39-2' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input at line 37@39-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -892,7 +892,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@39-2'::.ctor + } // end of method 'Pipe #4 input at line 37@39-2'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(string c, @@ -906,21 +906,21 @@ IL_0002: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_0007: ret - } // end of method 'Pipe #4 input@39-2'::Invoke + } // end of method 'Pipe #4 input at line 37@39-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@39-2'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@39-2' Linq101Joins01/'Pipe #4 input@39-2'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@39-2'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input at line 37@39-2' Linq101Joins01/'Pipe #4 input at line 37@39-2'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@39-2'::.cctor + } // end of method 'Pipe #4 input at line 37@39-2'::.cctor - } // end of class 'Pipe #4 input@39-2' + } // end of class 'Pipe #4 input at line 37@39-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@40-4' + .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@ @@ -942,15 +942,15 @@ 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 Linq101Joins01/'Pipe #4 input@40-4'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@40-4'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input@40-4'::ps + IL_000f: stfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input at line 37@40-4'::ps IL_0014: ldarg.0 IL_0015: ldarg.3 - IL_0016: stfld string Linq101Joins01/'Pipe #4 input@40-4'::c + IL_0016: stfld string Linq101Joins01/'Pipe #4 input at line 37@40-4'::c IL_001b: ret - } // end of method 'Pipe #4 input@40-4'::.ctor + } // end of method 'Pipe #4 input at line 37@40-4'::.ctor .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 @@ -985,11 +985,11 @@ IL_001f: stloc.1 .line 42,42 : 9,22 '' IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@40-4'::builder@ + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@40-4'::builder@ IL_0026: ldarg.0 - IL_0027: ldfld string Linq101Joins01/'Pipe #4 input@40-4'::c + IL_0027: ldfld string Linq101Joins01/'Pipe #4 input at line 37@40-4'::c IL_002c: ldarg.0 - IL_002d: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input@40-4'::ps + IL_002d: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input at line 37@40-4'::ps IL_0032: ldloc.0 IL_0033: ldloc.1 IL_0034: newobj instance void class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, @@ -999,11 +999,11 @@ IL_0039: tail. IL_003b: 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_0040: ret - } // end of method 'Pipe #4 input@40-4'::Invoke + } // end of method 'Pipe #4 input at line 37@40-4'::Invoke - } // end of class 'Pipe #4 input@40-4' + } // end of class 'Pipe #4 input at line 37@40-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-3' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -1021,9 +1021,9 @@ 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 [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@39-3'::builder@ IL_000d: ret - } // end of method 'Pipe #4 input@39-3'::.ctor + } // end of method 'Pipe #4 input at line 37@39-3'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable> Invoke(class [mscorlib]System.Tuple`2> _arg1) cil managed @@ -1043,31 +1043,31 @@ IL_000a: call instance !0 class [mscorlib]System.Tuple`2>::get_Item1() IL_000f: stloc.2 IL_0010: ldarg.0 - IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@39-3'::builder@ IL_0016: ldarg.0 - IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@39-3'::builder@ IL_001c: ldloc.1 IL_001d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::DefaultIfEmpty(class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0027: ldarg.0 - IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input@39-3'::builder@ + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@39-3'::builder@ IL_002d: ldloc.1 IL_002e: ldloc.2 - IL_002f: newobj instance void Linq101Joins01/'Pipe #4 input@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [mscorlib]System.Collections.Generic.IEnumerable`1, - string) + IL_002f: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [mscorlib]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 - } // end of method 'Pipe #4 input@39-3'::Invoke + } // end of method 'Pipe #4 input at line 37@39-3'::Invoke - } // end of class 'Pipe #4 input@39-3' + } // end of class 'Pipe #4 input at line 37@39-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@42-5' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Joins01/'Pipe #4 input@42-5' @_instance + .field static assembly initonly class Linq101Joins01/'Pipe #4 input at line 37@42-5' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1078,7 +1078,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@42-5'::.ctor + } // end of method 'Pipe #4 input at line 37@42-5'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed @@ -1108,19 +1108,19 @@ IL_001e: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0023: ret - } // end of method 'Pipe #4 input@42-5'::Invoke + } // end of method 'Pipe #4 input at line 37@42-5'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input@42-5'::.ctor() - IL_0005: stsfld class Linq101Joins01/'Pipe #4 input@42-5' Linq101Joins01/'Pipe #4 input@42-5'::@_instance + IL_0000: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@42-5'::.ctor() + IL_0005: stsfld class Linq101Joins01/'Pipe #4 input at line 37@42-5' Linq101Joins01/'Pipe #4 input at line 37@42-5'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@42-5'::.cctor + } // end of method 'Pipe #4 input at line 37@42-5'::.cctor - } // end of class 'Pipe #4 input@42-5' + } // end of class 'Pipe #4 input at line 37@42-5' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed @@ -1244,13 +1244,13 @@ [3] class [mscorlib]System.Tuple`2>[] q2, [4] class [mscorlib]System.Tuple`2[] q3, [5] class [mscorlib]System.Tuple`2[] q4, - [6] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input', + [6] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input at line 12', [7] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, - [8] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input', + [8] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input at line 20', [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, - [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input at line 28', [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, - [12] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [12] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input at line 37', [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13) .line 8,8 : 1,88 '' IL_0000: ldstr "Beverages" @@ -1291,25 +1291,25 @@ IL_0064: ldloc.s V_7 IL_0066: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0070: ldsfld class Linq101Joins01/'Pipe #1 input@14' Linq101Joins01/'Pipe #1 input@14'::@_instance - IL_0075: ldsfld class Linq101Joins01/'Pipe #1 input@14-1' Linq101Joins01/'Pipe #1 input@14-1'::@_instance - IL_007a: ldsfld class Linq101Joins01/'Pipe #1 input@14-2' Linq101Joins01/'Pipe #1 input@14-2'::@_instance + IL_0070: ldsfld class Linq101Joins01/'Pipe #1 input at line 12@14' Linq101Joins01/'Pipe #1 input at line 12@14'::@_instance + IL_0075: ldsfld class Linq101Joins01/'Pipe #1 input at line 12@14-1' Linq101Joins01/'Pipe #1 input at line 12@14-1'::@_instance + IL_007a: ldsfld class Linq101Joins01/'Pipe #1 input at line 12@14-2' Linq101Joins01/'Pipe #1 input at line 12@14-2'::@_instance IL_007f: 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_0084: ldloc.s V_7 - IL_0086: newobj instance void Linq101Joins01/'Pipe #1 input@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0086: newobj instance void Linq101Joins01/'Pipe #1 input at line 12@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0090: ldsfld class Linq101Joins01/'Pipe #1 input@15-4' Linq101Joins01/'Pipe #1 input@15-4'::@_instance + IL_0090: ldsfld class Linq101Joins01/'Pipe #1 input at line 12@15-4' Linq101Joins01/'Pipe #1 input at line 12@15-4'::@_instance IL_0095: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_009a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_009f: stloc.s 'Pipe #1 input' + IL_009f: stloc.s 'Pipe #1 input at line 12' .line 16,16 : 10,21 '' - IL_00a1: ldloc.s 'Pipe #1 input' + IL_00a1: ldloc.s 'Pipe #1 input at line 12' IL_00a3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00a8: dup IL_00a9: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q@11 @@ -1328,25 +1328,25 @@ IL_00c9: ldloc.s V_9 IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_00d5: ldsfld class Linq101Joins01/'Pipe #2 input@22' Linq101Joins01/'Pipe #2 input@22'::@_instance - IL_00da: ldsfld class Linq101Joins01/'Pipe #2 input@22-1' Linq101Joins01/'Pipe #2 input@22-1'::@_instance - IL_00df: ldsfld class Linq101Joins01/'Pipe #2 input@22-2' Linq101Joins01/'Pipe #2 input@22-2'::@_instance + IL_00d5: ldsfld class Linq101Joins01/'Pipe #2 input at line 20@22' Linq101Joins01/'Pipe #2 input at line 20@22'::@_instance + IL_00da: ldsfld class Linq101Joins01/'Pipe #2 input at line 20@22-1' Linq101Joins01/'Pipe #2 input at line 20@22-1'::@_instance + IL_00df: ldsfld class Linq101Joins01/'Pipe #2 input at line 20@22-2' Linq101Joins01/'Pipe #2 input at line 20@22-2'::@_instance IL_00e4: 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_00e9: ldloc.s V_9 - IL_00eb: newobj instance void Linq101Joins01/'Pipe #2 input@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00eb: newobj instance void Linq101Joins01/'Pipe #2 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00f0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_00f5: ldsfld class Linq101Joins01/'Pipe #2 input@23-4' Linq101Joins01/'Pipe #2 input@23-4'::@_instance + IL_00f5: ldsfld class Linq101Joins01/'Pipe #2 input at line 20@23-4' Linq101Joins01/'Pipe #2 input at line 20@23-4'::@_instance IL_00fa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_00ff: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0104: stloc.s 'Pipe #2 input' + IL_0104: stloc.s 'Pipe #2 input at line 20' .line 24,24 : 10,21 '' - IL_0106: ldloc.s 'Pipe #2 input' + IL_0106: ldloc.s 'Pipe #2 input at line 20' IL_0108: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_010d: dup IL_010e: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Joins01::q2@19 @@ -1365,25 +1365,25 @@ IL_012e: ldloc.s V_11 IL_0130: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() IL_0135: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_013a: ldsfld class Linq101Joins01/'Pipe #3 input@30' Linq101Joins01/'Pipe #3 input@30'::@_instance - IL_013f: ldsfld class Linq101Joins01/'Pipe #3 input@30-1' Linq101Joins01/'Pipe #3 input@30-1'::@_instance - IL_0144: ldsfld class Linq101Joins01/'Pipe #3 input@30-2' Linq101Joins01/'Pipe #3 input@30-2'::@_instance + IL_013a: ldsfld class Linq101Joins01/'Pipe #3 input at line 28@30' Linq101Joins01/'Pipe #3 input at line 28@30'::@_instance + IL_013f: ldsfld class Linq101Joins01/'Pipe #3 input at line 28@30-1' Linq101Joins01/'Pipe #3 input at line 28@30-1'::@_instance + IL_0144: ldsfld class Linq101Joins01/'Pipe #3 input at line 28@30-2' Linq101Joins01/'Pipe #3 input at line 28@30-2'::@_instance IL_0149: 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_014e: ldloc.s V_11 - IL_0150: newobj instance void Linq101Joins01/'Pipe #3 input@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0150: newobj instance void Linq101Joins01/'Pipe #3 input at line 28@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0155: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_015a: ldsfld class Linq101Joins01/'Pipe #3 input@32-5' Linq101Joins01/'Pipe #3 input@32-5'::@_instance + IL_015a: ldsfld class Linq101Joins01/'Pipe #3 input at line 28@32-5' Linq101Joins01/'Pipe #3 input at line 28@32-5'::@_instance IL_015f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0164: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0169: stloc.s 'Pipe #3 input' + IL_0169: stloc.s 'Pipe #3 input at line 28' .line 33,33 : 10,21 '' - IL_016b: ldloc.s 'Pipe #3 input' + IL_016b: ldloc.s 'Pipe #3 input at line 28' IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0172: dup IL_0173: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q3@27 @@ -1402,25 +1402,25 @@ IL_0194: ldloc.s V_13 IL_0196: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Joins01::get_products() IL_019b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01a0: ldsfld class Linq101Joins01/'Pipe #4 input@39' Linq101Joins01/'Pipe #4 input@39'::@_instance - IL_01a5: ldsfld class Linq101Joins01/'Pipe #4 input@39-1' Linq101Joins01/'Pipe #4 input@39-1'::@_instance - IL_01aa: ldsfld class Linq101Joins01/'Pipe #4 input@39-2' Linq101Joins01/'Pipe #4 input@39-2'::@_instance + IL_01a0: ldsfld class Linq101Joins01/'Pipe #4 input at line 37@39' Linq101Joins01/'Pipe #4 input at line 37@39'::@_instance + IL_01a5: ldsfld class Linq101Joins01/'Pipe #4 input at line 37@39-1' Linq101Joins01/'Pipe #4 input at line 37@39-1'::@_instance + IL_01aa: ldsfld class Linq101Joins01/'Pipe #4 input at line 37@39-2' Linq101Joins01/'Pipe #4 input at line 37@39-2'::@_instance IL_01af: 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_01b4: ldloc.s V_13 - IL_01b6: newobj instance void Linq101Joins01/'Pipe #4 input@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01b6: newobj instance void Linq101Joins01/'Pipe #4 input at line 37@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_01bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_01c0: ldsfld class Linq101Joins01/'Pipe #4 input@42-5' Linq101Joins01/'Pipe #4 input@42-5'::@_instance + IL_01c0: ldsfld class Linq101Joins01/'Pipe #4 input at line 37@42-5' Linq101Joins01/'Pipe #4 input at line 37@42-5'::@_instance IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_01ca: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_01cf: stloc.s 'Pipe #4 input' + IL_01cf: stloc.s 'Pipe #4 input at line 37' .line 43,43 : 10,21 '' - IL_01d1: ldloc.s 'Pipe #4 input' + IL_01d1: ldloc.s 'Pipe #4 input at line 37' IL_01d3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01d8: dup IL_01d9: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Joins01::q4@36 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl index 0c7492718b..dc1c5f3afc 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x000003B8 Length: 0x00000134 } .module Linq101Ordering01.exe -// MVID: {6116A45B-649A-6956-A745-03835BA41661} +// MVID: {611B0EC5-649A-6956-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06FF0000 +// Image base: 0x06CC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -55,7 +55,7 @@ extends [mscorlib]System.Object { .custom instance 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@11' + .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 ) @@ -80,17 +80,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/'Pipe #1 input@11'::current + IL_0010: stfld string Linq101Ordering01/'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 - } // end of method 'Pipe #1 input@11'::.ctor + } // end of method 'Pipe #1 input at line 10@11'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -102,7 +102,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Ordering01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -129,18 +129,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_words() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc .line 11,11 : 9,26 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 11,11 : 9,26 '' @@ -149,10 +149,10 @@ .line 12,12 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/'Pipe #1 input@11'::current + IL_0060: stfld string Linq101Ordering01/'Pipe #1 input at line 10@11'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -162,24 +162,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc .line 11,11 : 9,26 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/'Pipe #1 input@11'::current + IL_008d: stfld string Linq101Ordering01/'Pipe #1 input at line 10@11'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #1 input@11'::GenerateNext + } // end of method 'Pipe #1 input at line 10@11'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -190,7 +190,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -206,7 +206,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -236,19 +236,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input@11'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #1 input at line 10@11'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/'Pipe #1 input@11'::current + IL_005f: stfld string Linq101Ordering01/'Pipe #1 input at line 10@11'::current IL_0064: leave.s IL_0070 } // end .try @@ -277,7 +277,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #1 input@11'::Close + } // end of method 'Pipe #1 input at line 10@11'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -286,7 +286,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input@11'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #1 input at line 10@11'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -320,7 +320,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #1 input@11'::get_CheckClose + } // end of method 'Pipe #1 input at line 10@11'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -330,9 +330,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/'Pipe #1 input@11'::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #1 input at line 10@11'::current IL_0006: ret - } // end of method 'Pipe #1 input@11'::get_LastGenerated + } // end of method 'Pipe #1 input at line 10@11'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -344,18 +344,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/'Pipe #1 input@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #1 input at line 10@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #1 input@11'::GetFreshEnumerator + } // end of method 'Pipe #1 input at line 10@11'::GetFreshEnumerator - } // end of class 'Pipe #1 input@11' + } // end of class 'Pipe #1 input at line 10@11' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@12-1' + .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 Linq101Ordering01/'Pipe #1 input@12-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #1 input at line 10@12-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -366,7 +366,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@12-1'::.ctor + } // end of method 'Pipe #1 input at line 10@12-1'::.ctor .method public strict virtual instance string Invoke(string w) cil managed @@ -376,21 +376,21 @@ .line 12,12 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #1 input@12-1'::Invoke + } // end of method 'Pipe #1 input at line 10@12-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #1 input@12-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #1 input@12-1' Linq101Ordering01/'Pipe #1 input@12-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #1 input at line 10@12-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #1 input at line 10@12-1' Linq101Ordering01/'Pipe #1 input at line 10@12-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@12-1'::.cctor + } // end of method 'Pipe #1 input at line 10@12-1'::.cctor - } // end of class 'Pipe #1 input@12-1' + } // end of class 'Pipe #1 input at line 10@12-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@18' + .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 ) @@ -415,17 +415,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/'Pipe #2 input@18'::current + IL_0010: stfld string Linq101Ordering01/'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 - } // end of method 'Pipe #2 input@18'::.ctor + } // end of method 'Pipe #2 input at line 17@18'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -436,7 +436,7 @@ [1] string w) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -463,18 +463,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_words() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc .line 18,18 : 9,26 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 18,18 : 9,26 '' @@ -483,10 +483,10 @@ .line 19,19 : 9,26 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/'Pipe #2 input@18'::current + IL_0060: stfld string Linq101Ordering01/'Pipe #2 input at line 17@18'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -496,24 +496,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc .line 18,18 : 9,26 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/'Pipe #2 input@18'::current + IL_008d: stfld string Linq101Ordering01/'Pipe #2 input at line 17@18'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #2 input@18'::GenerateNext + } // end of method 'Pipe #2 input at line 17@18'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -524,7 +524,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -540,7 +540,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -570,19 +570,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input@18'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #2 input at line 17@18'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/'Pipe #2 input@18'::current + IL_005f: stfld string Linq101Ordering01/'Pipe #2 input at line 17@18'::current IL_0064: leave.s IL_0070 } // end .try @@ -611,7 +611,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #2 input@18'::Close + } // end of method 'Pipe #2 input at line 17@18'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -620,7 +620,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input@18'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #2 input at line 17@18'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -654,7 +654,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #2 input@18'::get_CheckClose + } // end of method 'Pipe #2 input at line 17@18'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -664,9 +664,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/'Pipe #2 input@18'::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #2 input at line 17@18'::current IL_0006: ret - } // end of method 'Pipe #2 input@18'::get_LastGenerated + } // end of method 'Pipe #2 input at line 17@18'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -678,18 +678,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/'Pipe #2 input@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #2 input at line 17@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #2 input@18'::GetFreshEnumerator + } // end of method 'Pipe #2 input at line 17@18'::GetFreshEnumerator - } // end of class 'Pipe #2 input@18' + } // end of class 'Pipe #2 input at line 17@18' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@19-1' + .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 Linq101Ordering01/'Pipe #2 input@19-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #2 input at line 17@19-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -700,7 +700,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@19-1'::.ctor + } // end of method 'Pipe #2 input at line 17@19-1'::.ctor .method public strict virtual instance int32 Invoke(string w) cil managed @@ -711,21 +711,21 @@ IL_0000: ldarg.1 IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() IL_0006: ret - } // end of method 'Pipe #2 input@19-1'::Invoke + } // end of method 'Pipe #2 input at line 17@19-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #2 input@19-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #2 input@19-1' Linq101Ordering01/'Pipe #2 input@19-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #2 input at line 17@19-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #2 input at line 17@19-1' Linq101Ordering01/'Pipe #2 input at line 17@19-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@19-1'::.cctor + } // end of method 'Pipe #2 input at line 17@19-1'::.cctor - } // end of class 'Pipe #2 input@19-1' + } // end of class 'Pipe #2 input at line 17@19-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@26' + .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@ @@ -743,9 +743,9 @@ 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 Linq101Ordering01/'Pipe #3 input@26'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #3 input at line 25@26'::builder@ IL_000d: ret - } // end of method 'Pipe #3 input@26'::.ctor + } // end of method 'Pipe #3 input at line 25@26'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -758,19 +758,19 @@ IL_0001: stloc.0 .line 27,27 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #3 input@26'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'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 - } // end of method 'Pipe #3 input@26'::Invoke + } // end of method 'Pipe #3 input at line 25@26'::Invoke - } // end of class 'Pipe #3 input@26' + } // end of class 'Pipe #3 input at line 25@26' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@27-1' + .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 Linq101Ordering01/'Pipe #3 input@27-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #3 input at line 25@27-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -781,7 +781,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@27-1'::.ctor + } // end of method 'Pipe #3 input at line 25@27-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -793,24 +793,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() IL_0008: ret - } // end of method 'Pipe #3 input@27-1'::Invoke + } // end of method 'Pipe #3 input at line 25@27-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input@27-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input@27-1' Linq101Ordering01/'Pipe #3 input@27-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input at line 25@27-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input at line 25@27-1' Linq101Ordering01/'Pipe #3 input at line 25@27-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@27-1'::.cctor + } // end of method 'Pipe #3 input at line 25@27-1'::.cctor - } // end of class 'Pipe #3 input@27-1' + } // end of class 'Pipe #3 input at line 25@27-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@28-2' + .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 Linq101Ordering01/'Pipe #3 input@28-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #3 input at line 25@28-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -821,7 +821,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@28-2'::.ctor + } // end of method 'Pipe #3 input at line 25@28-2'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -831,21 +831,21 @@ .line 28,28 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #3 input@28-2'::Invoke + } // end of method 'Pipe #3 input at line 25@28-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input@28-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input@28-2' Linq101Ordering01/'Pipe #3 input@28-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #3 input at line 25@28-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #3 input at line 25@28-2' Linq101Ordering01/'Pipe #3 input at line 25@28-2'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@28-2'::.cctor + } // end of method 'Pipe #3 input at line 25@28-2'::.cctor - } // end of class 'Pipe #3 input@28-2' + } // end of class 'Pipe #3 input at line 25@28-2' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input@44' + .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 ) @@ -870,17 +870,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current + IL_0010: stfld class [Utils]Utils/Product Linq101Ordering01/'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 - } // end of method 'Pipe #4 input@44'::.ctor + } // end of method 'Pipe #4 input at line 43@44'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -891,7 +891,7 @@ [1] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -918,18 +918,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc .line 44,44 : 9,29 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 44,44 : 9,29 '' @@ -938,10 +938,10 @@ .line 45,45 : 9,40 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current + IL_0060: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input at line 43@44'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -951,24 +951,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc .line 44,44 : 9,29 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current + IL_008d: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input at line 43@44'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #4 input@44'::GenerateNext + } // end of method 'Pipe #4 input at line 43@44'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -979,7 +979,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -995,7 +995,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1025,19 +1025,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input@44'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #4 input at line 43@44'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current + IL_005f: stfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input at line 43@44'::current IL_0064: leave.s IL_0070 } // end .try @@ -1066,7 +1066,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #4 input@44'::Close + } // end of method 'Pipe #4 input at line 43@44'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1075,7 +1075,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input@44'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #4 input at line 43@44'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1109,7 +1109,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #4 input@44'::get_CheckClose + } // end of method 'Pipe #4 input at line 43@44'::get_CheckClose .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed @@ -1119,9 +1119,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input@44'::current + IL_0001: ldfld class [Utils]Utils/Product Linq101Ordering01/'Pipe #4 input at line 43@44'::current IL_0006: ret - } // end of method 'Pipe #4 input@44'::get_LastGenerated + } // end of method 'Pipe #4 input at line 43@44'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1133,18 +1133,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/'Pipe #4 input@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [Utils]Utils/Product) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #4 input at line 43@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) IL_0008: ret - } // end of method 'Pipe #4 input@44'::GetFreshEnumerator + } // end of method 'Pipe #4 input at line 43@44'::GetFreshEnumerator - } // end of class 'Pipe #4 input@44' + } // end of class 'Pipe #4 input at line 43@44' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@45-1' + .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 Linq101Ordering01/'Pipe #4 input@45-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #4 input at line 43@45-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1155,7 +1155,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@45-1'::.ctor + } // end of method 'Pipe #4 input at line 43@45-1'::.ctor .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed @@ -1167,21 +1167,21 @@ IL_0001: tail. IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() IL_0008: ret - } // end of method 'Pipe #4 input@45-1'::Invoke + } // end of method 'Pipe #4 input at line 43@45-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #4 input@45-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #4 input@45-1' Linq101Ordering01/'Pipe #4 input@45-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #4 input at line 43@45-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #4 input at line 43@45-1' Linq101Ordering01/'Pipe #4 input at line 43@45-1'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@45-1'::.cctor + } // end of method 'Pipe #4 input at line 43@45-1'::.cctor - } // end of class 'Pipe #4 input@45-1' + } // end of class 'Pipe #4 input at line 43@45-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@52' + .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 ) @@ -1206,17 +1206,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0009: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Ordering01/'Pipe #5 input@52'::current + IL_0010: stfld string Linq101Ordering01/'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 - } // end of method 'Pipe #5 input@52'::.ctor + } // end of method 'Pipe #5 input at line 51@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1227,7 +1227,7 @@ [1] string d) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1254,18 +1254,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_digits() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0037: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc .line 52,52 : 9,27 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 52,52 : 9,27 '' @@ -1274,10 +1274,10 @@ .line 53,53 : 9,24 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0059: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld string Linq101Ordering01/'Pipe #5 input@52'::current + IL_0060: stfld string Linq101Ordering01/'Pipe #5 input at line 51@52'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1287,24 +1287,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_006c: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc .line 52,52 : 9,27 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0086: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_008b: ldarg.0 IL_008c: ldnull - IL_008d: stfld string Linq101Ordering01/'Pipe #5 input@52'::current + IL_008d: stfld string Linq101Ordering01/'Pipe #5 input at line 51@52'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #5 input@52'::GenerateNext + } // end of method 'Pipe #5 input at line 51@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1315,7 +1315,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1331,7 +1331,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0018: ldfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1361,19 +1361,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0044: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input@52'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Ordering01/'Pipe #5 input at line 51@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0058: stfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Ordering01/'Pipe #5 input@52'::current + IL_005f: stfld string Linq101Ordering01/'Pipe #5 input at line 51@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -1402,7 +1402,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #5 input@52'::Close + } // end of method 'Pipe #5 input at line 51@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1411,7 +1411,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input@52'::pc + IL_0001: ldfld int32 Linq101Ordering01/'Pipe #5 input at line 51@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1445,7 +1445,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #5 input@52'::get_CheckClose + } // end of method 'Pipe #5 input at line 51@52'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -1455,9 +1455,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Ordering01/'Pipe #5 input@52'::current + IL_0001: ldfld string Linq101Ordering01/'Pipe #5 input at line 51@52'::current IL_0006: ret - } // end of method 'Pipe #5 input@52'::get_LastGenerated + } // end of method 'Pipe #5 input at line 51@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1469,18 +1469,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Ordering01/'Pipe #5 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Ordering01/'Pipe #5 input at line 51@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #5 input@52'::GetFreshEnumerator + } // end of method 'Pipe #5 input at line 51@52'::GetFreshEnumerator - } // end of class 'Pipe #5 input@52' + } // end of class 'Pipe #5 input at line 51@52' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@53-1' + .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 Linq101Ordering01/'Pipe #5 input@53-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #5 input at line 51@53-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1491,7 +1491,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@53-1'::.ctor + } // end of method 'Pipe #5 input at line 51@53-1'::.ctor .method public strict virtual instance int32 Invoke(string d) cil managed @@ -1502,24 +1502,24 @@ IL_0000: ldarg.1 IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() IL_0006: ret - } // end of method 'Pipe #5 input@53-1'::Invoke + } // end of method 'Pipe #5 input at line 51@53-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input@53-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input@53-1' Linq101Ordering01/'Pipe #5 input@53-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input at line 51@53-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input at line 51@53-1' Linq101Ordering01/'Pipe #5 input at line 51@53-1'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@53-1'::.cctor + } // end of method 'Pipe #5 input at line 51@53-1'::.cctor - } // end of class 'Pipe #5 input@53-1' + } // end of class 'Pipe #5 input at line 51@53-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@54-2' + .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 Linq101Ordering01/'Pipe #5 input@54-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #5 input at line 51@54-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1530,7 +1530,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@54-2'::.ctor + } // end of method 'Pipe #5 input at line 51@54-2'::.ctor .method public strict virtual instance string Invoke(string d) cil managed @@ -1540,21 +1540,21 @@ .line 54,54 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #5 input@54-2'::Invoke + } // end of method 'Pipe #5 input at line 51@54-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input@54-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input@54-2' Linq101Ordering01/'Pipe #5 input@54-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #5 input at line 51@54-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #5 input at line 51@54-2' Linq101Ordering01/'Pipe #5 input at line 51@54-2'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@54-2'::.cctor + } // end of method 'Pipe #5 input at line 51@54-2'::.cctor - } // end of class 'Pipe #5 input@54-2' + } // end of class 'Pipe #5 input at line 51@54-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@60' + .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@ @@ -1572,9 +1572,9 @@ 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 Linq101Ordering01/'Pipe #6 input@60'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #6 input at line 59@60'::builder@ IL_000d: ret - } // end of method 'Pipe #6 input@60'::.ctor + } // end of method 'Pipe #6 input at line 59@60'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1587,19 +1587,19 @@ IL_0001: stloc.0 .line 61,61 : 9,26 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'Pipe #6 input@60'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Ordering01/'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 - } // end of method 'Pipe #6 input@60'::Invoke + } // end of method 'Pipe #6 input at line 59@60'::Invoke - } // end of class 'Pipe #6 input@60' + } // end of class 'Pipe #6 input at line 59@60' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@61-1' + .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 Linq101Ordering01/'Pipe #6 input@61-1' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input at line 59@61-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1610,7 +1610,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@61-1'::.ctor + } // end of method 'Pipe #6 input at line 59@61-1'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1622,24 +1622,24 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #6 input@61-1'::Invoke + } // end of method 'Pipe #6 input at line 59@61-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@61-1'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@61-1' Linq101Ordering01/'Pipe #6 input@61-1'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input at line 59@61-1' Linq101Ordering01/'Pipe #6 input at line 59@61-1'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@61-1'::.cctor + } // end of method 'Pipe #6 input at line 59@61-1'::.cctor - } // end of class 'Pipe #6 input@61-1' + } // end of class 'Pipe #6 input at line 59@61-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@62-2' + .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 Linq101Ordering01/'Pipe #6 input@62-2' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input at line 59@62-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1650,7 +1650,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@62-2'::.ctor + } // end of method 'Pipe #6 input at line 59@62-2'::.ctor .method public strict virtual instance valuetype [mscorlib]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed @@ -1662,24 +1662,24 @@ IL_0001: tail. IL_0003: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice() IL_0008: ret - } // end of method 'Pipe #6 input@62-2'::Invoke + } // end of method 'Pipe #6 input at line 59@62-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@62-2'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@62-2' Linq101Ordering01/'Pipe #6 input@62-2'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input at line 59@62-2' Linq101Ordering01/'Pipe #6 input at line 59@62-2'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@62-2'::.cctor + } // end of method 'Pipe #6 input at line 59@62-2'::.cctor - } // end of class 'Pipe #6 input@62-2' + } // end of class 'Pipe #6 input at line 59@62-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@63-3' + .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 Linq101Ordering01/'Pipe #6 input@63-3' @_instance + .field static assembly initonly class Linq101Ordering01/'Pipe #6 input at line 59@63-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1690,7 +1690,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@63-3'::.ctor + } // end of method 'Pipe #6 input at line 59@63-3'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1700,19 +1700,19 @@ .line 63,63 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #6 input@63-3'::Invoke + } // end of method 'Pipe #6 input at line 59@63-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input@63-3'::.ctor() - IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input@63-3' Linq101Ordering01/'Pipe #6 input@63-3'::@_instance + IL_0000: newobj instance void Linq101Ordering01/'Pipe #6 input at line 59@63-3'::.ctor() + IL_0005: stsfld class Linq101Ordering01/'Pipe #6 input at line 59@63-3' Linq101Ordering01/'Pipe #6 input at line 59@63-3'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@63-3'::.cctor + } // end of method 'Pipe #6 input at line 59@63-3'::.cctor - } // end of class 'Pipe #6 input@63-3' + } // end of class 'Pipe #6 input at line 59@63-3' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed @@ -1887,17 +1887,17 @@ [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits, [8] class [Utils]Utils/Product[] sortedProducts3, - [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 10', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, - [11] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [11] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input at line 17', [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input at line 25', [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, - [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #4 input', + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #4 input at line 43', [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, - [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input', + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input at line 51', [18] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, - [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', + [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input at line 59', [20] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20) .line 8,8 : 1,45 '' IL_0000: ldstr "cherry" @@ -1922,17 +1922,17 @@ IL_0034: ldnull IL_0035: ldc.i4.0 IL_0036: ldnull - IL_0037: newobj instance void Linq101Ordering01/'Pipe #1 input@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0037: newobj instance void Linq101Ordering01/'Pipe #1 input at line 10@11'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0041: ldsfld class Linq101Ordering01/'Pipe #1 input@12-1' Linq101Ordering01/'Pipe #1 input@12-1'::@_instance + IL_0041: ldsfld class Linq101Ordering01/'Pipe #1 input at line 10@12-1' Linq101Ordering01/'Pipe #1 input at line 10@12-1'::@_instance IL_0046: 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_004b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0050: stloc.s 'Pipe #1 input' + IL_0050: stloc.s 'Pipe #1 input at line 10' .line 13,13 : 10,20 '' - IL_0052: ldloc.s 'Pipe #1 input' + IL_0052: ldloc.s 'Pipe #1 input at line 10' IL_0054: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0059: dup IL_005a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords@9 @@ -1946,17 +1946,17 @@ IL_006a: ldnull IL_006b: ldc.i4.0 IL_006c: ldnull - IL_006d: newobj instance void Linq101Ordering01/'Pipe #2 input@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_006d: newobj instance void Linq101Ordering01/'Pipe #2 input at line 17@18'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0072: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0077: ldsfld class Linq101Ordering01/'Pipe #2 input@19-1' Linq101Ordering01/'Pipe #2 input@19-1'::@_instance + IL_0077: ldsfld class Linq101Ordering01/'Pipe #2 input at line 17@19-1' Linq101Ordering01/'Pipe #2 input at line 17@19-1'::@_instance IL_007c: 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_0081: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0086: stloc.s 'Pipe #2 input' + IL_0086: stloc.s 'Pipe #2 input at line 17' .line 20,20 : 10,20 '' - IL_0088: ldloc.s 'Pipe #2 input' + IL_0088: ldloc.s 'Pipe #2 input at line 17' IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_008f: dup IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedWords2@16 @@ -1978,19 +1978,19 @@ IL_00b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() IL_00b7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00bc: ldloc.s V_14 - IL_00be: newobj instance void Linq101Ordering01/'Pipe #3 input@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00be: newobj instance void Linq101Ordering01/'Pipe #3 input at line 25@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00c3: 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_00c8: ldsfld class Linq101Ordering01/'Pipe #3 input@27-1' Linq101Ordering01/'Pipe #3 input@27-1'::@_instance + IL_00c8: ldsfld class Linq101Ordering01/'Pipe #3 input at line 25@27-1' Linq101Ordering01/'Pipe #3 input at line 25@27-1'::@_instance IL_00cd: 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_00d2: ldsfld class Linq101Ordering01/'Pipe #3 input@28-2' Linq101Ordering01/'Pipe #3 input@28-2'::@_instance + IL_00d2: ldsfld class Linq101Ordering01/'Pipe #3 input at line 25@28-2' Linq101Ordering01/'Pipe #3 input at line 25@28-2'::@_instance IL_00d7: 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_00dc: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00e1: stloc.s 'Pipe #3 input' + IL_00e1: stloc.s 'Pipe #3 input at line 25' .line 29,29 : 10,21 '' - IL_00e3: ldloc.s 'Pipe #3 input' + IL_00e3: ldloc.s 'Pipe #3 input at line 25' IL_00e5: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00ea: dup IL_00eb: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts@24 @@ -2004,17 +2004,17 @@ IL_00fc: ldnull IL_00fd: ldc.i4.0 IL_00fe: ldnull - IL_00ff: newobj instance void Linq101Ordering01/'Pipe #4 input@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [Utils]Utils/Product) + IL_00ff: newobj instance void Linq101Ordering01/'Pipe #4 input at line 43@44'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) IL_0104: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0109: ldsfld class Linq101Ordering01/'Pipe #4 input@45-1' Linq101Ordering01/'Pipe #4 input@45-1'::@_instance + IL_0109: ldsfld class Linq101Ordering01/'Pipe #4 input at line 43@45-1' Linq101Ordering01/'Pipe #4 input at line 43@45-1'::@_instance IL_010e: 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_0113: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0118: stloc.s 'Pipe #4 input' + IL_0118: stloc.s 'Pipe #4 input at line 43' .line 46,46 : 10,21 '' - IL_011a: ldloc.s 'Pipe #4 input' + IL_011a: ldloc.s 'Pipe #4 input at line 43' IL_011c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0121: dup IL_0122: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts2@42 @@ -2064,20 +2064,20 @@ IL_01a6: ldnull IL_01a7: ldc.i4.0 IL_01a8: ldnull - IL_01a9: newobj instance void Linq101Ordering01/'Pipe #5 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_01a9: newobj instance void Linq101Ordering01/'Pipe #5 input at line 51@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_01ae: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01b3: ldsfld class Linq101Ordering01/'Pipe #5 input@53-1' Linq101Ordering01/'Pipe #5 input@53-1'::@_instance + IL_01b3: ldsfld class Linq101Ordering01/'Pipe #5 input at line 51@53-1' Linq101Ordering01/'Pipe #5 input at line 51@53-1'::@_instance IL_01b8: 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_01bd: ldsfld class Linq101Ordering01/'Pipe #5 input@54-2' Linq101Ordering01/'Pipe #5 input@54-2'::@_instance + IL_01bd: ldsfld class Linq101Ordering01/'Pipe #5 input at line 51@54-2' Linq101Ordering01/'Pipe #5 input at line 51@54-2'::@_instance IL_01c2: 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_01c7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01cc: stloc.s 'Pipe #5 input' + IL_01cc: stloc.s 'Pipe #5 input at line 51' .line 55,55 : 10,20 '' - IL_01ce: ldloc.s 'Pipe #5 input' + IL_01ce: ldloc.s 'Pipe #5 input at line 51' IL_01d0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01d5: dup IL_01d6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Ordering01::sortedDigits@50 @@ -2095,22 +2095,22 @@ IL_01ef: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Ordering01::get_products() IL_01f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01f9: ldloc.s V_20 - IL_01fb: newobj instance void Linq101Ordering01/'Pipe #6 input@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01fb: newobj instance void Linq101Ordering01/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0200: 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_0205: ldsfld class Linq101Ordering01/'Pipe #6 input@61-1' Linq101Ordering01/'Pipe #6 input@61-1'::@_instance + IL_0205: ldsfld class Linq101Ordering01/'Pipe #6 input at line 59@61-1' Linq101Ordering01/'Pipe #6 input at line 59@61-1'::@_instance IL_020a: 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_020f: ldsfld class Linq101Ordering01/'Pipe #6 input@62-2' Linq101Ordering01/'Pipe #6 input@62-2'::@_instance + IL_020f: ldsfld class Linq101Ordering01/'Pipe #6 input at line 59@62-2' Linq101Ordering01/'Pipe #6 input at line 59@62-2'::@_instance IL_0214: 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_0219: ldsfld class Linq101Ordering01/'Pipe #6 input@63-3' Linq101Ordering01/'Pipe #6 input@63-3'::@_instance + IL_0219: ldsfld class Linq101Ordering01/'Pipe #6 input at line 59@63-3' Linq101Ordering01/'Pipe #6 input at line 59@63-3'::@_instance IL_021e: 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_0223: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0228: stloc.s 'Pipe #6 input' + IL_0228: stloc.s 'Pipe #6 input at line 59' .line 64,64 : 10,21 '' - IL_022a: ldloc.s 'Pipe #6 input' + IL_022a: ldloc.s 'Pipe #6 input at line 59' IL_022c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0231: dup IL_0232: stsfld class [Utils]Utils/Product[] ''.$Linq101Ordering01::sortedProducts3@58 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl index 301fecde9c..866d1692f6 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D8 Length: 0x00000138 } .module Linq101Partitioning01.exe -// MVID: {6116A45B-B280-A6A2-A745-03835BA41661} +// MVID: {611B0EC5-B280-A6A2-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A30000 +// Image base: 0x070F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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@12' + .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 ) @@ -85,17 +85,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current + IL_0010: stfld int32 Linq101Partitioning01/'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 - } // end of method 'Pipe #1 input@12'::.ctor + } // end of method 'Pipe #1 input at line 11@12'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -107,7 +107,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Partitioning01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -134,18 +134,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc .line 12,12 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 12,12 : 9,28 '' @@ -154,10 +154,10 @@ .line 13,13 : 9,15 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -167,24 +167,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc .line 12,12 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #1 input@12'::GenerateNext + } // end of method 'Pipe #1 input at line 11@12'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -195,7 +195,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -211,7 +211,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -241,19 +241,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input@12'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #1 input at line 11@12'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::current IL_0064: leave.s IL_0070 } // end .try @@ -282,7 +282,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #1 input@12'::Close + } // end of method 'Pipe #1 input at line 11@12'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -291,7 +291,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -325,7 +325,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #1 input@12'::get_CheckClose + } // end of method 'Pipe #1 input at line 11@12'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -335,9 +335,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input@12'::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #1 input at line 11@12'::current IL_0006: ret - } // end of method 'Pipe #1 input@12'::get_LastGenerated + } // end of method 'Pipe #1 input at line 11@12'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -349,15 +349,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #1 input at line 11@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #1 input@12'::GetFreshEnumerator + } // end of method 'Pipe #1 input at line 11@12'::GetFreshEnumerator - } // end of class 'Pipe #1 input@12' + } // end of class 'Pipe #1 input at line 11@12' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@21-1' + .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@ @@ -377,12 +377,12 @@ 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 Linq101Partitioning01/'Pipe #2 input@21-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input at line 19@21-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input@21-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input at line 19@21-1'::c IL_0014: ret - } // end of method 'Pipe #2 input@21-1'::.ctor + } // end of method 'Pipe #2 input at line 19@21-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -395,20 +395,20 @@ IL_0001: stloc.0 .line 22,22 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@21-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input at line 19@21-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input@21-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #2 input at line 19@21-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'Pipe #2 input@21-1'::Invoke + } // end of method 'Pipe #2 input at line 19@21-1'::Invoke - } // end of class 'Pipe #2 input@21-1' + } // end of class 'Pipe #2 input at line 19@21-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@20' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -426,9 +426,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input at line 19@20'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@20'::.ctor + } // end of method 'Pipe #2 input at line 19@20'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -441,29 +441,29 @@ IL_0001: stloc.0 .line 21,21 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input at line 19@20'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input@20'::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #2 input at line 19@20'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Partitioning01/'Pipe #2 input@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Partitioning01/'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 - } // end of method 'Pipe #2 input@20'::Invoke + } // end of method 'Pipe #2 input at line 19@20'::Invoke - } // end of class 'Pipe #2 input@20' + } // end of class 'Pipe #2 input at line 19@20' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-2' + .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 Linq101Partitioning01/'Pipe #2 input@22-2' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #2 input at line 19@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -474,7 +474,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@22-2'::.ctor + } // end of method 'Pipe #2 input at line 19@22-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -497,24 +497,24 @@ IL_0019: call bool [netstandard]System.String::Equals(string, string) IL_001e: ret - } // end of method 'Pipe #2 input@22-2'::Invoke + } // end of method 'Pipe #2 input at line 19@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input@22-2'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input@22-2' Linq101Partitioning01/'Pipe #2 input@22-2'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input at line 19@22-2'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input at line 19@22-2' Linq101Partitioning01/'Pipe #2 input at line 19@22-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@22-2'::.cctor + } // end of method 'Pipe #2 input at line 19@22-2'::.cctor - } // end of class 'Pipe #2 input@22-2' + } // end of class 'Pipe #2 input at line 19@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@23-3' + .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 [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Partitioning01/'Pipe #2 input@23-3' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #2 input at line 19@23-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -525,7 +525,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@23-3'::.ctor + } // end of method 'Pipe #2 input at line 19@23-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -552,21 +552,21 @@ !1, !2) IL_0025: ret - } // end of method 'Pipe #2 input@23-3'::Invoke + } // end of method 'Pipe #2 input at line 19@23-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input@23-3'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input@23-3' Linq101Partitioning01/'Pipe #2 input@23-3'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #2 input at line 19@23-3'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #2 input at line 19@23-3' Linq101Partitioning01/'Pipe #2 input at line 19@23-3'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@23-3'::.cctor + } // end of method 'Pipe #2 input at line 19@23-3'::.cctor - } // end of class 'Pipe #2 input@23-3' + } // end of class 'Pipe #2 input at line 19@23-3' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@29' + .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 ) @@ -591,17 +591,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current + IL_0010: stfld int32 Linq101Partitioning01/'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 - } // end of method 'Pipe #3 input@29'::.ctor + } // end of method 'Pipe #3 input at line 28@29'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -612,7 +612,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -639,18 +639,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc .line 29,29 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 29,29 : 9,28 '' @@ -659,10 +659,10 @@ .line 30,30 : 9,15 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -672,24 +672,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc .line 29,29 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #3 input@29'::GenerateNext + } // end of method 'Pipe #3 input at line 28@29'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -700,7 +700,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -716,7 +716,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -746,19 +746,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input@29'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #3 input at line 28@29'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::current IL_0064: leave.s IL_0070 } // end .try @@ -787,7 +787,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #3 input@29'::Close + } // end of method 'Pipe #3 input at line 28@29'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -796,7 +796,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -830,7 +830,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #3 input@29'::get_CheckClose + } // end of method 'Pipe #3 input at line 28@29'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -840,9 +840,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input@29'::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #3 input at line 28@29'::current IL_0006: ret - } // end of method 'Pipe #3 input@29'::get_LastGenerated + } // end of method 'Pipe #3 input at line 28@29'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -854,15 +854,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/'Pipe #3 input@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #3 input at line 28@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #3 input@29'::GetFreshEnumerator + } // end of method 'Pipe #3 input at line 28@29'::GetFreshEnumerator - } // end of class 'Pipe #3 input@29' + } // end of class 'Pipe #3 input at line 28@29' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@37-1' + .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@ @@ -882,12 +882,12 @@ 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 Linq101Partitioning01/'Pipe #4 input@37-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input at line 35@37-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input@37-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input at line 35@37-1'::c IL_0014: ret - } // end of method 'Pipe #4 input@37-1'::.ctor + } // end of method 'Pipe #4 input at line 35@37-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -900,20 +900,20 @@ IL_0001: stloc.0 .line 38,38 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@37-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input at line 35@37-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input@37-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Partitioning01/'Pipe #4 input at line 35@37-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'Pipe #4 input@37-1'::Invoke + } // end of method 'Pipe #4 input at line 35@37-1'::Invoke - } // end of class 'Pipe #4 input@37-1' + } // end of class 'Pipe #4 input at line 35@37-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@36' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -931,9 +931,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input at line 35@36'::builder@ IL_000d: ret - } // end of method 'Pipe #4 input@36'::.ctor + } // end of method 'Pipe #4 input at line 35@36'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -946,29 +946,29 @@ IL_0001: stloc.0 .line 37,37 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input at line 35@36'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input@36'::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Partitioning01/'Pipe #4 input at line 35@36'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Partitioning01/'Pipe #4 input@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Partitioning01/'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 - } // end of method 'Pipe #4 input@36'::Invoke + } // end of method 'Pipe #4 input at line 35@36'::Invoke - } // end of class 'Pipe #4 input@36' + } // end of class 'Pipe #4 input at line 35@36' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@38-2' + .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 Linq101Partitioning01/'Pipe #4 input@38-2' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #4 input at line 35@38-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -979,7 +979,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@38-2'::.ctor + } // end of method 'Pipe #4 input at line 35@38-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -1002,24 +1002,24 @@ IL_0019: call bool [netstandard]System.String::Equals(string, string) IL_001e: ret - } // end of method 'Pipe #4 input@38-2'::Invoke + } // end of method 'Pipe #4 input at line 35@38-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input@38-2'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input@38-2' Linq101Partitioning01/'Pipe #4 input@38-2'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input at line 35@38-2'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input at line 35@38-2' Linq101Partitioning01/'Pipe #4 input at line 35@38-2'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@38-2'::.cctor + } // end of method 'Pipe #4 input at line 35@38-2'::.cctor - } // end of class 'Pipe #4 input@38-2' + } // end of class 'Pipe #4 input at line 35@38-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@39-3' + .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 [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Partitioning01/'Pipe #4 input@39-3' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #4 input at line 35@39-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1030,7 +1030,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@39-3'::.ctor + } // end of method 'Pipe #4 input at line 35@39-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -1057,21 +1057,21 @@ !1, !2) IL_0025: ret - } // end of method 'Pipe #4 input@39-3'::Invoke + } // end of method 'Pipe #4 input at line 35@39-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input@39-3'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input@39-3' Linq101Partitioning01/'Pipe #4 input@39-3'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #4 input at line 35@39-3'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #4 input at line 35@39-3' Linq101Partitioning01/'Pipe #4 input at line 35@39-3'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@39-3'::.cctor + } // end of method 'Pipe #4 input at line 35@39-3'::.cctor - } // end of class 'Pipe #4 input@39-3' + } // end of class 'Pipe #4 input at line 35@39-3' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@45' + .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 ) @@ -1096,17 +1096,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current + IL_0010: stfld int32 Linq101Partitioning01/'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 - } // end of method 'Pipe #5 input@45'::.ctor + } // end of method 'Pipe #5 input at line 44@45'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1117,7 +1117,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1144,18 +1144,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc .line 45,45 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 45,45 : 9,28 '' @@ -1164,10 +1164,10 @@ .line 46,46 : 9,26 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1177,24 +1177,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc .line 45,45 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #5 input@45'::GenerateNext + } // end of method 'Pipe #5 input at line 44@45'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1205,7 +1205,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1221,7 +1221,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1251,19 +1251,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input@45'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #5 input at line 44@45'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::current IL_0064: leave.s IL_0070 } // end .try @@ -1292,7 +1292,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #5 input@45'::Close + } // end of method 'Pipe #5 input at line 44@45'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1301,7 +1301,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1335,7 +1335,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #5 input@45'::get_CheckClose + } // end of method 'Pipe #5 input at line 44@45'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -1345,9 +1345,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input@45'::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #5 input at line 44@45'::current IL_0006: ret - } // end of method 'Pipe #5 input@45'::get_LastGenerated + } // end of method 'Pipe #5 input at line 44@45'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1359,18 +1359,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/'Pipe #5 input@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #5 input at line 44@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #5 input@45'::GetFreshEnumerator + } // end of method 'Pipe #5 input at line 44@45'::GetFreshEnumerator - } // end of class 'Pipe #5 input@45' + } // end of class 'Pipe #5 input at line 44@45' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@46-1' + .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 Linq101Partitioning01/'Pipe #5 input@46-1' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #5 input at line 44@46-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1381,7 +1381,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@46-1'::.ctor + } // end of method 'Pipe #5 input at line 44@46-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -1393,21 +1393,21 @@ IL_0001: ldc.i4.6 IL_0002: clt IL_0004: ret - } // end of method 'Pipe #5 input@46-1'::Invoke + } // end of method 'Pipe #5 input at line 44@46-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #5 input@46-1'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #5 input@46-1' Linq101Partitioning01/'Pipe #5 input@46-1'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #5 input at line 44@46-1'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #5 input at line 44@46-1' Linq101Partitioning01/'Pipe #5 input at line 44@46-1'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@46-1'::.cctor + } // end of method 'Pipe #5 input at line 44@46-1'::.cctor - } // end of class 'Pipe #5 input@46-1' + } // end of class 'Pipe #5 input at line 44@46-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input@52' + .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 ) @@ -1432,17 +1432,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0009: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current + IL_0010: stfld int32 Linq101Partitioning01/'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 - } // end of method 'Pipe #6 input@52'::.ctor + } // end of method 'Pipe #6 input at line 51@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -1453,7 +1453,7 @@ [1] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1480,18 +1480,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_numbers() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0037: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc .line 52,52 : 9,28 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 52,52 : 9,28 '' @@ -1500,10 +1500,10 @@ .line 53,53 : 9,31 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0059: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current + IL_0060: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -1513,24 +1513,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_006c: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc .line 52,52 : 9,28 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0086: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current + IL_008d: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #6 input@52'::GenerateNext + } // end of method 'Pipe #6 input at line 51@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1541,7 +1541,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1557,7 +1557,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0018: ldfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1587,19 +1587,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0044: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input@52'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Partitioning01/'Pipe #6 input at line 51@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0058: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current + IL_005f: stfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -1628,7 +1628,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #6 input@52'::Close + } // end of method 'Pipe #6 input at line 51@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1637,7 +1637,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::pc + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1671,7 +1671,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #6 input@52'::get_CheckClose + } // end of method 'Pipe #6 input at line 51@52'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -1681,9 +1681,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input@52'::current + IL_0001: ldfld int32 Linq101Partitioning01/'Pipe #6 input at line 51@52'::current IL_0006: ret - } // end of method 'Pipe #6 input@52'::get_LastGenerated + } // end of method 'Pipe #6 input at line 51@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1695,18 +1695,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Partitioning01/'Pipe #6 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Partitioning01/'Pipe #6 input at line 51@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #6 input@52'::GetFreshEnumerator + } // end of method 'Pipe #6 input at line 51@52'::GetFreshEnumerator - } // end of class 'Pipe #6 input@52' + } // end of class 'Pipe #6 input at line 51@52' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@53-1' + .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 Linq101Partitioning01/'Pipe #6 input@53-1' @_instance + .field static assembly initonly class Linq101Partitioning01/'Pipe #6 input at line 51@53-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1717,7 +1717,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@53-1'::.ctor + } // end of method 'Pipe #6 input at line 51@53-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -1733,19 +1733,19 @@ IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret - } // end of method 'Pipe #6 input@53-1'::Invoke + } // end of method 'Pipe #6 input at line 51@53-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Partitioning01/'Pipe #6 input@53-1'::.ctor() - IL_0005: stsfld class Linq101Partitioning01/'Pipe #6 input@53-1' Linq101Partitioning01/'Pipe #6 input@53-1'::@_instance + IL_0000: newobj instance void Linq101Partitioning01/'Pipe #6 input at line 51@53-1'::.ctor() + IL_0005: stsfld class Linq101Partitioning01/'Pipe #6 input at line 51@53-1' Linq101Partitioning01/'Pipe #6 input at line 51@53-1'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@53-1'::.cctor + } // end of method 'Pipe #6 input at line 51@53-1'::.cctor - } // end of class 'Pipe #6 input@53-1' + } // end of class 'Pipe #6 input at line 51@53-1' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed @@ -1905,18 +1905,18 @@ [5] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2, [6] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers, - [8] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [8] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 11', [9] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, - [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input', + [10] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #2 input at line 19', [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, - [12] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [12] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input at line 28', [13] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_13, - [14] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [14] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input at line 35', [15] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_15, - [16] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 stage #1', - [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input', + [16] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 stage #1 at line 40', + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #5 input at line 44', [18] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, - [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', + [19] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input at line 51', [20] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20) .line 7,7 : 1,47 '' IL_0000: ldc.i4.5 @@ -1962,17 +1962,17 @@ IL_0053: ldnull IL_0054: ldc.i4.0 IL_0055: ldc.i4.0 - IL_0056: newobj instance void Linq101Partitioning01/'Pipe #1 input@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0056: newobj instance void Linq101Partitioning01/'Pipe #1 input at line 11@12'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_005b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0060: ldc.i4.3 IL_0061: 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_0066: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_006b: stloc.s 'Pipe #1 input' + IL_006b: stloc.s 'Pipe #1 input at line 11' .line 14,14 : 10,20 '' - IL_006d: ldloc.s 'Pipe #1 input' + IL_006d: ldloc.s 'Pipe #1 input at line 11' IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0074: dup IL_0075: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::first3Numbers@10 @@ -1994,19 +1994,19 @@ IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() IL_009c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00a1: ldloc.s V_11 - IL_00a3: newobj instance void Linq101Partitioning01/'Pipe #2 input@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00a3: newobj instance void Linq101Partitioning01/'Pipe #2 input at line 19@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00a8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_00ad: ldsfld class Linq101Partitioning01/'Pipe #2 input@22-2' Linq101Partitioning01/'Pipe #2 input@22-2'::@_instance + IL_00ad: ldsfld class Linq101Partitioning01/'Pipe #2 input at line 19@22-2' Linq101Partitioning01/'Pipe #2 input at line 19@22-2'::@_instance IL_00b2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00b7: ldsfld class Linq101Partitioning01/'Pipe #2 input@23-3' Linq101Partitioning01/'Pipe #2 input@23-3'::@_instance + IL_00b7: ldsfld class Linq101Partitioning01/'Pipe #2 input at line 19@23-3' Linq101Partitioning01/'Pipe #2 input at line 19@23-3'::@_instance IL_00bc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_00c1: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_00c6: stloc.s 'Pipe #2 input' + IL_00c6: stloc.s 'Pipe #2 input at line 19' .line 24,24 : 10,21 '' - IL_00c8: ldloc.s 'Pipe #2 input' + IL_00c8: ldloc.s 'Pipe #2 input at line 19' IL_00ca: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00cf: dup IL_00d0: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Partitioning01::WAOrders@18 @@ -2020,17 +2020,17 @@ IL_00e0: ldnull IL_00e1: ldc.i4.0 IL_00e2: ldc.i4.0 - IL_00e3: newobj instance void Linq101Partitioning01/'Pipe #3 input@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_00e3: newobj instance void Linq101Partitioning01/'Pipe #3 input at line 28@29'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_00e8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00ed: ldc.i4.4 IL_00ee: 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_00f3: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_00f8: stloc.s 'Pipe #3 input' + IL_00f8: stloc.s 'Pipe #3 input at line 28' .line 31,31 : 10,20 '' - IL_00fa: ldloc.s 'Pipe #3 input' + IL_00fa: ldloc.s 'Pipe #3 input at line 28' IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0101: dup IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst4Numbers@27 @@ -2047,25 +2047,25 @@ IL_0119: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Partitioning01::get_customers() IL_011e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0123: ldloc.s V_15 - IL_0125: newobj instance void Linq101Partitioning01/'Pipe #4 input@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0125: newobj instance void Linq101Partitioning01/'Pipe #4 input at line 35@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_012a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_012f: ldsfld class Linq101Partitioning01/'Pipe #4 input@38-2' Linq101Partitioning01/'Pipe #4 input@38-2'::@_instance + IL_012f: ldsfld class Linq101Partitioning01/'Pipe #4 input at line 35@38-2' Linq101Partitioning01/'Pipe #4 input at line 35@38-2'::@_instance IL_0134: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0139: ldsfld class Linq101Partitioning01/'Pipe #4 input@39-3' Linq101Partitioning01/'Pipe #4 input@39-3'::@_instance + IL_0139: ldsfld class Linq101Partitioning01/'Pipe #4 input at line 35@39-3' Linq101Partitioning01/'Pipe #4 input at line 35@39-3'::@_instance IL_013e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0143: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0148: stloc.s 'Pipe #4 input' + IL_0148: stloc.s 'Pipe #4 input at line 35' .line 40,40 : 10,20 '' IL_014a: ldc.i4.2 - IL_014b: ldloc.s 'Pipe #4 input' + IL_014b: ldloc.s 'Pipe #4 input at line 35' IL_014d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0152: stloc.s 'Pipe #4 stage #1' + IL_0152: stloc.s 'Pipe #4 stage #1 at line 40' .line 40,40 : 24,34 '' - IL_0154: ldloc.s 'Pipe #4 stage #1' + IL_0154: ldloc.s 'Pipe #4 stage #1 at line 40' IL_0156: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_015b: dup IL_015c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Partitioning01::WAOrders2@34 @@ -2079,17 +2079,17 @@ IL_016d: ldnull IL_016e: ldc.i4.0 IL_016f: ldc.i4.0 - IL_0170: newobj instance void Linq101Partitioning01/'Pipe #5 input@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0170: newobj instance void Linq101Partitioning01/'Pipe #5 input at line 44@45'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0175: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_017a: ldsfld class Linq101Partitioning01/'Pipe #5 input@46-1' Linq101Partitioning01/'Pipe #5 input@46-1'::@_instance + IL_017a: ldsfld class Linq101Partitioning01/'Pipe #5 input at line 44@46-1' Linq101Partitioning01/'Pipe #5 input at line 44@46-1'::@_instance IL_017f: 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_0184: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0189: stloc.s 'Pipe #5 input' + IL_0189: stloc.s 'Pipe #5 input at line 44' .line 47,47 : 10,20 '' - IL_018b: ldloc.s 'Pipe #5 input' + IL_018b: ldloc.s 'Pipe #5 input at line 44' IL_018d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0192: dup IL_0193: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::firstNumbersLessThan6@43 @@ -2103,17 +2103,17 @@ IL_01a4: ldnull IL_01a5: ldc.i4.0 IL_01a6: ldc.i4.0 - IL_01a7: newobj instance void Linq101Partitioning01/'Pipe #6 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_01a7: newobj instance void Linq101Partitioning01/'Pipe #6 input at line 51@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_01ac: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_01b1: ldsfld class Linq101Partitioning01/'Pipe #6 input@53-1' Linq101Partitioning01/'Pipe #6 input@53-1'::@_instance + IL_01b1: ldsfld class Linq101Partitioning01/'Pipe #6 input at line 51@53-1' Linq101Partitioning01/'Pipe #6 input at line 51@53-1'::@_instance IL_01b6: 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_01bb: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01c0: stloc.s 'Pipe #6 input' + IL_01c0: stloc.s 'Pipe #6 input at line 51' .line 54,54 : 10,20 '' - IL_01c2: ldloc.s 'Pipe #6 input' + IL_01c2: ldloc.s 'Pipe #6 input at line 51' IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01c9: dup IL_01ca: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Partitioning01::allButFirst3Numbers@50 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl index 61aed52f07..aacf0b3155 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000398 Length: 0x000000FF } .module Linq101Quantifiers01.exe -// MVID: {6116A45B-76DD-E373-A745-03835BA41661} +// MVID: {611B0EC5-76DD-E373-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06310000 +// Image base: 0x06B80000 // =============== CLASS MEMBERS DECLARATION =================== @@ -397,7 +397,7 @@ } // end of class 'iAfterE@13-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@21' + .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@ @@ -415,9 +415,9 @@ 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 Linq101Quantifiers01/'Pipe #1 input@21'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input at line 20@21'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@21'::.ctor + } // end of method 'Pipe #1 input at line 20@21'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -430,19 +430,19 @@ IL_0001: stloc.0 .line 22,22 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@21'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'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 - } // end of method 'Pipe #1 input@21'::Invoke + } // end of method 'Pipe #1 input at line 20@21'::Invoke - } // end of class 'Pipe #1 input@21' + } // end of class 'Pipe #1 input at line 20@21' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@22-1' + .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 Linq101Quantifiers01/'Pipe #1 input@22-1' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input at line 20@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -453,7 +453,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@22-1'::.ctor + } // end of method 'Pipe #1 input at line 20@22-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -463,24 +463,24 @@ .line 22,22 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #1 input@22-1'::Invoke + } // end of method 'Pipe #1 input at line 20@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-1'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@22-1' Linq101Quantifiers01/'Pipe #1 input@22-1'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@22-1'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@22-1' Linq101Quantifiers01/'Pipe #1 input at line 20@22-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@22-1'::.cctor + } // end of method 'Pipe #1 input at line 20@22-1'::.cctor - } // end of class 'Pipe #1 input@22-1' + } // end of class 'Pipe #1 input at line 20@22-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@22-2' + .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 Linq101Quantifiers01/'Pipe #1 input@22-2' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input at line 20@22-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -491,7 +491,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@22-2'::.ctor + } // end of method 'Pipe #1 input at line 20@22-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -503,21 +503,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #1 input@22-2'::Invoke + } // end of method 'Pipe #1 input at line 20@22-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-2'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@22-2' Linq101Quantifiers01/'Pipe #1 input@22-2'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@22-2'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@22-2' Linq101Quantifiers01/'Pipe #1 input at line 20@22-2'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@22-2'::.cctor + } // end of method 'Pipe #1 input at line 20@22-2'::.cctor - } // end of class 'Pipe #1 input@22-2' + } // end of class 'Pipe #1 input at line 20@22-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@22-3' + .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@ @@ -535,9 +535,9 @@ 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 Linq101Quantifiers01/'Pipe #1 input@22-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input at line 20@22-3'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@22-3'::.ctor + } // end of method 'Pipe #1 input at line 20@22-3'::.ctor .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 @@ -549,16 +549,16 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #1 input@22-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'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 - } // end of method 'Pipe #1 input@22-3'::Invoke + } // end of method 'Pipe #1 input at line 20@22-3'::Invoke - } // end of class 'Pipe #1 input@22-3' + } // end of class 'Pipe #1 input at line 20@22-3' - .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@23-5' + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 20@23-5' extends [mscorlib]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 ) @@ -572,14 +572,14 @@ IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret - } // end of method 'Pipe #1 input@23-5'::Invoke + } // end of method 'Pipe #1 input at line 20@23-5'::Invoke - } // end of class 'Pipe #1 input@23-5' + } // end of class 'Pipe #1 input at line 20@23-5' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@23-4' + .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 Linq101Quantifiers01/'Pipe #1 input@23-4' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input at line 20@23-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -590,7 +590,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@23-4'::.ctor + } // end of method 'Pipe #1 input at line 20@23-4'::.ctor .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -600,30 +600,30 @@ .line 23,23 : 16,50 '' IL_0000: ldarg.1 IL_0001: ldnull - IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #1 input@23-5'::Invoke(class [Utils]Utils/Product) + IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #1 input at line 20@23-5'::Invoke(class [Utils]Utils/Product) IL_0008: newobj instance void class [mscorlib]System.Func`2::.ctor(object, native int) IL_000d: call bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1, class [mscorlib]System.Func`2) IL_0012: ret - } // end of method 'Pipe #1 input@23-4'::Invoke + } // end of method 'Pipe #1 input at line 20@23-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@23-4'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@23-4' Linq101Quantifiers01/'Pipe #1 input@23-4'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@23-4'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@23-4' Linq101Quantifiers01/'Pipe #1 input at line 20@23-4'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@23-4'::.cctor + } // end of method 'Pipe #1 input at line 20@23-4'::.cctor - } // end of class 'Pipe #1 input@23-4' + } // end of class 'Pipe #1 input at line 20@23-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@24-6' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input@24-6' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #1 input at line 20@24-6' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -634,7 +634,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@24-6'::.ctor + } // end of method 'Pipe #1 input at line 20@24-6'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -648,19 +648,19 @@ IL_0007: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_000c: ret - } // end of method 'Pipe #1 input@24-6'::Invoke + } // end of method 'Pipe #1 input at line 20@24-6'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input@24-6'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input@24-6' Linq101Quantifiers01/'Pipe #1 input@24-6'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@24-6'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@24-6' Linq101Quantifiers01/'Pipe #1 input at line 20@24-6'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@24-6'::.cctor + } // end of method 'Pipe #1 input at line 20@24-6'::.cctor - } // end of class 'Pipe #1 input@24-6' + } // end of class 'Pipe #1 input at line 20@24-6' .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 @@ -1000,7 +1000,7 @@ } // end of class 'onlyOdd@33-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@39' + .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@ @@ -1018,9 +1018,9 @@ 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 Linq101Quantifiers01/'Pipe #2 input@39'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input at line 38@39'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@39'::.ctor + } // end of method 'Pipe #2 input at line 38@39'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1033,19 +1033,19 @@ IL_0001: stloc.0 .line 40,40 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@39'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'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 - } // end of method 'Pipe #2 input@39'::Invoke + } // end of method 'Pipe #2 input at line 38@39'::Invoke - } // end of class 'Pipe #2 input@39' + } // end of class 'Pipe #2 input at line 38@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-1' + .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 Linq101Quantifiers01/'Pipe #2 input@40-1' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input at line 38@40-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1056,7 +1056,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@40-1'::.ctor + } // end of method 'Pipe #2 input at line 38@40-1'::.ctor .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed @@ -1066,24 +1066,24 @@ .line 40,40 : 20,21 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #2 input@40-1'::Invoke + } // end of method 'Pipe #2 input at line 38@40-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-1'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@40-1' Linq101Quantifiers01/'Pipe #2 input@40-1'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@40-1' Linq101Quantifiers01/'Pipe #2 input at line 38@40-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@40-1'::.cctor + } // end of method 'Pipe #2 input at line 38@40-1'::.cctor - } // end of class 'Pipe #2 input@40-1' + } // end of class 'Pipe #2 input at line 38@40-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-2' + .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 Linq101Quantifiers01/'Pipe #2 input@40-2' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input at line 38@40-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1094,7 +1094,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@40-2'::.ctor + } // end of method 'Pipe #2 input at line 38@40-2'::.ctor .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed @@ -1106,21 +1106,21 @@ IL_0001: tail. IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() IL_0008: ret - } // end of method 'Pipe #2 input@40-2'::Invoke + } // end of method 'Pipe #2 input at line 38@40-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-2'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@40-2' Linq101Quantifiers01/'Pipe #2 input@40-2'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@40-2' Linq101Quantifiers01/'Pipe #2 input at line 38@40-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@40-2'::.cctor + } // end of method 'Pipe #2 input at line 38@40-2'::.cctor - } // end of class 'Pipe #2 input@40-2' + } // end of class 'Pipe #2 input at line 38@40-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@40-3' + .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@ @@ -1138,9 +1138,9 @@ 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 Linq101Quantifiers01/'Pipe #2 input@40-3'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input at line 38@40-3'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@40-3'::.ctor + } // end of method 'Pipe #2 input at line 38@40-3'::.ctor .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 @@ -1152,16 +1152,16 @@ IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'Pipe #2 input@40-3'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Quantifiers01/'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 - } // end of method 'Pipe #2 input@40-3'::Invoke + } // end of method 'Pipe #2 input at line 38@40-3'::Invoke - } // end of class 'Pipe #2 input@40-3' + } // end of class 'Pipe #2 input at line 38@40-3' - .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@41-5' + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 38@41-5' extends [mscorlib]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 ) @@ -1175,14 +1175,14 @@ IL_0006: ldc.i4.0 IL_0007: cgt IL_0009: ret - } // end of method 'Pipe #2 input@41-5'::Invoke + } // end of method 'Pipe #2 input at line 38@41-5'::Invoke - } // end of class 'Pipe #2 input@41-5' + } // end of class 'Pipe #2 input at line 38@41-5' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@41-4' + .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 Linq101Quantifiers01/'Pipe #2 input@41-4' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input at line 38@41-4' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1193,7 +1193,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@41-4'::.ctor + } // end of method 'Pipe #2 input at line 38@41-4'::.ctor .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -1203,30 +1203,30 @@ .line 41,41 : 16,50 '' IL_0000: ldarg.1 IL_0001: ldnull - IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #2 input@41-5'::Invoke(class [Utils]Utils/Product) + IL_0002: ldftn bool Linq101Quantifiers01/'Pipe #2 input at line 38@41-5'::Invoke(class [Utils]Utils/Product) IL_0008: newobj instance void class [mscorlib]System.Func`2::.ctor(object, native int) IL_000d: call bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, class [mscorlib]System.Func`2) IL_0012: ret - } // end of method 'Pipe #2 input@41-4'::Invoke + } // end of method 'Pipe #2 input at line 38@41-4'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@41-4'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@41-4' Linq101Quantifiers01/'Pipe #2 input@41-4'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@41-4'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@41-4' Linq101Quantifiers01/'Pipe #2 input at line 38@41-4'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@41-4'::.cctor + } // end of method 'Pipe #2 input at line 38@41-4'::.cctor - } // end of class 'Pipe #2 input@41-4' + } // end of class 'Pipe #2 input at line 38@41-4' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@42-6' + .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 [mscorlib]System.Tuple`2>> { - .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input@42-6' @_instance + .field static assembly initonly class Linq101Quantifiers01/'Pipe #2 input at line 38@42-6' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1237,7 +1237,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@42-6'::.ctor + } // end of method 'Pipe #2 input at line 38@42-6'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed @@ -1251,19 +1251,19 @@ IL_0007: newobj instance void class [mscorlib]System.Tuple`2>::.ctor(!0, !1) IL_000c: ret - } // end of method 'Pipe #2 input@42-6'::Invoke + } // end of method 'Pipe #2 input at line 38@42-6'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input@42-6'::.ctor() - IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input@42-6' Linq101Quantifiers01/'Pipe #2 input@42-6'::@_instance + IL_0000: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@42-6'::.ctor() + IL_0005: stsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@42-6' Linq101Quantifiers01/'Pipe #2 input at line 38@42-6'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@42-6'::.cctor + } // end of method 'Pipe #2 input at line 38@42-6'::.cctor - } // end of class 'Pipe #2 input@42-6' + } // end of class 'Pipe #2 input at line 38@42-6' .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed @@ -1403,9 +1403,9 @@ [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [5] bool onlyOdd, [6] class [mscorlib]System.Tuple`2>[] productGroups2, - [7] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #1 input', + [7] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #1 input at line 20', [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, - [9] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input', + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1>> 'Pipe #2 input at line 38', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10) .line 8,8 : 1,54 '' IL_0000: ldstr "believe" @@ -1457,28 +1457,28 @@ IL_0077: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() IL_007c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0081: ldloc.s V_8 - IL_0083: newobj instance void Linq101Quantifiers01/'Pipe #1 input@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0083: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0088: 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_008d: ldsfld class Linq101Quantifiers01/'Pipe #1 input@22-1' Linq101Quantifiers01/'Pipe #1 input@22-1'::@_instance - IL_0092: ldsfld class Linq101Quantifiers01/'Pipe #1 input@22-2' Linq101Quantifiers01/'Pipe #1 input@22-2'::@_instance + IL_008d: ldsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@22-1' Linq101Quantifiers01/'Pipe #1 input at line 20@22-1'::@_instance + IL_0092: ldsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@22-2' Linq101Quantifiers01/'Pipe #1 input at line 20@22-2'::@_instance IL_0097: 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_009c: ldloc.s V_8 - IL_009e: newobj instance void Linq101Quantifiers01/'Pipe #1 input@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_009e: newobj instance void Linq101Quantifiers01/'Pipe #1 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_00a3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_00a8: ldsfld class Linq101Quantifiers01/'Pipe #1 input@23-4' Linq101Quantifiers01/'Pipe #1 input@23-4'::@_instance + IL_00a8: ldsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@23-4' Linq101Quantifiers01/'Pipe #1 input at line 20@23-4'::@_instance IL_00ad: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_00b2: ldsfld class Linq101Quantifiers01/'Pipe #1 input@24-6' Linq101Quantifiers01/'Pipe #1 input@24-6'::@_instance + IL_00b2: ldsfld class Linq101Quantifiers01/'Pipe #1 input at line 20@24-6' Linq101Quantifiers01/'Pipe #1 input at line 20@24-6'::@_instance IL_00b7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_00bc: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_00c1: stloc.s 'Pipe #1 input' + IL_00c1: stloc.s 'Pipe #1 input at line 20' .line 25,25 : 10,21 '' - IL_00c3: ldloc.s 'Pipe #1 input' + IL_00c3: ldloc.s 'Pipe #1 input at line 20' IL_00c5: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_00ca: dup IL_00cb: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups@19 @@ -1537,28 +1537,28 @@ IL_0145: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Quantifiers01::get_products() IL_014a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_014f: ldloc.s V_10 - IL_0151: newobj instance void Linq101Quantifiers01/'Pipe #2 input@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0151: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0156: 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_015b: ldsfld class Linq101Quantifiers01/'Pipe #2 input@40-1' Linq101Quantifiers01/'Pipe #2 input@40-1'::@_instance - IL_0160: ldsfld class Linq101Quantifiers01/'Pipe #2 input@40-2' Linq101Quantifiers01/'Pipe #2 input@40-2'::@_instance + IL_015b: ldsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@40-1' Linq101Quantifiers01/'Pipe #2 input at line 38@40-1'::@_instance + IL_0160: ldsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@40-2' Linq101Quantifiers01/'Pipe #2 input at line 38@40-2'::@_instance IL_0165: 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_016a: ldloc.s V_10 - IL_016c: newobj instance void Linq101Quantifiers01/'Pipe #2 input@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_016c: newobj instance void Linq101Quantifiers01/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0171: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]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_0176: ldsfld class Linq101Quantifiers01/'Pipe #2 input@41-4' Linq101Quantifiers01/'Pipe #2 input@41-4'::@_instance + IL_0176: ldsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@41-4' Linq101Quantifiers01/'Pipe #2 input at line 38@41-4'::@_instance IL_017b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0180: ldsfld class Linq101Quantifiers01/'Pipe #2 input@42-6' Linq101Quantifiers01/'Pipe #2 input@42-6'::@_instance + IL_0180: ldsfld class Linq101Quantifiers01/'Pipe #2 input at line 38@42-6' Linq101Quantifiers01/'Pipe #2 input at line 38@42-6'::@_instance IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_018a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_018f: stloc.s 'Pipe #2 input' + IL_018f: stloc.s 'Pipe #2 input at line 38' .line 43,43 : 10,21 '' - IL_0191: ldloc.s 'Pipe #2 input' + IL_0191: ldloc.s 'Pipe #2 input at line 38' IL_0193: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0198: dup IL_0199: stsfld class [mscorlib]System.Tuple`2>[] ''.$Linq101Quantifiers01::productGroups2@37 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl index 2ee07c29ee..bc788f95c2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000648 Length: 0x00000204 } .module Linq101Select01.exe -// MVID: {6116A45B-6057-8F80-A745-03835BA41661} +// MVID: {611B0EC5-6057-8F80-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x068F0000 +// Image base: 0x06AD0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,10 +60,10 @@ extends [mscorlib]System.Object { .custom instance 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@12-1' + .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 Linq101Select01/'Pipe #1 input@12-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #1 input at line 11@12-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -74,7 +74,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@12-1'::.ctor + } // end of method 'Pipe #1 input at line 11@12-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -91,21 +91,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #1 input@12-1'::Invoke + } // end of method 'Pipe #1 input at line 11@12-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #1 input@12-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #1 input@12-1' Linq101Select01/'Pipe #1 input@12-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #1 input at line 11@12-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #1 input at line 11@12-1' Linq101Select01/'Pipe #1 input at line 11@12-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@12-1'::.cctor + } // end of method 'Pipe #1 input at line 11@12-1'::.cctor - } // end of class 'Pipe #1 input@12-1' + } // end of class 'Pipe #1 input at line 11@12-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input@13' + .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 ) @@ -130,17 +130,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101Select01/'Pipe #1 input@13'::current + IL_0010: stfld int32 Linq101Select01/'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 - } // end of method 'Pipe #1 input@13'::.ctor + } // end of method 'Pipe #1 input at line 11@13'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -150,7 +150,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -175,34 +175,34 @@ IL_0024: nop .line 13,13 : 9,23 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Select01/'Pipe #1 input@12-1' Linq101Select01/'Pipe #1 input@12-1'::@_instance + IL_0026: ldsfld class Linq101Select01/'Pipe #1 input at line 11@12-1' Linq101Select01/'Pipe #1 input at line 11@12-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0041: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc .line 13,13 : 9,23 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0074 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 13,13 : 17,22 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0061: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 IL_0068: ldc.i4.1 IL_0069: add - IL_006a: stfld int32 Linq101Select01/'Pipe #1 input@13'::current + IL_006a: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::current IL_006f: ldc.i4.1 IL_0070: ret @@ -212,24 +212,24 @@ IL_0074: ldarg.0 IL_0075: ldc.i4.3 - IL_0076: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0076: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc .line 13,13 : 9,23 '' IL_007b: ldarg.0 - IL_007c: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_007c: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_0081: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0086: nop IL_0087: ldarg.0 IL_0088: ldnull - IL_0089: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_0089: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_008e: ldarg.0 IL_008f: ldc.i4.3 - IL_0090: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0090: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0095: ldarg.0 IL_0096: ldc.i4.0 - IL_0097: stfld int32 Linq101Select01/'Pipe #1 input@13'::current + IL_0097: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::current IL_009c: ldc.i4.0 IL_009d: ret - } // end of method 'Pipe #1 input@13'::GenerateNext + } // end of method 'Pipe #1 input at line 11@13'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -240,7 +240,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -256,7 +256,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -286,19 +286,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input@13'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #1 input at line 11@13'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101Select01/'Pipe #1 input@13'::current + IL_005f: stfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::current IL_0064: leave.s IL_0070 } // end .try @@ -327,7 +327,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #1 input@13'::Close + } // end of method 'Pipe #1 input at line 11@13'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -336,7 +336,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -370,7 +370,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #1 input@13'::get_CheckClose + } // end of method 'Pipe #1 input at line 11@13'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -380,9 +380,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input@13'::current + IL_0001: ldfld int32 Linq101Select01/'Pipe #1 input at line 11@13'::current IL_0006: ret - } // end of method 'Pipe #1 input@13'::get_LastGenerated + } // end of method 'Pipe #1 input at line 11@13'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -394,13 +394,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101Select01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101Select01/'Pipe #1 input at line 11@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #1 input@13'::GetFreshEnumerator + } // end of method 'Pipe #1 input at line 11@13'::GetFreshEnumerator - } // end of class 'Pipe #1 input@13' + } // end of class 'Pipe #1 input at line 11@13' .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -742,10 +742,10 @@ } // end of class productNames@22 - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@29-1' + .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 Linq101Select01/'Pipe #2 input@29-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #2 input at line 28@29-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -756,7 +756,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@29-1'::.ctor + } // end of method 'Pipe #2 input at line 28@29-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -772,21 +772,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #2 input@29-1'::Invoke + } // end of method 'Pipe #2 input at line 28@29-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #2 input@29-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #2 input@29-1' Linq101Select01/'Pipe #2 input@29-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #2 input at line 28@29-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #2 input at line 28@29-1' Linq101Select01/'Pipe #2 input at line 28@29-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@29-1'::.cctor + } // end of method 'Pipe #2 input at line 28@29-1'::.cctor - } // end of class 'Pipe #2 input@29-1' + } // end of class 'Pipe #2 input at line 28@29-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@30' + .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 ) @@ -811,17 +811,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Select01/'Pipe #2 input@30'::current + IL_0010: stfld string Linq101Select01/'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 - } // end of method 'Pipe #2 input@30'::.ctor + } // end of method 'Pipe #2 input at line 28@30'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -831,7 +831,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -856,34 +856,34 @@ IL_0024: nop .line 30,30 : 9,29 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Select01/'Pipe #2 input@29-1' Linq101Select01/'Pipe #2 input@29-1'::@_instance + IL_0026: ldsfld class Linq101Select01/'Pipe #2 input at line 28@29-1' Linq101Select01/'Pipe #2 input at line 28@29-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0041: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc .line 30,30 : 9,29 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_007c IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 30,30 : 17,28 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0061: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_0066: ldarg.0 IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() IL_006c: ldloc.0 IL_006d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) - IL_0072: stfld string Linq101Select01/'Pipe #2 input@30'::current + IL_0072: stfld string Linq101Select01/'Pipe #2 input at line 28@30'::current IL_0077: ldc.i4.1 IL_0078: ret @@ -893,24 +893,24 @@ IL_007c: ldarg.0 IL_007d: ldc.i4.3 - IL_007e: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_007e: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc .line 30,30 : 9,29 '' IL_0083: ldarg.0 - IL_0084: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_0084: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_0091: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_0096: ldarg.0 IL_0097: ldc.i4.3 - IL_0098: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0098: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_009d: ldarg.0 IL_009e: ldnull - IL_009f: stfld string Linq101Select01/'Pipe #2 input@30'::current + IL_009f: stfld string Linq101Select01/'Pipe #2 input at line 28@30'::current IL_00a4: ldc.i4.0 IL_00a5: ret - } // end of method 'Pipe #2 input@30'::GenerateNext + } // end of method 'Pipe #2 input at line 28@30'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -921,7 +921,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -937,7 +937,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -967,19 +967,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input@30'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #2 input at line 28@30'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Select01/'Pipe #2 input@30'::current + IL_005f: stfld string Linq101Select01/'Pipe #2 input at line 28@30'::current IL_0064: leave.s IL_0070 } // end .try @@ -1008,7 +1008,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #2 input@30'::Close + } // end of method 'Pipe #2 input at line 28@30'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1017,7 +1017,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input@30'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #2 input at line 28@30'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1051,7 +1051,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #2 input@30'::get_CheckClose + } // end of method 'Pipe #2 input at line 28@30'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -1061,9 +1061,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Select01/'Pipe #2 input@30'::current + IL_0001: ldfld string Linq101Select01/'Pipe #2 input at line 28@30'::current IL_0006: ret - } // end of method 'Pipe #2 input@30'::get_LastGenerated + } // end of method 'Pipe #2 input at line 28@30'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -1075,18 +1075,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/'Pipe #2 input@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Select01/'Pipe #2 input at line 28@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #2 input@30'::GetFreshEnumerator + } // end of method 'Pipe #2 input at line 28@30'::GetFreshEnumerator - } // end of class 'Pipe #2 input@30' + } // end of class 'Pipe #2 input at line 28@30' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@38-1' + .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 Linq101Select01/'Pipe #3 input@38-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #3 input at line 37@38-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1097,7 +1097,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@38-1'::.ctor + } // end of method 'Pipe #3 input at line 37@38-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed @@ -1113,21 +1113,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #3 input@38-1'::Invoke + } // end of method 'Pipe #3 input at line 37@38-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #3 input@38-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #3 input@38-1' Linq101Select01/'Pipe #3 input@38-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #3 input at line 37@38-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #3 input at line 37@38-1' Linq101Select01/'Pipe #3 input at line 37@38-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@38-1'::.cctor + } // end of method 'Pipe #3 input at line 37@38-1'::.cctor - } // end of class 'Pipe #3 input@38-1' + } // end of class 'Pipe #3 input at line 37@38-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@39' + .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 ) @@ -1152,17 +1152,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current + IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'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 - } // end of method 'Pipe #3 input@39'::.ctor + } // end of method 'Pipe #3 input at line 37@39'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1172,7 +1172,7 @@ .locals init ([0] string w) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1197,29 +1197,29 @@ IL_0027: nop .line 39,39 : 8,41 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'Pipe #3 input@38-1' Linq101Select01/'Pipe #3 input@38-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #3 input at line 37@38-1' Linq101Select01/'Pipe #3 input at line 37@38-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_words() IL_0033: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc .line 39,39 : 8,41 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_0085 IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 39,39 : 16,40 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_0069: ldarg.0 IL_006a: ldloc.0 IL_006b: callvirt instance string [mscorlib]System.String::ToUpper() @@ -1227,7 +1227,7 @@ IL_0071: callvirt instance string [mscorlib]System.String::ToLower() IL_0076: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) - IL_007b: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current + IL_007b: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input at line 37@39'::current IL_0080: ldc.i4.1 IL_0081: ret @@ -1237,24 +1237,24 @@ IL_0085: ldarg.0 IL_0086: ldc.i4.3 - IL_0087: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0087: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc .line 39,39 : 8,41 '' IL_008c: ldarg.0 - IL_008d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_008d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_0092: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0097: nop IL_0098: ldarg.0 IL_0099: ldnull - IL_009a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_009a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_009f: ldarg.0 IL_00a0: ldc.i4.3 - IL_00a1: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_00a1: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_00a6: ldarg.0 IL_00a7: ldnull - IL_00a8: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current + IL_00a8: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input at line 37@39'::current IL_00ad: ldc.i4.0 IL_00ae: ret - } // end of method 'Pipe #3 input@39'::GenerateNext + } // end of method 'Pipe #3 input at line 37@39'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1265,7 +1265,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1281,7 +1281,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1311,19 +1311,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input@39'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #3 input at line 37@39'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current + IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input at line 37@39'::current IL_0064: leave.s IL_0070 } // end .try @@ -1352,7 +1352,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #3 input@39'::Close + } // end of method 'Pipe #3 input at line 37@39'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1361,7 +1361,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input@39'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #3 input at line 37@39'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1395,7 +1395,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #3 input@39'::get_CheckClose + } // end of method 'Pipe #3 input at line 37@39'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`2 get_LastGenerated() cil managed @@ -1405,9 +1405,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input@39'::current + IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #3 input at line 37@39'::current IL_0006: ret - } // end of method 'Pipe #3 input@39'::get_LastGenerated + } // end of method 'Pipe #3 input at line 37@39'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -1419,18 +1419,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/'Pipe #3 input@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) + IL_0003: newobj instance void Linq101Select01/'Pipe #3 input at line 37@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) IL_0008: ret - } // end of method 'Pipe #3 input@39'::GetFreshEnumerator + } // end of method 'Pipe #3 input at line 37@39'::GetFreshEnumerator - } // end of class 'Pipe #3 input@39' + } // end of class 'Pipe #3 input at line 37@39' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input@45-1' + .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 Linq101Select01/'Pipe #4 input@45-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #4 input at line 44@45-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1441,7 +1441,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #4 input@45-1'::.ctor + } // end of method 'Pipe #4 input at line 44@45-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed @@ -1457,21 +1457,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #4 input@45-1'::Invoke + } // end of method 'Pipe #4 input at line 44@45-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #4 input@45-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #4 input@45-1' Linq101Select01/'Pipe #4 input@45-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #4 input at line 44@45-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #4 input at line 44@45-1' Linq101Select01/'Pipe #4 input at line 44@45-1'::@_instance IL_000a: ret - } // end of method 'Pipe #4 input@45-1'::.cctor + } // end of method 'Pipe #4 input at line 44@45-1'::.cctor - } // end of class 'Pipe #4 input@45-1' + } // end of class 'Pipe #4 input at line 44@45-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input@46' + .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 ) @@ -1496,17 +1496,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current + IL_0010: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'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 - } // end of method 'Pipe #4 input@46'::.ctor + } // end of method 'Pipe #4 input at line 44@46'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1516,7 +1516,7 @@ .locals init ([0] int32 n) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1541,29 +1541,29 @@ IL_0027: nop .line 46,46 : 9,42 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'Pipe #4 input@45-1' Linq101Select01/'Pipe #4 input@45-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #4 input at line 44@45-1' Linq101Select01/'Pipe #4 input at line 44@45-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_0033: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc .line 46,46 : 9,42 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_008a IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 46,46 : 17,41 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_0069: ldarg.0 IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_strings() IL_006f: ldloc.0 @@ -1575,7 +1575,7 @@ IL_0079: ceq IL_007b: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) - IL_0080: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current + IL_0080: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input at line 44@46'::current IL_0085: ldc.i4.1 IL_0086: ret @@ -1585,24 +1585,24 @@ IL_008a: ldarg.0 IL_008b: ldc.i4.3 - IL_008c: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_008c: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc .line 46,46 : 9,42 '' IL_0091: ldarg.0 - IL_0092: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_0092: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_009f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_00a4: ldarg.0 IL_00a5: ldc.i4.3 - IL_00a6: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_00a6: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_00ab: ldarg.0 IL_00ac: ldnull - IL_00ad: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current + IL_00ad: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input at line 44@46'::current IL_00b2: ldc.i4.0 IL_00b3: ret - } // end of method 'Pipe #4 input@46'::GenerateNext + } // end of method 'Pipe #4 input at line 44@46'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1613,7 +1613,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1629,7 +1629,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -1659,19 +1659,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input@46'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #4 input at line 44@46'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current + IL_005f: stfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input at line 44@46'::current IL_0064: leave.s IL_0070 } // end .try @@ -1700,7 +1700,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #4 input@46'::Close + } // end of method 'Pipe #4 input at line 44@46'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -1709,7 +1709,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input@46'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #4 input at line 44@46'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -1743,7 +1743,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #4 input@46'::get_CheckClose + } // end of method 'Pipe #4 input at line 44@46'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`2 get_LastGenerated() cil managed @@ -1753,9 +1753,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input@46'::current + IL_0001: ldfld class [mscorlib]System.Tuple`2 Linq101Select01/'Pipe #4 input at line 44@46'::current IL_0006: ret - } // end of method 'Pipe #4 input@46'::get_LastGenerated + } // end of method 'Pipe #4 input at line 44@46'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -1767,18 +1767,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/'Pipe #4 input@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) + IL_0003: newobj instance void Linq101Select01/'Pipe #4 input at line 44@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) IL_0008: ret - } // end of method 'Pipe #4 input@46'::GetFreshEnumerator + } // end of method 'Pipe #4 input at line 44@46'::GetFreshEnumerator - } // end of class 'Pipe #4 input@46' + } // end of class 'Pipe #4 input at line 44@46' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input@52-1' + .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 Linq101Select01/'Pipe #5 input@52-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #5 input at line 51@52-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -1789,7 +1789,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #5 input@52-1'::.ctor + } // end of method 'Pipe #5 input at line 51@52-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -1805,21 +1805,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #5 input@52-1'::Invoke + } // end of method 'Pipe #5 input at line 51@52-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #5 input@52-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #5 input@52-1' Linq101Select01/'Pipe #5 input@52-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #5 input at line 51@52-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #5 input at line 51@52-1' Linq101Select01/'Pipe #5 input at line 51@52-1'::@_instance IL_000a: ret - } // end of method 'Pipe #5 input@52-1'::.cctor + } // end of method 'Pipe #5 input at line 51@52-1'::.cctor - } // end of class 'Pipe #5 input@52-1' + } // end of class 'Pipe #5 input at line 51@52-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input@53' + .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 ) @@ -1844,17 +1844,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0009: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current + IL_0010: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'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 - } // end of method 'Pipe #5 input@53'::.ctor + } // end of method 'Pipe #5 input at line 51@53'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1>& next) cil managed @@ -1864,7 +1864,7 @@ .locals init ([0] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -1889,29 +1889,29 @@ IL_0027: nop .line 53,53 : 9,56 '' IL_0028: ldarg.0 - IL_0029: ldsfld class Linq101Select01/'Pipe #5 input@52-1' Linq101Select01/'Pipe #5 input@52-1'::@_instance + IL_0029: ldsfld class Linq101Select01/'Pipe #5 input at line 51@52-1' Linq101Select01/'Pipe #5 input at line 51@52-1'::@_instance IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_products() IL_0033: call class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0038: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_003d: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_0042: ldarg.0 IL_0043: ldc.i4.1 - IL_0044: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc .line 53,53 : 9,56 '' IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_004f: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0054: brfalse.s IL_008b IL_0056: ldarg.0 - IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_0057: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_005c: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0061: stloc.0 .line 53,53 : 17,55 '' IL_0062: ldarg.0 IL_0063: ldc.i4.2 - IL_0064: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0064: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_0069: ldarg.0 IL_006a: ldloc.0 IL_006b: callvirt instance string [Utils]Utils/Product::get_ProductName() @@ -1922,7 +1922,7 @@ IL_007c: newobj instance void class [mscorlib]System.Tuple`3::.ctor(!0, !1, !2) - IL_0081: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current + IL_0081: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input at line 51@53'::current IL_0086: ldc.i4.1 IL_0087: ret @@ -1932,24 +1932,24 @@ IL_008b: ldarg.0 IL_008c: ldc.i4.3 - IL_008d: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_008d: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc .line 53,53 : 9,56 '' IL_0092: ldarg.0 - IL_0093: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_0093: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_0098: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_009d: nop IL_009e: ldarg.0 IL_009f: ldnull - IL_00a0: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_00a0: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_00a5: ldarg.0 IL_00a6: ldc.i4.3 - IL_00a7: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_00a7: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_00ac: ldarg.0 IL_00ad: ldnull - IL_00ae: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current + IL_00ae: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input at line 51@53'::current IL_00b3: ldc.i4.0 IL_00b4: ret - } // end of method 'Pipe #5 input@53'::GenerateNext + } // end of method 'Pipe #5 input at line 51@53'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -1960,7 +1960,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -1976,7 +1976,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0018: ldfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -2006,19 +2006,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0044: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input@53'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Select01/'Pipe #5 input at line 51@53'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0058: stfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current + IL_005f: stfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input at line 51@53'::current IL_0064: leave.s IL_0070 } // end .try @@ -2047,7 +2047,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #5 input@53'::Close + } // end of method 'Pipe #5 input at line 51@53'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -2056,7 +2056,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input@53'::pc + IL_0001: ldfld int32 Linq101Select01/'Pipe #5 input at line 51@53'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -2090,7 +2090,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #5 input@53'::get_CheckClose + } // end of method 'Pipe #5 input at line 51@53'::get_CheckClose .method public strict virtual instance class [mscorlib]System.Tuple`3 get_LastGenerated() cil managed @@ -2100,9 +2100,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input@53'::current + IL_0001: ldfld class [mscorlib]System.Tuple`3 Linq101Select01/'Pipe #5 input at line 51@53'::current IL_0006: ret - } // end of method 'Pipe #5 input@53'::get_LastGenerated + } // end of method 'Pipe #5 input at line 51@53'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed @@ -2114,15 +2114,15 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Select01/'Pipe #5 input@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`3) + IL_0003: newobj instance void Linq101Select01/'Pipe #5 input at line 51@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`3) IL_0008: ret - } // end of method 'Pipe #5 input@53'::GetFreshEnumerator + } // end of method 'Pipe #5 input at line 51@53'::GetFreshEnumerator - } // end of class 'Pipe #5 input@53' + } // end of class 'Pipe #5 input at line 51@53' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@60' + .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@ @@ -2140,9 +2140,9 @@ 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 Linq101Select01/'Pipe #6 input@60'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #6 input at line 59@60'::builder@ IL_000d: ret - } // end of method 'Pipe #6 input@60'::.ctor + } // end of method 'Pipe #6 input at line 59@60'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -2155,19 +2155,19 @@ IL_0001: stloc.0 .line 61,61 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #6 input@60'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'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 - } // end of method 'Pipe #6 input@60'::Invoke + } // end of method 'Pipe #6 input at line 59@60'::Invoke - } // end of class 'Pipe #6 input@60' + } // end of class 'Pipe #6 input at line 59@60' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@61-1' + .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 Linq101Select01/'Pipe #6 input@61-1' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #6 input at line 59@61-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2178,7 +2178,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@61-1'::.ctor + } // end of method 'Pipe #6 input at line 59@61-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -2190,24 +2190,24 @@ IL_0001: ldc.i4.5 IL_0002: clt IL_0004: ret - } // end of method 'Pipe #6 input@61-1'::Invoke + } // end of method 'Pipe #6 input at line 59@61-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #6 input@61-1'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #6 input@61-1' Linq101Select01/'Pipe #6 input@61-1'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #6 input at line 59@61-1' Linq101Select01/'Pipe #6 input at line 59@61-1'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@61-1'::.cctor + } // end of method 'Pipe #6 input at line 59@61-1'::.cctor - } // end of class 'Pipe #6 input@61-1' + } // end of class 'Pipe #6 input at line 59@61-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input@62-2' + .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 Linq101Select01/'Pipe #6 input@62-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #6 input at line 59@62-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2218,7 +2218,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #6 input@62-2'::.ctor + } // end of method 'Pipe #6 input at line 59@62-2'::.ctor .method public strict virtual instance string Invoke(int32 n) cil managed @@ -2231,21 +2231,21 @@ IL_0006: tail. IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) IL_000d: ret - } // end of method 'Pipe #6 input@62-2'::Invoke + } // end of method 'Pipe #6 input at line 59@62-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #6 input@62-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #6 input@62-2' Linq101Select01/'Pipe #6 input@62-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #6 input at line 59@62-2' Linq101Select01/'Pipe #6 input at line 59@62-2'::@_instance IL_000a: ret - } // end of method 'Pipe #6 input@62-2'::.cctor + } // end of method 'Pipe #6 input at line 59@62-2'::.cctor - } // end of class 'Pipe #6 input@62-2' + } // end of class 'Pipe #6 input at line 59@62-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@73-1' + .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@ @@ -2265,12 +2265,12 @@ 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 Linq101Select01/'Pipe #7 input@73-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@73-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld int32 Linq101Select01/'Pipe #7 input@73-1'::a + IL_000f: stfld int32 Linq101Select01/'Pipe #7 input at line 71@73-1'::a IL_0014: ret - } // end of method 'Pipe #7 input@73-1'::.ctor + } // end of method 'Pipe #7 input at line 71@73-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed @@ -2283,20 +2283,20 @@ IL_0001: stloc.0 .line 74,74 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@73-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@73-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld int32 Linq101Select01/'Pipe #7 input@73-1'::a + IL_0009: ldfld int32 Linq101Select01/'Pipe #7 input at line 71@73-1'::a IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'Pipe #7 input@73-1'::Invoke + } // end of method 'Pipe #7 input at line 71@73-1'::Invoke - } // end of class 'Pipe #7 input@73-1' + } // end of class 'Pipe #7 input at line 71@73-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@72' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2314,9 +2314,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@72'::builder@ IL_000d: ret - } // end of method 'Pipe #7 input@72'::.ctor + } // end of method 'Pipe #7 input at line 71@72'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed @@ -2329,28 +2329,28 @@ IL_0001: stloc.0 .line 73,73 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@72'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@72'::builder@ IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersB() IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0018: ldarg.0 - IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input@72'::builder@ + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #7 input at line 71@72'::builder@ IL_001e: ldloc.0 - IL_001f: newobj instance void Linq101Select01/'Pipe #7 input@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - int32) + IL_001f: newobj instance void Linq101Select01/'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 - } // end of method 'Pipe #7 input@72'::Invoke + } // end of method 'Pipe #7 input at line 71@72'::Invoke - } // end of class 'Pipe #7 input@72' + } // end of class 'Pipe #7 input at line 71@72' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@74-2' + .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 Linq101Select01/'Pipe #7 input@74-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #7 input at line 71@74-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2361,7 +2361,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #7 input@74-2'::.ctor + } // end of method 'Pipe #7 input at line 71@74-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2382,24 +2382,24 @@ IL_000f: ldloc.1 IL_0010: clt IL_0012: ret - } // end of method 'Pipe #7 input@74-2'::Invoke + } // end of method 'Pipe #7 input at line 71@74-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #7 input@74-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #7 input@74-2' Linq101Select01/'Pipe #7 input@74-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #7 input at line 71@74-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #7 input at line 71@74-2' Linq101Select01/'Pipe #7 input at line 71@74-2'::@_instance IL_000a: ret - } // end of method 'Pipe #7 input@74-2'::.cctor + } // end of method 'Pipe #7 input at line 71@74-2'::.cctor - } // end of class 'Pipe #7 input@74-2' + } // end of class 'Pipe #7 input at line 71@74-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input@75-3' + .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 [mscorlib]System.Tuple`2> { - .field static assembly initonly class Linq101Select01/'Pipe #7 input@75-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #7 input at line 71@75-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2410,7 +2410,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #7 input@75-3'::.ctor + } // end of method 'Pipe #7 input at line 71@75-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`2 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2432,21 +2432,21 @@ IL_0010: newobj instance void class [mscorlib]System.Tuple`2::.ctor(!0, !1) IL_0015: ret - } // end of method 'Pipe #7 input@75-3'::Invoke + } // end of method 'Pipe #7 input at line 71@75-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #7 input@75-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #7 input@75-3' Linq101Select01/'Pipe #7 input@75-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #7 input at line 71@75-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #7 input at line 71@75-3' Linq101Select01/'Pipe #7 input at line 71@75-3'::@_instance IL_000a: ret - } // end of method 'Pipe #7 input@75-3'::.cctor + } // end of method 'Pipe #7 input at line 71@75-3'::.cctor - } // end of class 'Pipe #7 input@75-3' + } // end of class 'Pipe #7 input at line 71@75-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@83-1' + .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@ @@ -2466,12 +2466,12 @@ 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 Linq101Select01/'Pipe #8 input@83-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input at line 81@83-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input@83-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input at line 81@83-1'::c IL_0014: ret - } // end of method 'Pipe #8 input@83-1'::.ctor + } // end of method 'Pipe #8 input at line 81@83-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -2484,20 +2484,20 @@ IL_0001: stloc.0 .line 84,84 : 9,34 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@83-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input at line 81@83-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input@83-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #8 input at line 81@83-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'Pipe #8 input@83-1'::Invoke + } // end of method 'Pipe #8 input at line 81@83-1'::Invoke - } // end of class 'Pipe #8 input@83-1' + } // end of class 'Pipe #8 input at line 81@83-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@82' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2515,9 +2515,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input at line 81@82'::builder@ IL_000d: ret - } // end of method 'Pipe #8 input@82'::.ctor + } // end of method 'Pipe #8 input at line 81@82'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -2530,29 +2530,29 @@ IL_0001: stloc.0 .line 83,83 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input at line 81@82'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input@82'::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #8 input at line 81@82'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Select01/'Pipe #8 input@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Select01/'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 - } // end of method 'Pipe #8 input@82'::Invoke + } // end of method 'Pipe #8 input at line 81@82'::Invoke - } // end of class 'Pipe #8 input@82' + } // end of class 'Pipe #8 input at line 81@82' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@84-2' + .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 Linq101Select01/'Pipe #8 input@84-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #8 input at line 81@84-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2563,7 +2563,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #8 input@84-2'::.ctor + } // end of method 'Pipe #8 input at line 81@84-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2595,24 +2595,24 @@ IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, valuetype [netstandard]System.Decimal) IL_0027: ret - } // end of method 'Pipe #8 input@84-2'::Invoke + } // end of method 'Pipe #8 input at line 81@84-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #8 input@84-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #8 input@84-2' Linq101Select01/'Pipe #8 input@84-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #8 input at line 81@84-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #8 input at line 81@84-2' Linq101Select01/'Pipe #8 input at line 81@84-2'::@_instance IL_000a: ret - } // end of method 'Pipe #8 input@84-2'::.cctor + } // end of method 'Pipe #8 input at line 81@84-2'::.cctor - } // end of class 'Pipe #8 input@84-2' + } // end of class 'Pipe #8 input at line 81@84-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input@85-3' + .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 [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Select01/'Pipe #8 input@85-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #8 input at line 81@85-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2623,7 +2623,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #8 input@85-3'::.ctor + } // end of method 'Pipe #8 input at line 81@85-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2650,21 +2650,21 @@ !1, !2) IL_0025: ret - } // end of method 'Pipe #8 input@85-3'::Invoke + } // end of method 'Pipe #8 input at line 81@85-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #8 input@85-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #8 input@85-3' Linq101Select01/'Pipe #8 input@85-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #8 input at line 81@85-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #8 input at line 81@85-3' Linq101Select01/'Pipe #8 input at line 81@85-3'::@_instance IL_000a: ret - } // end of method 'Pipe #8 input@85-3'::.cctor + } // end of method 'Pipe #8 input at line 81@85-3'::.cctor - } // end of class 'Pipe #8 input@85-3' + } // end of class 'Pipe #8 input at line 81@85-3' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@92-1' + .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@ @@ -2684,12 +2684,12 @@ 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 Linq101Select01/'Pipe #9 input@92-1'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input at line 90@92-1'::builder@ IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input@92-1'::c + IL_000f: stfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input at line 90@92-1'::c IL_0014: ret - } // end of method 'Pipe #9 input@92-1'::.ctor + } // end of method 'Pipe #9 input at line 90@92-1'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed @@ -2702,20 +2702,20 @@ IL_0001: stloc.0 .line 93,93 : 9,51 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@92-1'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input at line 90@92-1'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input@92-1'::c + IL_0009: ldfld class [Utils]Utils/Customer Linq101Select01/'Pipe #9 input at line 90@92-1'::c IL_000e: ldloc.0 IL_000f: newobj instance void class [mscorlib]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 - } // end of method 'Pipe #9 input@92-1'::Invoke + } // end of method 'Pipe #9 input at line 90@92-1'::Invoke - } // end of class 'Pipe #9 input@92-1' + } // end of class 'Pipe #9 input at line 90@92-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@91' + .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 [mscorlib]System.Collections.IEnumerable>> { .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ @@ -2733,9 +2733,9 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Collections.IEnumerable>>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input at line 90@91'::builder@ IL_000d: ret - } // end of method 'Pipe #9 input@91'::.ctor + } // end of method 'Pipe #9 input at line 90@91'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -2748,29 +2748,29 @@ IL_0001: stloc.0 .line 92,92 : 9,29 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input at line 90@91'::builder@ IL_0008: ldarg.0 - IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0019: ldarg.0 - IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input@91'::builder@ + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Select01/'Pipe #9 input at line 90@91'::builder@ IL_001f: ldloc.0 - IL_0020: newobj instance void Linq101Select01/'Pipe #9 input@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, - class [Utils]Utils/Customer) + IL_0020: newobj instance void Linq101Select01/'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 - } // end of method 'Pipe #9 input@91'::Invoke + } // end of method 'Pipe #9 input at line 90@91'::Invoke - } // end of class 'Pipe #9 input@91' + } // end of class 'Pipe #9 input at line 90@91' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@93-2' + .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 Linq101Select01/'Pipe #9 input@93-2' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #9 input at line 90@93-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2781,7 +2781,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() IL_0006: ret - } // end of method 'Pipe #9 input@93-2'::.ctor + } // end of method 'Pipe #9 input at line 90@93-2'::.ctor .method public strict virtual instance bool Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2819,24 +2819,24 @@ IL_002c: ldc.i4.0 IL_002d: ceq IL_002f: ret - } // end of method 'Pipe #9 input@93-2'::Invoke + } // end of method 'Pipe #9 input at line 90@93-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #9 input@93-2'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #9 input@93-2' Linq101Select01/'Pipe #9 input@93-2'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #9 input at line 90@93-2'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #9 input at line 90@93-2' Linq101Select01/'Pipe #9 input at line 90@93-2'::@_instance IL_000a: ret - } // end of method 'Pipe #9 input@93-2'::.cctor + } // end of method 'Pipe #9 input at line 90@93-2'::.cctor - } // end of class 'Pipe #9 input@93-2' + } // end of class 'Pipe #9 input at line 90@93-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input@94-3' + .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 [mscorlib]System.Tuple`3> { - .field static assembly initonly class Linq101Select01/'Pipe #9 input@94-3' @_instance + .field static assembly initonly class Linq101Select01/'Pipe #9 input at line 90@94-3' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -2847,7 +2847,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [mscorlib]System.Tuple`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #9 input@94-3'::.ctor + } // end of method 'Pipe #9 input at line 90@94-3'::.ctor .method public strict virtual instance class [mscorlib]System.Tuple`3 Invoke(class [mscorlib]System.Tuple`2 tupledArg) cil managed @@ -2874,19 +2874,19 @@ !1, !2) IL_0025: ret - } // end of method 'Pipe #9 input@94-3'::Invoke + } // end of method 'Pipe #9 input at line 90@94-3'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Select01/'Pipe #9 input@94-3'::.ctor() - IL_0005: stsfld class Linq101Select01/'Pipe #9 input@94-3' Linq101Select01/'Pipe #9 input@94-3'::@_instance + IL_0000: newobj instance void Linq101Select01/'Pipe #9 input at line 90@94-3'::.ctor() + IL_0005: stsfld class Linq101Select01/'Pipe #9 input at line 90@94-3' Linq101Select01/'Pipe #9 input at line 90@94-3'::@_instance IL_000a: ret - } // end of method 'Pipe #9 input@94-3'::.cctor + } // end of method 'Pipe #9 input at line 90@94-3'::.cctor - } // end of class 'Pipe #9 input@94-3' + } // end of class 'Pipe #9 input at line 90@94-3' .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> @@ -3797,26 +3797,26 @@ [18] class [mscorlib]System.Collections.Generic.IEnumerable`1> orders3, [19] valuetype [mscorlib]System.DateTime cutOffDate, [20] class [mscorlib]System.Collections.Generic.IEnumerable`1> orders4, - [21] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [21] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 11', [22] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, [23] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, - [24] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [24] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input at line 28', [25] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, - [26] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input', + [26] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 input at line 37', [27] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, - [28] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input', + [28] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #4 input at line 44', [29] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, - [30] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input', + [30] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #5 input at line 51', [31] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, - [32] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input', + [32] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #6 input at line 59', [33] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_33, [34] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_34, [35] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_35, - [36] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input', + [36] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #7 input at line 71', [37] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_37, - [38] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #8 input', + [38] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #8 input at line 81', [39] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_39, - [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #9 input', + [40] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #9 input at line 90', [41] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_41, [42] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_42, [43] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43) @@ -3863,12 +3863,12 @@ IL_0051: ldnull IL_0052: ldc.i4.0 IL_0053: ldc.i4.0 - IL_0054: newobj instance void Linq101Select01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_0059: stloc.s 'Pipe #1 input' + IL_0054: newobj instance void Linq101Select01/'Pipe #1 input at line 11@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0059: stloc.s 'Pipe #1 input at line 11' .line 14,14 : 10,20 '' - IL_005b: ldloc.s 'Pipe #1 input' + IL_005b: ldloc.s 'Pipe #1 input at line 11' IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0062: dup IL_0063: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numsPlusOne@10 @@ -3932,12 +3932,12 @@ IL_0104: ldnull IL_0105: ldc.i4.0 IL_0106: ldnull - IL_0107: newobj instance void Linq101Select01/'Pipe #2 input@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_010c: stloc.s 'Pipe #2 input' + IL_0107: newobj instance void Linq101Select01/'Pipe #2 input at line 28@30'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_010c: stloc.s 'Pipe #2 input at line 28' .line 31,31 : 10,20 '' - IL_010e: ldloc.s 'Pipe #2 input' + IL_010e: ldloc.s 'Pipe #2 input at line 28' IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0115: dup IL_0116: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::textNums@27 @@ -3964,12 +3964,12 @@ IL_0150: ldnull IL_0151: ldc.i4.0 IL_0152: ldnull - IL_0153: newobj instance void Linq101Select01/'Pipe #3 input@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) - IL_0158: stloc.s 'Pipe #3 input' + IL_0153: newobj instance void Linq101Select01/'Pipe #3 input at line 37@39'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) + IL_0158: stloc.s 'Pipe #3 input at line 37' .line 40,40 : 9,20 '' - IL_015a: ldloc.s 'Pipe #3 input' + IL_015a: ldloc.s 'Pipe #3 input at line 37' IL_015c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0161: dup IL_0162: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::upperLowerWords@36 @@ -3982,12 +3982,12 @@ IL_0171: ldnull IL_0172: ldc.i4.0 IL_0173: ldnull - IL_0174: newobj instance void Linq101Select01/'Pipe #4 input@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`2) - IL_0179: stloc.s 'Pipe #4 input' + IL_0174: newobj instance void Linq101Select01/'Pipe #4 input at line 44@46'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`2) + IL_0179: stloc.s 'Pipe #4 input at line 44' .line 47,47 : 10,20 '' - IL_017b: ldloc.s 'Pipe #4 input' + IL_017b: ldloc.s 'Pipe #4 input at line 44' IL_017d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0182: dup IL_0183: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$Linq101Select01::digitOddEvens@43 @@ -4000,12 +4000,12 @@ IL_0192: ldnull IL_0193: ldc.i4.0 IL_0194: ldnull - IL_0195: newobj instance void Linq101Select01/'Pipe #5 input@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - class [mscorlib]System.Tuple`3) - IL_019a: stloc.s 'Pipe #5 input' + IL_0195: newobj instance void Linq101Select01/'Pipe #5 input at line 51@53'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + class [mscorlib]System.Tuple`3) + IL_019a: stloc.s 'Pipe #5 input at line 51' .line 54,54 : 10,21 '' - IL_019c: ldloc.s 'Pipe #5 input' + IL_019c: ldloc.s 'Pipe #5 input at line 51' IL_019e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01a3: dup IL_01a4: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::productInfos@50 @@ -4027,19 +4027,19 @@ IL_01c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbers() IL_01cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_01d2: ldloc.s V_33 - IL_01d4: newobj instance void Linq101Select01/'Pipe #6 input@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d4: newobj instance void Linq101Select01/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_01d9: 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_01de: ldsfld class Linq101Select01/'Pipe #6 input@61-1' Linq101Select01/'Pipe #6 input@61-1'::@_instance + IL_01de: ldsfld class Linq101Select01/'Pipe #6 input at line 59@61-1' Linq101Select01/'Pipe #6 input at line 59@61-1'::@_instance IL_01e3: 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_01e8: ldsfld class Linq101Select01/'Pipe #6 input@62-2' Linq101Select01/'Pipe #6 input@62-2'::@_instance + IL_01e8: ldsfld class Linq101Select01/'Pipe #6 input at line 59@62-2' Linq101Select01/'Pipe #6 input at line 59@62-2'::@_instance IL_01ed: 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_01f2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_01f7: stloc.s 'Pipe #6 input' + IL_01f7: stloc.s 'Pipe #6 input at line 59' .line 63,63 : 10,20 '' - IL_01f9: ldloc.s 'Pipe #6 input' + IL_01f9: ldloc.s 'Pipe #6 input at line 59' IL_01fb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0200: dup IL_0201: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::lowNums@58 @@ -4146,19 +4146,19 @@ IL_02e9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersA() IL_02ee: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_02f3: ldloc.s V_37 - IL_02f5: newobj instance void Linq101Select01/'Pipe #7 input@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02f5: newobj instance void Linq101Select01/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_02fa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_02ff: ldsfld class Linq101Select01/'Pipe #7 input@74-2' Linq101Select01/'Pipe #7 input@74-2'::@_instance + IL_02ff: ldsfld class Linq101Select01/'Pipe #7 input at line 71@74-2' Linq101Select01/'Pipe #7 input at line 71@74-2'::@_instance IL_0304: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0309: ldsfld class Linq101Select01/'Pipe #7 input@75-3' Linq101Select01/'Pipe #7 input@75-3'::@_instance + IL_0309: ldsfld class Linq101Select01/'Pipe #7 input at line 71@75-3' Linq101Select01/'Pipe #7 input at line 71@75-3'::@_instance IL_030e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0313: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0318: stloc.s 'Pipe #7 input' + IL_0318: stloc.s 'Pipe #7 input at line 71' .line 76,76 : 10,21 '' - IL_031a: ldloc.s 'Pipe #7 input' + IL_031a: ldloc.s 'Pipe #7 input at line 71' IL_031c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0321: dup IL_0322: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::pairs@70 @@ -4180,19 +4180,19 @@ IL_0346: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() IL_034b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0350: ldloc.s V_39 - IL_0352: newobj instance void Linq101Select01/'Pipe #8 input@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0352: newobj instance void Linq101Select01/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_0357: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_035c: ldsfld class Linq101Select01/'Pipe #8 input@84-2' Linq101Select01/'Pipe #8 input@84-2'::@_instance + IL_035c: ldsfld class Linq101Select01/'Pipe #8 input at line 81@84-2' Linq101Select01/'Pipe #8 input at line 81@84-2'::@_instance IL_0361: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0366: ldsfld class Linq101Select01/'Pipe #8 input@85-3' Linq101Select01/'Pipe #8 input@85-3'::@_instance + IL_0366: ldsfld class Linq101Select01/'Pipe #8 input at line 81@85-3' Linq101Select01/'Pipe #8 input at line 81@85-3'::@_instance IL_036b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0370: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0375: stloc.s 'Pipe #8 input' + IL_0375: stloc.s 'Pipe #8 input at line 81' .line 86,86 : 10,21 '' - IL_0377: ldloc.s 'Pipe #8 input' + IL_0377: ldloc.s 'Pipe #8 input at line 81' IL_0379: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_037e: dup IL_037f: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders@80 @@ -4209,19 +4209,19 @@ IL_0396: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() IL_039b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_03a0: ldloc.s V_41 - IL_03a2: newobj instance void Linq101Select01/'Pipe #9 input@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03a2: newobj instance void Linq101Select01/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_03a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03ac: ldsfld class Linq101Select01/'Pipe #9 input@93-2' Linq101Select01/'Pipe #9 input@93-2'::@_instance + IL_03ac: ldsfld class Linq101Select01/'Pipe #9 input at line 90@93-2' Linq101Select01/'Pipe #9 input at line 90@93-2'::@_instance IL_03b1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03b6: ldsfld class Linq101Select01/'Pipe #9 input@94-3' Linq101Select01/'Pipe #9 input@94-3'::@_instance + IL_03b6: ldsfld class Linq101Select01/'Pipe #9 input at line 90@94-3' Linq101Select01/'Pipe #9 input at line 90@94-3'::@_instance IL_03bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_03c0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_03c5: stloc.s 'Pipe #9 input' + IL_03c5: stloc.s 'Pipe #9 input at line 90' .line 95,95 : 10,21 '' - IL_03c7: ldloc.s 'Pipe #9 input' + IL_03c7: ldloc.s 'Pipe #9 input at line 90' IL_03c9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_03ce: dup IL_03cf: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders2@89 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl index 8ba246ae87..511e9ef2a8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000390 Length: 0x0000011E } .module Linq101SetOperators01.exe -// MVID: {6116A45B-4EE5-349F-A745-03835BA41661} +// MVID: {611B0EC5-4EE5-349F-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DF0000 +// Image base: 0x07120000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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@13' + .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 ) @@ -85,17 +85,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0009: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current + IL_0010: stfld int32 Linq101SetOperators01/'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 - } // end of method 'Pipe #1 input@13'::.ctor + } // end of method 'Pipe #1 input at line 12@13'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -107,7 +107,7 @@ .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101SetOperators01.fs' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -134,18 +134,18 @@ IL_0025: ldarg.0 IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101SetOperators01::get_factorsOf300() IL_002b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_0030: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_0035: ldarg.0 IL_0036: ldc.i4.1 - IL_0037: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0037: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc .line 13,13 : 9,33 '' IL_003c: ldarg.0 - IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_003d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_0042: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0047: brfalse.s IL_006a IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_004f: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0054: stloc.0 .line 13,13 : 9,33 '' @@ -154,10 +154,10 @@ .line 14,14 : 9,17 '' IL_0057: ldarg.0 IL_0058: ldc.i4.2 - IL_0059: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0059: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_005e: ldarg.0 IL_005f: ldloc.1 - IL_0060: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current + IL_0060: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::current IL_0065: ldc.i4.1 IL_0066: ret @@ -167,24 +167,24 @@ IL_006a: ldarg.0 IL_006b: ldc.i4.3 - IL_006c: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_006c: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc .line 13,13 : 9,33 '' IL_0071: ldarg.0 - IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_0072: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'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 [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_007f: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_0084: ldarg.0 IL_0085: ldc.i4.3 - IL_0086: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0086: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_008b: ldarg.0 IL_008c: ldc.i4.0 - IL_008d: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current + IL_008d: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::current IL_0092: ldc.i4.0 IL_0093: ret - } // end of method 'Pipe #1 input@13'::GenerateNext + } // end of method 'Pipe #1 input at line 12@13'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -195,7 +195,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -211,7 +211,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -241,19 +241,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0044: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input@13'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #1 input at line 12@13'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0058: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_005d: ldarg.0 IL_005e: ldc.i4.0 - IL_005f: stfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current + IL_005f: stfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::current IL_0064: leave.s IL_0070 } // end .try @@ -282,7 +282,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #1 input@13'::Close + } // end of method 'Pipe #1 input at line 12@13'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -291,7 +291,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -325,7 +325,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #1 input@13'::get_CheckClose + } // end of method 'Pipe #1 input at line 12@13'::get_CheckClose .method public strict virtual instance int32 get_LastGenerated() cil managed @@ -335,9 +335,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input@13'::current + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #1 input at line 12@13'::current IL_0006: ret - } // end of method 'Pipe #1 input@13'::get_LastGenerated + } // end of method 'Pipe #1 input at line 12@13'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -349,18 +349,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldc.i4.0 - IL_0003: newobj instance void Linq101SetOperators01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0003: newobj instance void Linq101SetOperators01/'Pipe #1 input at line 12@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_0008: ret - } // end of method 'Pipe #1 input@13'::GetFreshEnumerator + } // end of method 'Pipe #1 input at line 12@13'::GetFreshEnumerator - } // end of class 'Pipe #1 input@13' + } // end of class 'Pipe #1 input at line 12@13' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@22-1' + .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 Linq101SetOperators01/'Pipe #2 input@22-1' @_instance + .field static assembly initonly class Linq101SetOperators01/'Pipe #2 input at line 21@22-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -371,7 +371,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@22-1'::.ctor + } // end of method 'Pipe #2 input at line 21@22-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed @@ -387,21 +387,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #2 input@22-1'::Invoke + } // end of method 'Pipe #2 input at line 21@22-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101SetOperators01/'Pipe #2 input@22-1'::.ctor() - IL_0005: stsfld class Linq101SetOperators01/'Pipe #2 input@22-1' Linq101SetOperators01/'Pipe #2 input@22-1'::@_instance + IL_0000: newobj instance void Linq101SetOperators01/'Pipe #2 input at line 21@22-1'::.ctor() + IL_0005: stsfld class Linq101SetOperators01/'Pipe #2 input at line 21@22-1' Linq101SetOperators01/'Pipe #2 input at line 21@22-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@22-1'::.cctor + } // end of method 'Pipe #2 input at line 21@22-1'::.cctor - } // end of class 'Pipe #2 input@22-1' + } // end of class 'Pipe #2 input at line 21@22-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input@23' + .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 ) @@ -426,17 +426,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0009: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current + IL_0010: stfld string Linq101SetOperators01/'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 - } // end of method 'Pipe #2 input@23'::.ctor + } // end of method 'Pipe #2 input at line 21@23'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -446,7 +446,7 @@ .locals init ([0] class [Utils]Utils/Product p) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -471,33 +471,33 @@ IL_0024: nop .line 23,23 : 9,26 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101SetOperators01/'Pipe #2 input@22-1' Linq101SetOperators01/'Pipe #2 input@22-1'::@_instance + IL_0026: ldsfld class Linq101SetOperators01/'Pipe #2 input at line 21@22-1' Linq101SetOperators01/'Pipe #2 input at line 21@22-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101SetOperators01::get_products() IL_0030: call class [mscorlib]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 [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0041: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc .line 23,23 : 9,26 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0077 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 23,23 : 16,26 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0061: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 IL_0068: callvirt instance string [Utils]Utils/Product::get_Category() - IL_006d: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current + IL_006d: stfld string Linq101SetOperators01/'Pipe #2 input at line 21@23'::current IL_0072: ldc.i4.1 IL_0073: ret @@ -507,24 +507,24 @@ IL_0077: ldarg.0 IL_0078: ldc.i4.3 - IL_0079: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0079: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc .line 23,23 : 9,26 '' IL_007e: ldarg.0 - IL_007f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_007f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_0084: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0089: nop IL_008a: ldarg.0 IL_008b: ldnull - IL_008c: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_008c: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_0091: ldarg.0 IL_0092: ldc.i4.3 - IL_0093: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0093: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0098: ldarg.0 IL_0099: ldnull - IL_009a: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current + IL_009a: stfld string Linq101SetOperators01/'Pipe #2 input at line 21@23'::current IL_009f: ldc.i4.0 IL_00a0: ret - } // end of method 'Pipe #2 input@23'::GenerateNext + } // end of method 'Pipe #2 input at line 21@23'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -535,7 +535,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -551,7 +551,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0018: ldfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -581,19 +581,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0044: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input@23'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101SetOperators01/'Pipe #2 input at line 21@23'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0058: stfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101SetOperators01/'Pipe #2 input@23'::current + IL_005f: stfld string Linq101SetOperators01/'Pipe #2 input at line 21@23'::current IL_0064: leave.s IL_0070 } // end .try @@ -622,7 +622,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #2 input@23'::Close + } // end of method 'Pipe #2 input at line 21@23'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -631,7 +631,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input@23'::pc + IL_0001: ldfld int32 Linq101SetOperators01/'Pipe #2 input at line 21@23'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -665,7 +665,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #2 input@23'::get_CheckClose + } // end of method 'Pipe #2 input at line 21@23'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -675,9 +675,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101SetOperators01/'Pipe #2 input@23'::current + IL_0001: ldfld string Linq101SetOperators01/'Pipe #2 input at line 21@23'::current IL_0006: ret - } // end of method 'Pipe #2 input@23'::get_LastGenerated + } // end of method 'Pipe #2 input at line 21@23'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -689,13 +689,13 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101SetOperators01/'Pipe #2 input@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101SetOperators01/'Pipe #2 input at line 21@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #2 input@23'::GetFreshEnumerator + } // end of method 'Pipe #2 input at line 21@23'::GetFreshEnumerator - } // end of class 'Pipe #2 input@23' + } // end of class 'Pipe #2 input at line 21@23' .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -1521,9 +1521,9 @@ [4] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers, [5] class [mscorlib]System.Collections.Generic.IEnumerable`1 productFirstChars, [6] class [mscorlib]System.Collections.Generic.IEnumerable`1 customerFirstChars, - [7] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [7] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 12', [8] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, - [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input at line 21', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) @@ -1556,15 +1556,15 @@ IL_0034: ldnull IL_0035: ldc.i4.0 IL_0036: ldc.i4.0 - IL_0037: newobj instance void Linq101SetOperators01/'Pipe #1 input@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - int32) + IL_0037: newobj instance void Linq101SetOperators01/'Pipe #1 input at line 12@13'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + int32) IL_003c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0041: 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_0046: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_004b: stloc.s 'Pipe #1 input' + IL_004b: stloc.s 'Pipe #1 input at line 12' .line 15,15 : 10,20 '' - IL_004d: ldloc.s 'Pipe #1 input' + IL_004d: ldloc.s 'Pipe #1 input at line 12' IL_004f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0054: dup IL_0055: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::uniqueFactors@11 @@ -1583,15 +1583,15 @@ IL_0071: ldnull IL_0072: ldc.i4.0 IL_0073: ldnull - IL_0074: newobj instance void Linq101SetOperators01/'Pipe #2 input@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0074: newobj instance void Linq101SetOperators01/'Pipe #2 input at line 21@23'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0079: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_007e: 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_0083: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0088: stloc.s 'Pipe #2 input' + IL_0088: stloc.s 'Pipe #2 input at line 21' .line 25,25 : 10,20 '' - IL_008a: ldloc.s 'Pipe #2 input' + IL_008a: ldloc.s 'Pipe #2 input at line 21' IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0091: dup IL_0092: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101SetOperators01::categoryNames@20 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl index 0e3a75855d..cb31189e31 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D0 Length: 0x0000012E } .module Linq101Where01.exe -// MVID: {6116A45B-FF23-CD21-A745-03835BA41661} +// MVID: {611B0EC5-FF23-CD21-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x050C0000 +// Image base: 0x06790000 // =============== CLASS MEMBERS DECLARATION =================== @@ -60,7 +60,7 @@ extends [mscorlib]System.Object { .custom instance 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@14' + .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@ @@ -78,9 +78,9 @@ 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 Linq101Where01/'Pipe #1 input@14'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #1 input at line 13@14'::builder@ IL_000d: ret - } // end of method 'Pipe #1 input@14'::.ctor + } // end of method 'Pipe #1 input at line 13@14'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed @@ -94,19 +94,19 @@ IL_0001: stloc.0 .line 15,15 : 9,22 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #1 input@14'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'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 - } // end of method 'Pipe #1 input@14'::Invoke + } // end of method 'Pipe #1 input at line 13@14'::Invoke - } // end of class 'Pipe #1 input@14' + } // end of class 'Pipe #1 input at line 13@14' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@15-1' + .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 Linq101Where01/'Pipe #1 input@15-1' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #1 input at line 13@15-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -117,7 +117,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@15-1'::.ctor + } // end of method 'Pipe #1 input at line 13@15-1'::.ctor .method public strict virtual instance bool Invoke(int32 n) cil managed @@ -129,24 +129,24 @@ IL_0001: ldc.i4.5 IL_0002: clt IL_0004: ret - } // end of method 'Pipe #1 input@15-1'::Invoke + } // end of method 'Pipe #1 input at line 13@15-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #1 input@15-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #1 input@15-1' Linq101Where01/'Pipe #1 input@15-1'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #1 input at line 13@15-1' Linq101Where01/'Pipe #1 input at line 13@15-1'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@15-1'::.cctor + } // end of method 'Pipe #1 input at line 13@15-1'::.cctor - } // end of class 'Pipe #1 input@15-1' + } // end of class 'Pipe #1 input at line 13@15-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input@16-2' + .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 Linq101Where01/'Pipe #1 input@16-2' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #1 input at line 13@16-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -157,7 +157,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #1 input@16-2'::.ctor + } // end of method 'Pipe #1 input at line 13@16-2'::.ctor .method public strict virtual instance int32 Invoke(int32 n) cil managed @@ -167,19 +167,19 @@ .line 16,16 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #1 input@16-2'::Invoke + } // end of method 'Pipe #1 input at line 13@16-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #1 input@16-2'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #1 input@16-2' Linq101Where01/'Pipe #1 input@16-2'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #1 input at line 13@16-2'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #1 input at line 13@16-2' Linq101Where01/'Pipe #1 input at line 13@16-2'::@_instance IL_000a: ret - } // end of method 'Pipe #1 input@16-2'::.cctor + } // end of method 'Pipe #1 input at line 13@16-2'::.cctor - } // end of class 'Pipe #1 input@16-2' + } // end of class 'Pipe #1 input at line 13@16-2' .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> @@ -443,7 +443,7 @@ } // end of class 'expensiveInStockProducts@34-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@42' + .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@ @@ -461,9 +461,9 @@ 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 Linq101Where01/'Pipe #2 input@42'::builder@ + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #2 input at line 41@42'::builder@ IL_000d: ret - } // end of method 'Pipe #2 input@42'::.ctor + } // end of method 'Pipe #2 input at line 41@42'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed @@ -476,19 +476,19 @@ IL_0001: stloc.0 .line 43,43 : 9,32 '' IL_0002: ldarg.0 - IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'Pipe #2 input@42'::builder@ + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'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 - } // end of method 'Pipe #2 input@42'::Invoke + } // end of method 'Pipe #2 input at line 41@42'::Invoke - } // end of class 'Pipe #2 input@42' + } // end of class 'Pipe #2 input at line 41@42' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@43-1' + .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 Linq101Where01/'Pipe #2 input@43-1' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #2 input at line 41@43-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -499,7 +499,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@43-1'::.ctor + } // end of method 'Pipe #2 input at line 41@43-1'::.ctor .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed @@ -513,24 +513,24 @@ IL_000b: call bool [netstandard]System.String::Equals(string, string) IL_0010: ret - } // end of method 'Pipe #2 input@43-1'::Invoke + } // end of method 'Pipe #2 input at line 41@43-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #2 input@43-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #2 input@43-1' Linq101Where01/'Pipe #2 input@43-1'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #2 input at line 41@43-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #2 input at line 41@43-1' Linq101Where01/'Pipe #2 input at line 41@43-1'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@43-1'::.cctor + } // end of method 'Pipe #2 input at line 41@43-1'::.cctor - } // end of class 'Pipe #2 input@43-1' + } // end of class 'Pipe #2 input at line 41@43-1' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input@44-2' + .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 Linq101Where01/'Pipe #2 input@44-2' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #2 input at line 41@44-2' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -541,7 +541,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() IL_0006: ret - } // end of method 'Pipe #2 input@44-2'::.ctor + } // end of method 'Pipe #2 input at line 41@44-2'::.ctor .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed @@ -551,24 +551,24 @@ .line 44,44 : 16,17 '' IL_0000: ldarg.1 IL_0001: ret - } // end of method 'Pipe #2 input@44-2'::Invoke + } // end of method 'Pipe #2 input at line 41@44-2'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #2 input@44-2'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #2 input@44-2' Linq101Where01/'Pipe #2 input@44-2'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #2 input at line 41@44-2'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #2 input at line 41@44-2' Linq101Where01/'Pipe #2 input at line 41@44-2'::@_instance IL_000a: ret - } // end of method 'Pipe #2 input@44-2'::.cctor + } // end of method 'Pipe #2 input at line 41@44-2'::.cctor - } // end of class 'Pipe #2 input@44-2' + } // end of class 'Pipe #2 input at line 41@44-2' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input@51-1' + .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 Linq101Where01/'Pipe #3 input@51-1' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #3 input at line 50@51-1' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -579,7 +579,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 input@51-1'::.ctor + } // end of method 'Pipe #3 input at line 50@51-1'::.ctor .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed @@ -595,21 +595,21 @@ IL_0003: tail. IL_0005: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) IL_000a: ret - } // end of method 'Pipe #3 input@51-1'::Invoke + } // end of method 'Pipe #3 input at line 50@51-1'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #3 input@51-1'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #3 input@51-1' Linq101Where01/'Pipe #3 input@51-1'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #3 input at line 50@51-1'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #3 input at line 50@51-1' Linq101Where01/'Pipe #3 input at line 50@51-1'::@_instance IL_000a: ret - } // end of method 'Pipe #3 input@51-1'::.cctor + } // end of method 'Pipe #3 input at line 50@51-1'::.cctor - } // end of class 'Pipe #3 input@51-1' + } // end of class 'Pipe #3 input at line 50@51-1' - .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input@52' + .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 ) @@ -634,17 +634,17 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_0007: ldarg.0 IL_0008: ldarg.2 - IL_0009: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0009: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_000e: ldarg.0 IL_000f: ldarg.3 - IL_0010: stfld string Linq101Where01/'Pipe #3 input@52'::current + IL_0010: stfld string Linq101Where01/'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 - } // end of method 'Pipe #3 input@52'::.ctor + } // end of method 'Pipe #3 input at line 50@52'::.ctor .method public strict virtual instance int32 GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed @@ -654,7 +654,7 @@ .locals init ([0] string d) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0006: ldc.i4.1 IL_0007: sub IL_0008: switch ( @@ -679,32 +679,32 @@ IL_0024: nop .line 52,52 : 9,17 '' IL_0025: ldarg.0 - IL_0026: ldsfld class Linq101Where01/'Pipe #3 input@51-1' Linq101Where01/'Pipe #3 input@51-1'::@_instance + IL_0026: ldsfld class Linq101Where01/'Pipe #3 input at line 50@51-1' Linq101Where01/'Pipe #3 input at line 50@51-1'::@_instance IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_digits() IL_0030: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_003f: ldarg.0 IL_0040: ldc.i4.1 - IL_0041: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0041: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc .line 52,52 : 9,17 '' IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0051: brfalse.s IL_0072 IL_0053: ldarg.0 - IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_005e: stloc.0 .line 52,52 : 16,17 '' IL_005f: ldarg.0 IL_0060: ldc.i4.2 - IL_0061: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0061: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0066: ldarg.0 IL_0067: ldloc.0 - IL_0068: stfld string Linq101Where01/'Pipe #3 input@52'::current + IL_0068: stfld string Linq101Where01/'Pipe #3 input at line 50@52'::current IL_006d: ldc.i4.1 IL_006e: ret @@ -714,24 +714,24 @@ IL_0072: ldarg.0 IL_0073: ldc.i4.3 - IL_0074: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0074: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc .line 52,52 : 9,17 '' IL_0079: ldarg.0 - IL_007a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_007a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_007f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0084: nop IL_0085: ldarg.0 IL_0086: ldnull - IL_0087: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_0087: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_008c: ldarg.0 IL_008d: ldc.i4.3 - IL_008e: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_008e: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0093: ldarg.0 IL_0094: ldnull - IL_0095: stfld string Linq101Where01/'Pipe #3 input@52'::current + IL_0095: stfld string Linq101Where01/'Pipe #3 input at line 50@52'::current IL_009a: ldc.i4.0 IL_009b: ret - } // end of method 'Pipe #3 input@52'::GenerateNext + } // end of method 'Pipe #3 input at line 50@52'::GenerateNext .method public strict virtual instance void Close() cil managed @@ -742,7 +742,7 @@ [1] class [mscorlib]System.Exception e) .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0006: ldc.i4.3 IL_0007: sub IL_0008: switch ( @@ -758,7 +758,7 @@ .try { IL_0017: ldarg.0 - IL_0018: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0018: ldfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_001d: switch ( IL_0034, IL_0037, @@ -788,19 +788,19 @@ IL_0041: nop IL_0042: ldarg.0 IL_0043: ldc.i4.3 - IL_0044: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0044: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input@52'::'enum' + IL_004a: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Where01/'Pipe #3 input at line 50@52'::'enum' IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) IL_0054: nop .line 100001,100001 : 0,0 '' IL_0055: nop IL_0056: ldarg.0 IL_0057: ldc.i4.3 - IL_0058: stfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0058: stfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_005d: ldarg.0 IL_005e: ldnull - IL_005f: stfld string Linq101Where01/'Pipe #3 input@52'::current + IL_005f: stfld string Linq101Where01/'Pipe #3 input at line 50@52'::current IL_0064: leave.s IL_0070 } // end .try @@ -829,7 +829,7 @@ .line 100001,100001 : 0,0 '' IL_007e: ret - } // end of method 'Pipe #3 input@52'::Close + } // end of method 'Pipe #3 input at line 50@52'::Close .method public strict virtual instance bool get_CheckClose() cil managed @@ -838,7 +838,7 @@ .maxstack 8 .line 100001,100001 : 0,0 '' IL_0000: ldarg.0 - IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input@52'::pc + IL_0001: ldfld int32 Linq101Where01/'Pipe #3 input at line 50@52'::pc IL_0006: switch ( IL_001d, IL_0020, @@ -872,7 +872,7 @@ IL_002e: ldc.i4.0 IL_002f: ret - } // end of method 'Pipe #3 input@52'::get_CheckClose + } // end of method 'Pipe #3 input at line 50@52'::get_CheckClose .method public strict virtual instance string get_LastGenerated() cil managed @@ -882,9 +882,9 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld string Linq101Where01/'Pipe #3 input@52'::current + IL_0001: ldfld string Linq101Where01/'Pipe #3 input at line 50@52'::current IL_0006: ret - } // end of method 'Pipe #3 input@52'::get_LastGenerated + } // end of method 'Pipe #3 input at line 50@52'::get_LastGenerated .method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed @@ -896,18 +896,18 @@ IL_0000: ldnull IL_0001: ldc.i4.0 IL_0002: ldnull - IL_0003: newobj instance void Linq101Where01/'Pipe #3 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) + IL_0003: newobj instance void Linq101Where01/'Pipe #3 input at line 50@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) IL_0008: ret - } // end of method 'Pipe #3 input@52'::GetFreshEnumerator + } // end of method 'Pipe #3 input at line 50@52'::GetFreshEnumerator - } // end of class 'Pipe #3 input@52' + } // end of class 'Pipe #3 input at line 50@52' - .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1@54' + .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 Linq101Where01/'Pipe #3 stage #1@54' @_instance + .field static assembly initonly class Linq101Where01/'Pipe #3 stage #1 at line 54@54' @_instance .method assembly specialname rtspecialname instance void .ctor() cil managed { @@ -918,7 +918,7 @@ IL_0000: ldarg.0 IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() IL_0006: ret - } // end of method 'Pipe #3 stage #1@54'::.ctor + } // end of method 'Pipe #3 stage #1 at line 54@54'::.ctor .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 Invoke(int32 i, @@ -940,19 +940,19 @@ .line 54,54 : 63,67 '' IL_0010: ldnull IL_0011: ret - } // end of method 'Pipe #3 stage #1@54'::Invoke + } // end of method 'Pipe #3 stage #1 at line 54@54'::Invoke .method private specialname rtspecialname static void .cctor() cil managed { // Code size 11 (0xb) .maxstack 10 - IL_0000: newobj instance void Linq101Where01/'Pipe #3 stage #1@54'::.ctor() - IL_0005: stsfld class Linq101Where01/'Pipe #3 stage #1@54' Linq101Where01/'Pipe #3 stage #1@54'::@_instance + IL_0000: newobj instance void Linq101Where01/'Pipe #3 stage #1 at line 54@54'::.ctor() + IL_0005: stsfld class Linq101Where01/'Pipe #3 stage #1 at line 54@54' Linq101Where01/'Pipe #3 stage #1 at line 54@54'::@_instance IL_000a: ret - } // end of method 'Pipe #3 stage #1@54'::.cctor + } // end of method 'Pipe #3 stage #1 at line 54@54'::.cctor - } // end of class 'Pipe #3 stage #1@54' + } // end of class 'Pipe #3 stage #1 at line 54@54' .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> @@ -1170,15 +1170,15 @@ [6] class [Utils]Utils/Customer[] waCustomers, [7] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits, [8] class [mscorlib]System.Collections.Generic.IEnumerable`1 shortDigits, - [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input', + [9] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 13', [10] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, [11] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, [12] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, - [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input', + [13] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #2 input at line 41', [14] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_14, - [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input', + [15] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #3 input at line 50', [16] class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, - [17] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 stage #1') + [17] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #3 stage #1 at line 54') .line 9,9 : 1,47 '' IL_0000: ldc.i4.5 IL_0001: ldc.i4.4 @@ -1226,19 +1226,19 @@ IL_0059: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_numbers() IL_005e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0063: ldloc.s V_10 - IL_0065: newobj instance void Linq101Where01/'Pipe #1 input@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0065: newobj instance void Linq101Where01/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_006a: 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_006f: ldsfld class Linq101Where01/'Pipe #1 input@15-1' Linq101Where01/'Pipe #1 input@15-1'::@_instance + IL_006f: ldsfld class Linq101Where01/'Pipe #1 input at line 13@15-1' Linq101Where01/'Pipe #1 input at line 13@15-1'::@_instance IL_0074: 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_0079: ldsfld class Linq101Where01/'Pipe #1 input@16-2' Linq101Where01/'Pipe #1 input@16-2'::@_instance + IL_0079: ldsfld class Linq101Where01/'Pipe #1 input at line 13@16-2' Linq101Where01/'Pipe #1 input at line 13@16-2'::@_instance IL_007e: 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_0083: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_0088: stloc.s 'Pipe #1 input' + IL_0088: stloc.s 'Pipe #1 input at line 13' .line 17,17 : 10,20 '' - IL_008a: ldloc.s 'Pipe #1 input' + IL_008a: ldloc.s 'Pipe #1 input at line 13' IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0091: dup IL_0092: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Where01::lowNums@12 @@ -1309,19 +1309,19 @@ IL_014c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Where01::get_customers() IL_0151: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0156: ldloc.s V_14 - IL_0158: newobj instance void Linq101Where01/'Pipe #2 input@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0158: newobj instance void Linq101Where01/'Pipe #2 input at line 41@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) IL_015d: 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_0162: ldsfld class Linq101Where01/'Pipe #2 input@43-1' Linq101Where01/'Pipe #2 input@43-1'::@_instance + IL_0162: ldsfld class Linq101Where01/'Pipe #2 input at line 41@43-1' Linq101Where01/'Pipe #2 input at line 41@43-1'::@_instance IL_0167: 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_016c: ldsfld class Linq101Where01/'Pipe #2 input@44-2' Linq101Where01/'Pipe #2 input@44-2'::@_instance + IL_016c: ldsfld class Linq101Where01/'Pipe #2 input at line 41@44-2' Linq101Where01/'Pipe #2 input at line 41@44-2'::@_instance IL_0171: 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_0176: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() - IL_017b: stloc.s 'Pipe #2 input' + IL_017b: stloc.s 'Pipe #2 input at line 41' .line 45,45 : 10,21 '' - IL_017d: ldloc.s 'Pipe #2 input' + IL_017d: ldloc.s 'Pipe #2 input at line 41' IL_017f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0184: dup IL_0185: stsfld class [Utils]Utils/Customer[] ''.$Linq101Where01::waCustomers@40 @@ -1369,19 +1369,19 @@ IL_0205: ldnull IL_0206: ldc.i4.0 IL_0207: ldnull - IL_0208: newobj instance void Linq101Where01/'Pipe #3 input@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, - int32, - string) - IL_020d: stloc.s 'Pipe #3 input' + IL_0208: newobj instance void Linq101Where01/'Pipe #3 input at line 50@52'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_020d: stloc.s 'Pipe #3 input at line 50' .line 54,54 : 8,68 '' - IL_020f: ldsfld class Linq101Where01/'Pipe #3 stage #1@54' Linq101Where01/'Pipe #3 stage #1@54'::@_instance - IL_0214: ldloc.s 'Pipe #3 input' + IL_020f: ldsfld class Linq101Where01/'Pipe #3 stage #1 at line 54@54' Linq101Where01/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_0214: ldloc.s 'Pipe #3 input at line 50' IL_0216: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_021b: stloc.s 'Pipe #3 stage #1' + IL_021b: stloc.s 'Pipe #3 stage #1 at line 54' .line 55,55 : 8,21 '' IL_021d: ldsfld class Linq101Where01/shortDigits@55 Linq101Where01/shortDigits@55::@_instance - IL_0222: ldloc.s 'Pipe #3 stage #1' + IL_0222: ldloc.s 'Pipe #3 stage #1 at line 54' IL_0224: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, class [mscorlib]System.Collections.Generic.IEnumerable`1) IL_0229: dup diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl index f3764639a1..4b4e0c5bf7 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest1.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest1.exe -// MVID: {6116A45B-2432-947D-A745-03835BA41661} +// MVID: {611B0EC5-2432-947D-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x051B0000 +// Image base: 0x06CF0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -233,7 +233,7 @@ .entrypoint // Code size 14 (0xe) .maxstack 3 - .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 8') .line 8,8 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1::f0() IL_0005: stloc.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl index ebb1020ba3..91422d1148 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest2.exe -// MVID: {6116A45B-2432-951E-A745-03835BA41661} +// MVID: {611B0EC5-2432-951E-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05000000 +// Image base: 0x06940000 // =============== CLASS MEMBERS DECLARATION =================== @@ -266,7 +266,7 @@ .entrypoint // Code size 14 (0xe) .maxstack 3 - .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 10') .line 10,10 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2::f1() IL_0005: stloc.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl index 8083492566..5dfb9d7089 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000278 Length: 0x000000AD } .module SeqExpressionSteppingTest3.exe -// MVID: {6116A45B-2432-943F-A745-03835BA41661} +// MVID: {611B0EC5-2432-943F-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x052D0000 +// Image base: 0x06440000 // =============== CLASS MEMBERS DECLARATION =================== @@ -270,7 +270,7 @@ .entrypoint // Code size 14 (0xe) .maxstack 3 - .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input') + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1> 'Pipe #1 input at line 11') .line 11,11 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1> SeqExpressionSteppingTest3/SeqExpressionSteppingTest3::f2() IL_0005: stloc.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl index 384676fc61..0838e192a8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest4.exe -// MVID: {6116A45B-2432-93E0-A745-03835BA41661} +// MVID: {611B0EC5-2432-93E0-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x065C0000 +// Image base: 0x06F50000 // =============== CLASS MEMBERS DECLARATION =================== @@ -313,7 +313,7 @@ .entrypoint // Code size 14 (0xe) .maxstack 3 - .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 13') .line 13,13 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4::f3() IL_0005: stloc.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl index 4442851f36..da3369027f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest5.exe -// MVID: {6116A45B-2432-9401-A745-03835BA41661} +// MVID: {611B0EC5-2432-9401-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07120000 +// Image base: 0x06560000 // =============== CLASS MEMBERS DECLARATION =================== @@ -438,7 +438,7 @@ .entrypoint // Code size 14 (0xe) .maxstack 3 - .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + .locals init ([0] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 16') .line 16,16 : 13,17 '' IL_0000: call class [mscorlib]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5::f4() IL_0005: stloc.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl index f3227c1b5b..24b89a08ba 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BA } .module SeqExpressionSteppingTest6.exe -// MVID: {6116A45B-2432-94A2-A745-03835BA41661} +// MVID: {611B0EC5-2432-94A2-A745-0383C50E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DF0000 +// Image base: 0x07170000 // =============== CLASS MEMBERS DECLARATION =================== @@ -514,7 +514,7 @@ // Code size 44 (0x2c) .maxstack 6 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es, - [1] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input') + [1] class [mscorlib]System.Collections.Generic.IEnumerable`1 'Pipe #1 input at line 13') .line 4,4 : 5,21 '' IL_0000: ldc.i4.1 IL_0001: ldc.i4.2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl index 8061dba4d6..9138937e22 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction15.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F0 Length: 0x00000072 } .module TestFunction15.exe -// MVID: {6116A469-A624-4662-A745-038369A41661} +// MVID: {611B0ED4-A624-4662-A745-0383D40E1B61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05410000 +// Image base: 0x07120000 // =============== CLASS MEMBERS DECLARATION =================== @@ -98,7 +98,7 @@ // Code size 40 (0x28) .maxstack 6 .locals init ([0] int32 x, - [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input') + [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input at line 6') .line 5,5 : 5,18 '' IL_0000: ldarg.0 IL_0001: ldc.i4.1 From 3b49d76ed6112ef175b8cda7a45cff4096bba933 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 16:51:14 +0100 Subject: [PATCH 19/24] update baselines --- tests/service/ExprTests.fs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/service/ExprTests.fs b/tests/service/ExprTests.fs index 7c8f201415..2d9b667fd5 100644 --- a/tests/service/ExprTests.fs +++ b/tests/service/ExprTests.fs @@ -949,15 +949,15 @@ let ``Test Optimized Declarations Project1`` () = "let start(name) = (name,name) @ (217,4--217,14)"; "let last(name,values) = Operators.Identity ((name,values)) @ (220,4--220,21)"; "let last2(name) = Operators.Identity (name) @ (223,4--223,11)"; - "let test7(s) = let Pipe #1 input: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = M.start (s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input.Item1 in M.last (name,values); ()) @ (226,4--226,19)"; + "let test7(s) = let Pipe #1 input at line 226: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = M.start (s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input at line 226.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input at line 226.Item1 in M.last (name,values); ()) @ (226,4--226,19)"; "let test8(unitVar0) = fun tupledArg -> let name: Microsoft.FSharp.Core.string = tupledArg.Item0 in let values: Microsoft.FSharp.Core.string = tupledArg.Item1 in M.last (name,values) @ (229,4--229,8)"; - "let test9(s) = let Pipe #1 input: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = (s,s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input.Item1 in M.last (name,values); ()) @ (232,4--232,17)"; + "let test9(s) = let Pipe #1 input at line 232: Microsoft.FSharp.Core.string * Microsoft.FSharp.Core.string = (s,s) in (let name: Microsoft.FSharp.Core.string = Pipe #1 input at line 232.Item0 in let values: Microsoft.FSharp.Core.string = Pipe #1 input at line 232.Item1 in M.last (name,values); ()) @ (232,4--232,17)"; "let test10(unitVar0) = fun name -> M.last2 (name) @ (235,4--235,9)"; - "let test11(s) = let Pipe #1 input: Microsoft.FSharp.Core.string = s in (M.last2 (Pipe #1 input); ()) @ (238,4--238,14)"; + "let test11(s) = let Pipe #1 input at line 238: Microsoft.FSharp.Core.string = s in (M.last2 (Pipe #1 input at line 238); ()) @ (238,4--238,14)"; "let badLoop = badLoop@240.Force Microsoft.FSharp.Core.int>(()) @ (240,8--240,15)"; "type LetLambda"; "let f = fun a -> fun b -> Operators.op_Addition (fun arg0_0 -> fun arg1_0 -> LanguagePrimitives.AdditionDynamic (arg0_0,arg1_0),a,b) @ (247,8--247,24)"; - "let letLambdaRes = let Pipe #1 input: (Microsoft.FSharp.Core.int * Microsoft.FSharp.Core.int) Microsoft.FSharp.Collections.list = Cons((1,2),Empty()) in (ListModule.Map (fun tupledArg -> let a: Microsoft.FSharp.Core.int = tupledArg.Item0 in let b: Microsoft.FSharp.Core.int = tupledArg.Item1 in (LetLambda.f () a) b,Pipe #1 input); ()) @ (249,19--249,71)"; + "let letLambdaRes = let Pipe #1 input at line 249: (Microsoft.FSharp.Core.int * Microsoft.FSharp.Core.int) Microsoft.FSharp.Collections.list = Cons((1,2),Empty()) in (ListModule.Map (fun tupledArg -> let a: Microsoft.FSharp.Core.int = tupledArg.Item0 in let b: Microsoft.FSharp.Core.int = tupledArg.Item1 in (LetLambda.f () a) b,Pipe #1 input at line 249); ()) @ (249,19--249,71)"; "let anonRecd = {X = 1; Y = 2} @ (251,15--251,33)"; "let anonRecdGet = (M.anonRecd ().X,M.anonRecd ().Y) @ (252,19--252,41)"] let expected2 = From 24b5ee0573272bace1467aa62c17b5e491105fd0 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 18:51:00 +0100 Subject: [PATCH 20/24] don't try to activate test as part of this PR --- tests/service/EditorTests.fs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/service/EditorTests.fs b/tests/service/EditorTests.fs index 0bd73759f0..d0cb818acf 100644 --- a/tests/service/EditorTests.fs +++ b/tests/service/EditorTests.fs @@ -55,6 +55,9 @@ let input = """ [] +#if COMPILED +[] +#endif let ``Intro test`` () = // Split the input & define file name From a5e19b59747840d8e313b86204914fecbe26fd1e Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 19:26:49 +0100 Subject: [PATCH 21/24] add test --- src/fsharp/SyntaxTreeOps.fs | 3 +- src/fsharp/service/FSharpParseFileResults.fs | 2 +- tests/service/EditorTests.fs | 198 +++++-------------- 3 files changed, 53 insertions(+), 150 deletions(-) diff --git a/src/fsharp/SyntaxTreeOps.fs b/src/fsharp/SyntaxTreeOps.fs index 000eccf797..3b04005ad5 100644 --- a/src/fsharp/SyntaxTreeOps.fs +++ b/src/fsharp/SyntaxTreeOps.fs @@ -180,7 +180,8 @@ let rec SimplePatOfPat (synArgNameGenerator: SynArgNameGenerator) p = | _ -> Some (fun e -> let clause = SynMatchClause(p, None, None, e, m, DebugPointAtTarget.No) - SynExpr.Match (DebugPointAtBinding.NoneAtInvisible, item, [clause], clause.Range)) + let artificialMatchRange = (unionRanges m e.Range).MakeSynthetic() + SynExpr.Match (DebugPointAtBinding.NoneAtInvisible, item, [clause], artificialMatchRange)) SynSimplePat.Id (id, altNameRefCell, isCompGen, false, false, id.idRange), fn diff --git a/src/fsharp/service/FSharpParseFileResults.fs b/src/fsharp/service/FSharpParseFileResults.fs index 9c9353f913..270797e940 100644 --- a/src/fsharp/service/FSharpParseFileResults.fs +++ b/src/fsharp/service/FSharpParseFileResults.fs @@ -433,7 +433,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput, // Process let-binding let findBreakPoints () = - let checkRange m = [ if isMatchRange m then yield m ] + let checkRange m = [ if isMatchRange m && not m.IsSynthetic then yield m ] let walkBindSeqPt sp = [ match sp with DebugPointAtBinding.Yes m -> yield! checkRange m | _ -> () ] let walkForSeqPt sp = [ match sp with DebugPointAtFor.Yes m -> yield! checkRange m | _ -> () ] let walkWhileSeqPt sp = [ match sp with DebugPointAtWhile.Yes m -> yield! checkRange m | _ -> () ] diff --git a/tests/service/EditorTests.fs b/tests/service/EditorTests.fs index ee307d9493..6a303c7290 100644 --- a/tests/service/EditorTests.fs +++ b/tests/service/EditorTests.fs @@ -1505,163 +1505,65 @@ let f () = ((6, 17), (6, 7, 6, 18, "List.unzip3"))] [] -let ``ValidateBreakpointLocation tests for lambda with wild arg`` () = +let ``ValidateBreakpointLocation tests for lambda with pattern arg`` () = let input = """ let bodyWrapper () = - id (fun _ -> + id (fun (A(b,c)) -> let x = 1 x)""" let file = "/home/user/Test.fsx" let parseResult, _typeCheckResults = parseAndCheckScript(file, input) - let results = - let lines = input.Replace("\r", "").Split( [| '\n' |]) - let positions = [ Position.mkPos 4 0 ] - [ for pos in positions do - match parseResult.ValidateBreakpointLocation pos with - | Some r -> - let text = - [ if r.StartLine = r.EndLine then - lines.[r.StartLine-1].[r.StartColumn..r.EndColumn-1] - else - lines.[r.StartLine-1].[r.StartColumn..] - for l in r.StartLine..r.EndLine-2 do - lines.[l] - lines.[r.EndLine-1].[..r.EndColumn-1] ] - |> String.concat "$" - ((pos.Line, pos.Column), (r.StartLine, r.StartColumn, r.EndLine, r.EndColumn, text)) - | None -> - ()] + let results = getBreakpointLocations input parseResult printfn "%A" results + // The majority of the breakpoints here get the entire expression, except the start-of-line ones + // on line 4 and 5, and the ones actually on the interior text of the lambda. + // + // This is correct results |> shouldEqual - [((3, 0), (3, 5, 3, 8, "[1]")); - ((3, 1), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((3, 2), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((3, 3), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((3, 4), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((3, 5), (3, 5, 3, 8, "[1]")); ((3, 6), (3, 5, 3, 8, "[1]")); - ((3, 7), (3, 5, 3, 8, "[1]")); ((3, 8), (3, 5, 3, 8, "[1]")); - ((3, 9), (3, 9, 3, 12, "[2]")); ((3, 10), (3, 9, 3, 12, "[2]")); - ((3, 11), (3, 9, 3, 12, "[2]")); ((3, 12), (3, 9, 3, 12, "[2]")); - ((3, 13), (3, 13, 3, 16, "[3]")); ((3, 14), (3, 13, 3, 16, "[3]")); - ((3, 15), (3, 13, 3, 16, "[3]")); ((3, 16), (3, 13, 3, 16, "[3]")); - ((3, 17), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 0), (4, 9, 4, 18, "List.zip3")); - ((4, 1), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 2), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 3), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 4), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 5), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 6), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 7), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 8), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((4, 9), (4, 9, 4, 18, "List.zip3")); ((4, 10), (4, 9, 4, 18, "List.zip3")); - ((4, 11), (4, 9, 4, 18, "List.zip3")); ((4, 12), (4, 9, 4, 18, "List.zip3")); - ((4, 13), (4, 9, 4, 18, "List.zip3")); ((4, 14), (4, 9, 4, 18, "List.zip3")); - ((4, 15), (4, 9, 4, 18, "List.zip3")); ((4, 16), (4, 9, 4, 18, "List.zip3")); - ((4, 17), (4, 9, 4, 18, "List.zip3")); - ((5, 0), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 1), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 2), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 3), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 4), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 5), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 6), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((5, 7), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 8), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 9), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 10), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 11), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 12), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 13), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 14), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 15), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 16), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 17), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 18), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 19), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 20), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 21), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 22), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 23), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 24), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 25), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 26), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 27), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 28), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 29), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 30), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 31), (5, 7, 5, 40, "List.map (fun (a,b,c) -> (c,b,a))")); - ((5, 32), (5, 32, 5, 39, "(c,b,a)")); ((5, 33), (5, 32, 5, 39, "(c,b,a)")); - ((5, 34), (5, 32, 5, 39, "(c,b,a)")); ((5, 35), (5, 32, 5, 39, "(c,b,a)")); - ((5, 36), (5, 32, 5, 39, "(c,b,a)")); ((5, 37), (5, 32, 5, 39, "(c,b,a)")); - ((5, 38), (5, 32, 5, 39, "(c,b,a)")); ((5, 39), (5, 32, 5, 39, "(c,b,a)")); - ((6, 0), (6, 7, 6, 18, "List.unzip3")); - ((6, 1), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 2), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 3), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 4), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 5), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 6), - (3, 4, 6, 18, - "([1],[2],[3]) $ |||> List.zip3$ |> List.map (fun (a,b,c) -> (c,b,a))$ |> List.unzip3")); - ((6, 7), (6, 7, 6, 18, "List.unzip3")); ((6, 8), (6, 7, 6, 18, "List.unzip3")); - ((6, 9), (6, 7, 6, 18, "List.unzip3")); ((6, 10), (6, 7, 6, 18, "List.unzip3")); - ((6, 11), (6, 7, 6, 18, "List.unzip3")); - ((6, 12), (6, 7, 6, 18, "List.unzip3")); - ((6, 13), (6, 7, 6, 18, "List.unzip3")); - ((6, 14), (6, 7, 6, 18, "List.unzip3")); - ((6, 15), (6, 7, 6, 18, "List.unzip3")); - ((6, 16), (6, 7, 6, 18, "List.unzip3")); - ((6, 17), (6, 7, 6, 18, "List.unzip3"))] + [((3, 0), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 1), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 2), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 3), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 4), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 5), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 6), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 7), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 8), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 9), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 10), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 11), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 12), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 13), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 14), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 15), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 16), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 17), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 18), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 19), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 20), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((3, 21), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 0), (4, 8, 4, 17, "let x = 1")); + ((4, 1), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 2), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 3), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 4), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 5), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 6), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 7), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((4, 8), (4, 8, 4, 17, "let x = 1")); ((4, 9), (4, 8, 4, 17, "let x = 1")); + ((4, 10), (4, 8, 4, 17, "let x = 1")); ((4, 11), (4, 8, 4, 17, "let x = 1")); + ((4, 12), (4, 8, 4, 17, "let x = 1")); ((4, 13), (4, 8, 4, 17, "let x = 1")); + ((4, 14), (4, 8, 4, 17, "let x = 1")); ((4, 15), (4, 8, 4, 17, "let x = 1")); + ((4, 16), (4, 8, 4, 17, "let x = 1")); ((5, 0), (5, 8, 5, 9, "x")); + ((5, 1), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 2), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 3), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 4), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 5), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 6), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 7), (3, 3, 5, 10, "id (fun (A(b,c)) ->$ let x = 1$ x)")); + ((5, 8), (5, 8, 5, 9, "x")); ((5, 9), (5, 8, 5, 9, "x"))] [] let ``Partially valid namespaces should be reported`` () = From 99de813d881b0bc7153c71c608a025b81dbae210 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 19:33:42 +0100 Subject: [PATCH 22/24] update baseline --- ...erService.SurfaceArea.netstandard.expected | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected b/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected index b4f20c0a87..201bf74c95 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected @@ -5293,29 +5293,29 @@ FSharp.Compiler.Syntax.DebugPointAtWith: Int32 GetHashCode(System.Collections.IE FSharp.Compiler.Syntax.DebugPointAtWith: Int32 Tag FSharp.Compiler.Syntax.DebugPointAtWith: Int32 get_Tag() FSharp.Compiler.Syntax.DebugPointAtWith: System.String ToString() -FSharp.Compiler.Syntax.DebugPointForTarget -FSharp.Compiler.Syntax.DebugPointForTarget+Tags: Int32 No -FSharp.Compiler.Syntax.DebugPointForTarget+Tags: Int32 Yes -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean Equals(FSharp.Compiler.Syntax.DebugPointForTarget) -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean Equals(System.Object) -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean Equals(System.Object, System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean IsNo -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean IsYes -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean get_IsNo() -FSharp.Compiler.Syntax.DebugPointForTarget: Boolean get_IsYes() -FSharp.Compiler.Syntax.DebugPointForTarget: FSharp.Compiler.Syntax.DebugPointForTarget No -FSharp.Compiler.Syntax.DebugPointForTarget: FSharp.Compiler.Syntax.DebugPointForTarget Yes -FSharp.Compiler.Syntax.DebugPointForTarget: FSharp.Compiler.Syntax.DebugPointForTarget get_No() -FSharp.Compiler.Syntax.DebugPointForTarget: FSharp.Compiler.Syntax.DebugPointForTarget get_Yes() -FSharp.Compiler.Syntax.DebugPointForTarget: FSharp.Compiler.Syntax.DebugPointForTarget+Tags -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 CompareTo(FSharp.Compiler.Syntax.DebugPointForTarget) -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 CompareTo(System.Object) -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 CompareTo(System.Object, System.Collections.IComparer) -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 GetHashCode() -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 GetHashCode(System.Collections.IEqualityComparer) -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 Tag -FSharp.Compiler.Syntax.DebugPointForTarget: Int32 get_Tag() -FSharp.Compiler.Syntax.DebugPointForTarget: System.String ToString() +FSharp.Compiler.Syntax.DebugPointAtTarget +FSharp.Compiler.Syntax.DebugPointAtTarget+Tags: Int32 No +FSharp.Compiler.Syntax.DebugPointAtTarget+Tags: Int32 Yes +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean Equals(FSharp.Compiler.Syntax.DebugPointAtTarget) +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean Equals(System.Object) +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean Equals(System.Object, System.Collections.IEqualityComparer) +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean IsNo +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean IsYes +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean get_IsNo() +FSharp.Compiler.Syntax.DebugPointAtTarget: Boolean get_IsYes() +FSharp.Compiler.Syntax.DebugPointAtTarget: FSharp.Compiler.Syntax.DebugPointAtTarget No +FSharp.Compiler.Syntax.DebugPointAtTarget: FSharp.Compiler.Syntax.DebugPointAtTarget Yes +FSharp.Compiler.Syntax.DebugPointAtTarget: FSharp.Compiler.Syntax.DebugPointAtTarget get_No() +FSharp.Compiler.Syntax.DebugPointAtTarget: FSharp.Compiler.Syntax.DebugPointAtTarget get_Yes() +FSharp.Compiler.Syntax.DebugPointAtTarget: FSharp.Compiler.Syntax.DebugPointAtTarget+Tags +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 CompareTo(FSharp.Compiler.Syntax.DebugPointAtTarget) +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 CompareTo(System.Object) +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 CompareTo(System.Object, System.Collections.IComparer) +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 GetHashCode() +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 GetHashCode(System.Collections.IEqualityComparer) +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 Tag +FSharp.Compiler.Syntax.DebugPointAtTarget: Int32 get_Tag() +FSharp.Compiler.Syntax.DebugPointAtTarget: System.String ToString() FSharp.Compiler.Syntax.ExprAtomicFlag FSharp.Compiler.Syntax.ExprAtomicFlag: FSharp.Compiler.Syntax.ExprAtomicFlag Atomic FSharp.Compiler.Syntax.ExprAtomicFlag: FSharp.Compiler.Syntax.ExprAtomicFlag NonAtomic @@ -7011,11 +7011,11 @@ FSharp.Compiler.Syntax.SynInterpolatedStringPart: Int32 Tag FSharp.Compiler.Syntax.SynInterpolatedStringPart: Int32 get_Tag() FSharp.Compiler.Syntax.SynInterpolatedStringPart: System.String ToString() FSharp.Compiler.Syntax.SynMatchClause -FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.DebugPointForTarget debugPoint -FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.DebugPointForTarget get_debugPoint() +FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.DebugPointAtTarget debugPoint +FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.DebugPointAtTarget get_debugPoint() FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynExpr get_resultExpr() FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynExpr resultExpr -FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynMatchClause NewSynMatchClause(FSharp.Compiler.Syntax.SynPat, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.Syntax.DebugPointForTarget) +FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynMatchClause NewSynMatchClause(FSharp.Compiler.Syntax.SynPat, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.Syntax.DebugPointAtTarget) FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynPat get_pat() FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Syntax.SynPat pat FSharp.Compiler.Syntax.SynMatchClause: FSharp.Compiler.Text.Range Range From 92f67faa04da0183fe43d719eb221793cd6090d3 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Tue, 17 Aug 2021 20:27:29 +0100 Subject: [PATCH 23/24] update baseline --- ...erService.SurfaceArea.netstandard.expected | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected b/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected index 201bf74c95..f0a2ce45af 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected @@ -5222,6 +5222,28 @@ FSharp.Compiler.Syntax.DebugPointAtSequential: Int32 GetHashCode(System.Collecti FSharp.Compiler.Syntax.DebugPointAtSequential: Int32 Tag FSharp.Compiler.Syntax.DebugPointAtSequential: Int32 get_Tag() FSharp.Compiler.Syntax.DebugPointAtSequential: System.String ToString() +FSharp.Compiler.Syntax.DebugPointAtSwitch +FSharp.Compiler.Syntax.DebugPointAtSwitch+Tags: Int32 No +FSharp.Compiler.Syntax.DebugPointAtSwitch+Tags: Int32 Yes +FSharp.Compiler.Syntax.DebugPointAtSwitch+Yes: FSharp.Compiler.Text.Range Item +FSharp.Compiler.Syntax.DebugPointAtSwitch+Yes: FSharp.Compiler.Text.Range get_Item() +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean Equals(FSharp.Compiler.Syntax.DebugPointAtSwitch) +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean Equals(System.Object) +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean Equals(System.Object, System.Collections.IEqualityComparer) +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean IsNo +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean IsYes +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean get_IsNo() +FSharp.Compiler.Syntax.DebugPointAtSwitch: Boolean get_IsYes() +FSharp.Compiler.Syntax.DebugPointAtSwitch: FSharp.Compiler.Syntax.DebugPointAtSwitch NewYes(FSharp.Compiler.Text.Range) +FSharp.Compiler.Syntax.DebugPointAtSwitch: FSharp.Compiler.Syntax.DebugPointAtSwitch No +FSharp.Compiler.Syntax.DebugPointAtSwitch: FSharp.Compiler.Syntax.DebugPointAtSwitch get_No() +FSharp.Compiler.Syntax.DebugPointAtSwitch: FSharp.Compiler.Syntax.DebugPointAtSwitch+Tags +FSharp.Compiler.Syntax.DebugPointAtSwitch: FSharp.Compiler.Syntax.DebugPointAtSwitch+Yes +FSharp.Compiler.Syntax.DebugPointAtSwitch: Int32 GetHashCode() +FSharp.Compiler.Syntax.DebugPointAtSwitch: Int32 GetHashCode(System.Collections.IEqualityComparer) +FSharp.Compiler.Syntax.DebugPointAtSwitch: Int32 Tag +FSharp.Compiler.Syntax.DebugPointAtSwitch: Int32 get_Tag() +FSharp.Compiler.Syntax.DebugPointAtSwitch: System.String ToString() FSharp.Compiler.Syntax.DebugPointAtTry FSharp.Compiler.Syntax.DebugPointAtTry+Tags: Int32 Body FSharp.Compiler.Syntax.DebugPointAtTry+Tags: Int32 No From 88e930a87e27278d460447a333fcf60bd3d12187 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Wed, 18 Aug 2021 02:52:52 +0100 Subject: [PATCH 24/24] fixes and abseline updates and more testing --- src/fsharp/AugmentWithHashCompare.fs | 14 +- src/fsharp/IlxGen.fs | 32 +- .../CodeGen/EmittedIL/BooleanLogic.fs | 57 +- .../EmittedIL/ComputedListExpressions.fs | 303 ++-- .../CodeGen/EmittedIL/TaskGeneratedCode.fs | 230 +-- .../AsyncExpressionSteppingTest3.il.bsl | 4 +- .../AsyncExpressionSteppingTest4.il.bsl | 4 +- .../AsyncExpressionSteppingTest5.il.bsl | 4 +- .../AsyncExpressionSteppingTest6.il.bsl | 4 +- .../EmittedIL/AttributeTargets/Default.il.bsl | 36 +- .../EmittedIL/AttributeTargets/Field.il.bsl | 40 +- .../AttributeTargets/Property.il.bsl | 40 +- .../CCtorDUWithMember01.il.bsl | 235 +-- .../ComputationExpr02.il.bsl | 38 +- .../ComputationExpr03.il.bsl | 68 +- .../ComputationExpr04.il.bsl | 58 +- .../ComputationExpr05.il.bsl | 40 +- .../GeneratedIterators/GenIter01.il.bsl | 5 +- .../GeneratedIterators/GenIter02.il.bsl | 5 +- .../GeneratedIterators/GenIter03.il.bsl | 5 +- .../GeneratedIterators/GenIter04.il.bsl | 5 +- .../InequalityComparison05.il.bsl | 22 +- .../ListExpressionSteppingTest2.il.bsl | 176 +- .../ListExpressionSteppingTest4.il.bsl | 70 +- .../ListExpressionSteppingTest5.il.bsl | 94 +- .../ListExpressionSteppingTest6.il.bsl | 6 +- .../CodeGen/EmittedIL/Misc/AnonRecd.il.bsl | 326 ++-- .../EmittedIL/Misc/EntryPoint01.il.bsl | 34 +- .../EmittedIL/Misc/EqualsOnUnions01.il.bsl | 502 +++--- .../Misc/GeneralizationOnUnions01.il.bsl | 159 +- .../EmittedIL/Misc/IfThenElse01.il.bsl | 22 +- .../EmittedIL/Misc/LetIfThenElse01.il.bsl | 122 +- .../CodeGen/EmittedIL/Misc/Lock01.il.bsl | 5 +- .../EmittedIL/Misc/MethodImplNoInline.il.bsl | 4 +- .../Misc/MethodImplNoInline02.il.bsl | 4 +- .../EmittedIL/Misc/Seq_for_all01.il.bsl | 30 +- .../CodeGen/EmittedIL/Misc/Structs01.il.bsl | 6 +- .../CodeGen/EmittedIL/Misc/Structs02.il.bsl | 6 +- .../Misc/StructsAsArrayElements01.il.bsl | 6 +- .../Misc/TryWith_NoFilterBlocks01.il.bsl | 46 +- .../Linq101Aggregates01.il.bsl | 316 ++-- .../Linq101ElementOperators01.il.bsl | 84 +- .../Linq101Joins01.il.bsl | 56 +- .../Linq101Ordering01.il.bsl | 84 +- .../Linq101Partitioning01.il.bsl | 84 +- .../Linq101Quantifiers01.il.bsl | 44 +- .../Linq101Select01.il.bsl | 504 +++--- .../Linq101SetOperators01.il.bsl | 84 +- .../Linq101Where01.il.bsl | 78 +- .../SeqExpressionSteppingTest5.il.bsl | 24 +- .../SeqExpressionSteppingTest6.il.bsl | 24 +- .../SeqExpressionSteppingTest7.il.bsl | 69 +- .../ToplevelModule.il.bsl | 962 +++++------ .../ToplevelNamespace.il.bsl | 1440 +++++++++-------- .../StaticInit/StaticInit_Class01.il.bsl | 36 +- .../StaticInit/StaticInit_Struct01.il.bsl | 36 +- .../SteppingMatch/SteppingMatch01.il.bsl | 8 +- .../SteppingMatch/SteppingMatch02.il.bsl | 8 +- .../SteppingMatch/SteppingMatch03.il.bsl | 10 +- .../SteppingMatch/SteppingMatch04.il.bsl | 10 +- .../SteppingMatch/SteppingMatch05.il.bsl | 10 +- .../SteppingMatch/SteppingMatch06.il.bsl | 261 +-- .../SteppingMatch/SteppingMatch07.il.bsl | 261 +-- .../SteppingMatch/SteppingMatch08.il.bsl | 30 +- .../SteppingMatch/SteppingMatch09.il.bsl | 94 +- .../TestFunctions/TestFunction16.il.bsl | 415 ++--- .../TestFunctions/TestFunction17.il.bsl | 370 +++-- .../TestFunctions/TestFunction21.il.bsl | 415 ++--- .../TestFunctions/TestFunction24.il.bsl | 372 +++-- .../TestFunctions/TestFunction3b.il.bsl | 61 +- .../TestFunctions/TestFunction3c.il.bsl | 87 +- .../TestFunctions/TestFunction9b4.il.bsl | 34 +- .../TestFunctions/Testfunction22f.il.bsl | 5 +- .../TestFunctions/Testfunction22g.il.bsl | 24 +- .../TestFunctions/Testfunction22h.il.bsl | 24 +- .../TestFunctions/Testfunction3.il.bsl | 40 +- .../TestFunctions/Testfunction4.il.bsl | 38 +- .../TestFunctions/Testfunction8.il.bsl | 30 +- .../TestFunctions/Testfunction9.il.bsl | 34 +- .../TestFunctions/Testfunction9b.il.bsl | 286 ++-- .../TestFunctions/Testfunction9b1.il.bsl | 286 ++-- .../TestFunctions/Testfunction9b2.il.bsl | 286 ++-- .../TestFunctions/Testfunction9b3.il.bsl | 286 ++-- .../EmittedIL/Tuples/OptionalArg01.il.bsl | 126 +- .../EmittedIL/Tuples/TupleElimination.il.bsl | 4 +- .../GenericComparison/Compare01.il.bsl | 5 +- .../GenericComparison/Compare02.il.bsl | 6 +- .../GenericComparison/Compare03.il.bsl | 7 +- .../GenericComparison/Compare04.il.bsl | 8 +- .../GenericComparison/Compare05.il.bsl | 400 ++--- .../GenericComparison/Compare06.il.bsl | 347 ++-- .../GenericComparison/Compare07.il.bsl | 466 +++--- .../GenericComparison/Compare10.il.bsl | 927 ++++++----- .../GenericComparison/Equals03.il.bsl | 52 +- .../GenericComparison/Equals04.il.bsl | 400 ++--- .../GenericComparison/Equals05.il.bsl | 347 ++-- .../GenericComparison/Equals06.il.bsl | 466 +++--- .../GenericComparison/Equals09.il.bsl | 927 ++++++----- .../GenericComparison/Hash05.il.bsl | 400 ++--- .../GenericComparison/Hash06.il.bsl | 400 ++--- .../GenericComparison/Hash08.il.bsl | 347 ++-- .../GenericComparison/Hash09.il.bsl | 466 +++--- .../GenericComparison/Hash12.il.bsl | 927 ++++++----- .../TheBigFileOfDebugStepping.fsx | 80 + 104 files changed, 9388 insertions(+), 8297 deletions(-) diff --git a/src/fsharp/AugmentWithHashCompare.fs b/src/fsharp/AugmentWithHashCompare.fs index 6842c3754a..aa69ea0805 100644 --- a/src/fsharp/AugmentWithHashCompare.fs +++ b/src/fsharp/AugmentWithHashCompare.fs @@ -157,10 +157,10 @@ let mkCompareTestConjuncts g m exprs = (a, b) ||> List.foldBack (fun e acc -> let nv, ne = mkCompGenLocal m "n" g.int_ty mkCompGenLet m nv e - (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.int_ty (mkClt g m ne (mkZero g m)) ne - (mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty + (mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.int_ty (mkCgt g m ne (mkZero g m)) ne acc))) @@ -171,7 +171,7 @@ let mkEqualsTestConjuncts g m exprs = | [h] -> h | l -> let a, b = List.frontAndBack l - List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty e acc (mkFalse g m)) a b + List.foldBack (fun e acc -> mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.bool_ty e acc (mkFalse g m)) a b let mkMinimalTy (g: TcGlobals) (tcref: TyconRef) = if tcref.Deref.IsExceptionDecl then [], g.exn_ty @@ -378,7 +378,7 @@ let mkUnionCompare g tcref (tycon: Tycon) = let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m))in @@ -439,7 +439,7 @@ let mkUnionCompareWithComparer g tcref (tycon: Tycon) (_thisv, thise) (_thatobjv let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.int_ty + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.int_ty (mkILAsmCeq g m thistage thattage) expr (mkAsmExpr ([ AI_sub ], [], [thistage; thattage], [g.int_ty], m)) @@ -499,7 +499,7 @@ let mkUnionEquality g tcref (tycon: Tycon) = let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) @@ -561,7 +561,7 @@ let mkUnionEqualityWithComparer g tcref (tycon: Tycon) (_thisv, thise) thatobje let expr = if ucases.Length = 1 then expr else let tagsEqTested = - mkCond DebugPointAtBinding.NoneAtInvisible DebugPointAtTarget.No m g.bool_ty + mkCond DebugPointAtBinding.NoneAtSticky DebugPointAtTarget.No m g.bool_ty (mkILAsmCeq g m thistage thattage) expr (mkFalse g m) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index 5bf9d31946..974e3457b7 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -1916,15 +1916,15 @@ type CodeGenBuffer(m: range, let i = I_seqpoint attr hasDebugPoints <- true - // Replace the FeeFee seqpoint at the entry with a better debug point + // Replace a FeeFee seqpoint with a better debug point + let n = codebuf.Count let isSingleFeeFee = - codebuf.Count = 1 && - match codebuf.[0] with + match codebuf.[n-1] with | I_seqpoint sm -> (sm.Line = FeeFee mgbuf.cenv) | _ -> false if isSingleFeeFee then - codebuf.[0] <- i + codebuf.[n-1] <- i else cgbuf.EnsureNopBetweenDebugPoints() codebuf.Add i @@ -1941,9 +1941,13 @@ type CodeGenBuffer(m: range, hasDebugPoints <- true // don't emit just after another FeeFee - match codebuf.[codebuf.Count-1] with - | I_seqpoint sm when sm.Line = FeeFee mgbuf.cenv -> () - | _ -> + let n = codebuf.Count + let isSingleFeeFee = + match codebuf.[n-1] with + | I_seqpoint sm -> (sm.Line = FeeFee mgbuf.cenv) + | _ -> false + + if not isSingleFeeFee then cgbuf.EnsureNopBetweenDebugPoints() codebuf.Add i @@ -2673,7 +2677,9 @@ and GenSequel cenv cloc cgbuf sequel = if cgbuf.mgbuf.cenv.opts.generateDebugSymbols then cgbuf.EmitStartOfHiddenCode() CG.EmitInstr cgbuf (pop 0) Push0 AI_nop + CG.EmitInstr cgbuf (pop 0) Push0 (I_br x.CodeLabel) + | LeaveHandler (isFinally, whereToSaveResultOpt, afterHandler, hasResult) -> if hasResult then if isFinally then @@ -2685,6 +2691,7 @@ and GenSequel cenv cloc cgbuf sequel = | Some (whereToSaveResult, _) -> EmitSetLocal cgbuf whereToSaveResult CG.EmitInstr cgbuf (pop 0) Push0 (if isFinally then I_endfinally else I_leave(afterHandler.CodeLabel)) + | EndFilter -> CG.EmitInstr cgbuf (pop 1) Push0 I_endfilter ) @@ -3936,8 +3943,8 @@ and GenTryWith cenv cgbuf eenv (e1, vf: Val, ef, vh: Val, eh, m, resty, spTry, s cgbuf.EmitStartOfHiddenCode() - (* Restore the stack and load the result *) - EmitRestoreStack cgbuf stack (* RESTORE *) + // Restore the stack and load the result + EmitRestoreStack cgbuf stack match whereToSaveOpt with | Some (whereToSave, ilResultTy) -> @@ -5699,12 +5706,7 @@ and GenDecisionTreeTarget cenv cgbuf stackAtTargets targetInfo sequel = CG.SetMarkToHere cgbuf targetMarkBeforeBinds let spExpr = (match spTarget with DebugPointAtTarget.Yes -> SPAlways | DebugPointAtTarget.No _ -> SPSuppress) - // Only emit start of hidden code if we really have to, i.e. if the target expression doesn't start with a - // debug point anyway - if isNil vs && DoesGenExprStartWithDebugPoint cenv.g spExpr successExpr then - () - else - cgbuf.EmitStartOfHiddenCode() + cgbuf.EmitStartOfHiddenCode() CG.SetMarkToHere cgbuf startScope let binds = mkInvisibleBinds vs es diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs index b5ec522512..3f842a0c04 100644 --- a/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs +++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs @@ -21,35 +21,36 @@ let compute (x: int) = (fun verifier -> verifier.VerifyIL [ """ .method public static int32 compute(int32 x) cil managed -{ - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.1 - IL_0002: beq.s IL_0008 - - IL_0004: ldarg.0 - IL_0005: ldc.i4.2 - IL_0006: bne.un.s IL_000a - - IL_0008: ldc.i4.2 - IL_0009: ret - - IL_000a: ldarg.0 - IL_000b: ldc.i4.3 - IL_000c: beq.s IL_0012 - - IL_000e: ldarg.0 - IL_000f: ldc.i4.4 - IL_0010: bne.un.s IL_0014 - - IL_0012: ldc.i4.3 - IL_0013: ret - - IL_0014: ldc.i4.4 - IL_0015: ret -} + { + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldc.i4.1 + IL_0003: beq.s IL_0009 + + IL_0005: ldarg.0 + IL_0006: ldc.i4.2 + IL_0007: bne.un.s IL_000b + + IL_0009: ldc.i4.2 + IL_000a: ret + + IL_000b: nop + IL_000c: ldarg.0 + IL_000d: ldc.i4.3 + IL_000e: beq.s IL_0014 + + IL_0010: ldarg.0 + IL_0011: ldc.i4.4 + IL_0012: bne.un.s IL_0016 + + IL_0014: ldc.i4.3 + IL_0015: ret + + IL_0016: ldc.i4.4 + IL_0017: ret +} """ ]) diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs index 4ba85d0067..ca68e2e9d7 100644 --- a/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs +++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs @@ -53,25 +53,26 @@ let ListExpressionSteppingTest2 () = .maxstack 4 .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 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: ldloca.s V_0 - IL_0012: ldc.i4.1 - IL_0013: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0018: nop - IL_0019: ldstr "goodbye" - 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: ldloca.s V_0 - IL_002b: ldc.i4.2 - IL_002c: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0031: nop - IL_0032: ldloca.s V_0 - IL_0034: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0039: ret + 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 } """ ]) @@ -156,56 +157,58 @@ let ListExpressionSteppingTest4 () = class [runtime]System.Collections.Generic.IEnumerable`1 V_2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 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.1 + 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.1 .try { - IL_0007: nop - IL_0008: ldc.i4.0 - IL_0009: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) - IL_000e: stloc.3 - IL_000f: ldloc.3 - IL_0010: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0015: nop - IL_0016: ldloca.s V_0 - IL_0018: ldloc.1 - IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - 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: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_002a: ldloc.3 - IL_002b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0030: add - IL_0031: stloc.s V_4 - IL_0033: ldloca.s V_0 - IL_0035: ldloc.s V_4 - IL_0037: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_003c: nop - IL_003d: ldnull - IL_003e: stloc.2 - IL_003f: leave.s IL_005a + IL_0008: nop + IL_0009: ldc.i4.0 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_000f: stloc.3 + IL_0010: ldloc.3 + IL_0011: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0016: nop + IL_0017: ldloca.s V_0 + IL_0019: ldloc.1 + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_001f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0024: nop + IL_0025: ldloc.1 + IL_0026: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_002b: ldloc.3 + IL_002c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0031: add + IL_0032: stloc.s V_4 + IL_0034: ldloca.s V_0 + IL_0036: ldloc.s V_4 + IL_0038: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_003d: nop + IL_003e: ldnull + IL_003f: stloc.2 + IL_0040: leave.s IL_005b } finally { - IL_0041: nop - IL_0042: ldloc.1 - IL_0043: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0048: nop - IL_0049: ldstr "done" - IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0058: pop - IL_0059: endfinally + IL_0042: nop + IL_0043: ldloc.1 + IL_0044: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0049: nop + IL_004a: ldstr "done" + IL_004f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0054: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0059: pop + IL_005a: endfinally } - IL_005a: ldloc.2 - IL_005b: pop - IL_005c: ldloca.s V_0 - IL_005e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0063: ret + IL_005b: ldloc.2 + IL_005c: pop + IL_005d: ldloca.s V_0 + IL_005f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0064: ret } + """ ]) @@ -309,95 +312,93 @@ let ListExpressionSteppingTest6 () = (fun verifier -> verifier.VerifyIL [ """ .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - ListExpressionSteppingTest6() 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: ldc.i4.1 - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.4 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000d: stloc.1 - .try - { - IL_000e: ldloc.1 - IL_000f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0014: brfalse.s IL_0074 - - IL_0016: ldloc.1 - IL_0017: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: ldc.i4.1 - IL_001f: sub - IL_0020: switch ( - IL_002f, - IL_004b) - IL_002d: br.s IL_0068 - - IL_002f: ldstr "hello" - IL_0034: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0039: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_003e: pop - IL_003f: ldloca.s V_0 - IL_0041: ldloc.3 - IL_0042: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0047: nop - IL_0048: nop - IL_0049: br.s IL_000e - - IL_004b: nop - IL_004c: ldstr "hello" - IL_0051: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0056: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_005b: pop - IL_005c: ldloca.s V_0 - IL_005e: ldloc.3 - IL_005f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0064: nop - IL_0065: nop - IL_0066: br.s IL_000e - - IL_0068: ldloca.s V_0 - IL_006a: ldloc.3 - IL_006b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0070: nop - IL_0071: nop - IL_0072: br.s IL_000e - - IL_0074: ldnull - IL_0075: stloc.2 - IL_0076: leave.s IL_008d - - } - finally - { - IL_0078: ldloc.1 - IL_0079: isinst [runtime]System.IDisposable - IL_007e: stloc.s V_4 - IL_0080: ldloc.s V_4 - IL_0082: brfalse.s IL_008c - - IL_0084: ldloc.s V_4 - IL_0086: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_008b: endfinally - IL_008c: endfinally - } - IL_008d: ldloc.2 - IL_008e: pop - IL_008f: ldloca.s V_0 - IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0096: ret - } - -} + ListExpressionSteppingTest6() 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: ldc.i4.1 + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.4 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000d: stloc.1 + .try + { + IL_000e: ldloc.1 + IL_000f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0014: brfalse.s IL_0074 + + IL_0016: ldloc.1 + IL_0017: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_001c: stloc.3 + IL_001d: nop + IL_001e: ldloc.3 + IL_001f: ldc.i4.1 + IL_0020: sub + IL_0021: switch ( + IL_0030, + IL_004c) + IL_002e: br.s IL_0068 + + 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: ldloca.s V_0 + IL_0042: ldloc.3 + IL_0043: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0048: nop + IL_0049: nop + IL_004a: br.s IL_000e + + IL_004c: ldstr "hello" + IL_0051: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0056: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_005b: pop + IL_005c: ldloca.s V_0 + IL_005e: ldloc.3 + IL_005f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0064: nop + IL_0065: nop + IL_0066: br.s IL_000e + + IL_0068: ldloca.s V_0 + IL_006a: ldloc.3 + IL_006b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0070: nop + IL_0071: nop + IL_0072: br.s IL_000e + + IL_0074: ldnull + IL_0075: stloc.2 + IL_0076: leave.s IL_008d + + } + finally + { + IL_0078: ldloc.1 + IL_0079: isinst [runtime]System.IDisposable + IL_007e: stloc.s V_4 + IL_0080: ldloc.s V_4 + IL_0082: brfalse.s IL_008c + + IL_0084: ldloc.s V_4 + IL_0086: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_008b: endfinally + IL_008c: endfinally + } + IL_008d: ldloc.2 + IL_008e: pop + IL_008f: ldloca.s V_0 + IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0096: ret +} """ ]) diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/TaskGeneratedCode.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/TaskGeneratedCode.fs index 3bbfcdf9eb..d75e184921 100644 --- a/tests/fsharp/Compiler/CodeGen/EmittedIL/TaskGeneratedCode.fs +++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/TaskGeneratedCode.fs @@ -889,69 +889,70 @@ let testTask() = task { while x > 4 do System.Console.WriteLine("loop") } { IL_0007: ldc.i4.1 IL_0008: stloc.3 - IL_0009: ldloc.3 - IL_000a: brfalse.s IL_0017 - - IL_000c: call int32 Test::get_x() - IL_0011: ldc.i4.4 - IL_0012: cgt - IL_0014: nop - IL_0015: br.s IL_0019 - - IL_0017: ldc.i4.0 - IL_0018: nop - IL_0019: brfalse.s IL_0030 - - IL_001b: ldstr "loop" - IL_0020: call void [runtime]System.Console::WriteLine(string) - IL_0025: ldc.i4.1 - IL_0026: stloc.s V_4 - IL_0028: ldloc.s V_4 - IL_002a: stloc.3 - IL_002b: ldc.i4.0 - IL_002c: stloc.0 - IL_002d: nop - IL_002e: br.s IL_0009 - - IL_0030: ldloc.3 - IL_0031: stloc.2 - IL_0032: ldloc.2 - IL_0033: brfalse.s IL_0052 - - IL_0035: ldarg.0 - IL_0036: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_003b: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder - IL_0040: ldarg.0 - IL_0041: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_0046: ldfld !0 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::Result - IL_004b: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) - IL_0050: leave.s IL_0060 - - IL_0052: leave.s IL_0060 + IL_0009: nop + IL_000a: ldloc.3 + IL_000b: brfalse.s IL_0018 + + IL_000d: call int32 Test::get_x() + IL_0012: ldc.i4.4 + IL_0013: cgt + IL_0015: nop + IL_0016: br.s IL_001a + + IL_0018: ldc.i4.0 + IL_0019: nop + IL_001a: brfalse.s IL_0031 + + IL_001c: ldstr "loop" + IL_0021: call void [runtime]System.Console::WriteLine(string) + IL_0026: ldc.i4.1 + IL_0027: stloc.s V_4 + IL_0029: ldloc.s V_4 + IL_002b: stloc.3 + IL_002c: ldc.i4.0 + IL_002d: stloc.0 + IL_002e: nop + IL_002f: br.s IL_0009 + + IL_0031: ldloc.3 + IL_0032: stloc.2 + IL_0033: ldloc.2 + IL_0034: brfalse.s IL_0053 + + IL_0036: ldarg.0 + IL_0037: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_003c: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder + IL_0041: ldarg.0 + IL_0042: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_0047: ldfld !0 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::Result + IL_004c: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_0051: leave.s IL_0061 + + IL_0053: leave.s IL_0061 } catch [runtime]System.Object { - IL_0054: castclass [runtime]System.Exception - IL_0059: stloc.s V_5 - IL_005b: ldloc.s V_5 - IL_005d: stloc.1 - IL_005e: leave.s IL_0060 + IL_0055: castclass [runtime]System.Exception + IL_005a: stloc.s V_5 + IL_005c: ldloc.s V_5 + IL_005e: stloc.1 + IL_005f: leave.s IL_0061 } - IL_0060: ldloc.1 - IL_0061: stloc.s V_5 - IL_0063: ldloc.s V_5 - IL_0065: brtrue.s IL_0068 - - IL_0067: ret - - IL_0068: ldarg.0 - IL_0069: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_006e: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder - IL_0073: ldloc.s V_5 - IL_0075: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [netstandard]System.Exception) - IL_007a: ret + IL_0061: ldloc.1 + IL_0062: stloc.s V_5 + IL_0064: ldloc.s V_5 + IL_0066: brtrue.s IL_0069 + + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_006f: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder + IL_0074: ldloc.s V_5 + IL_0076: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [netstandard]System.Exception) + IL_007b: ret } """ ]) @@ -988,69 +989,70 @@ let testTask() = task { while x > 4 do System.Console.WriteLine("loop") } { IL_0007: ldc.i4.1 IL_0008: stloc.3 - IL_0009: ldloc.3 - IL_000a: brfalse.s IL_0017 - - IL_000c: call int32 Test::get_x() - IL_0011: ldc.i4.4 - IL_0012: cgt - IL_0014: nop - IL_0015: br.s IL_0019 - - IL_0017: ldc.i4.0 - IL_0018: nop - IL_0019: brfalse.s IL_0030 - - IL_001b: ldstr "loop" - IL_0020: call void [runtime]System.Console::WriteLine(string) - IL_0025: ldc.i4.1 - IL_0026: stloc.s V_4 - IL_0028: ldloc.s V_4 - IL_002a: stloc.3 - IL_002b: ldc.i4.0 - IL_002c: stloc.0 - IL_002d: nop - IL_002e: br.s IL_0009 - - IL_0030: ldloc.3 - IL_0031: stloc.2 - IL_0032: ldloc.2 - IL_0033: brfalse.s IL_0052 - - IL_0035: ldarg.0 - IL_0036: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_003b: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder - IL_0040: ldarg.0 - IL_0041: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_0046: ldfld !0 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::Result - IL_004b: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) - IL_0050: leave.s IL_0060 - - IL_0052: leave.s IL_0060 + IL_0009: nop + IL_000a: ldloc.3 + IL_000b: brfalse.s IL_0018 + + IL_000d: call int32 Test::get_x() + IL_0012: ldc.i4.4 + IL_0013: cgt + IL_0015: nop + IL_0016: br.s IL_001a + + IL_0018: ldc.i4.0 + IL_0019: nop + IL_001a: brfalse.s IL_0031 + + IL_001c: ldstr "loop" + IL_0021: call void [runtime]System.Console::WriteLine(string) + IL_0026: ldc.i4.1 + IL_0027: stloc.s V_4 + IL_0029: ldloc.s V_4 + IL_002b: stloc.3 + IL_002c: ldc.i4.0 + IL_002d: stloc.0 + IL_002e: nop + IL_002f: br.s IL_0009 + + IL_0031: ldloc.3 + IL_0032: stloc.2 + IL_0033: ldloc.2 + IL_0034: brfalse.s IL_0053 + + IL_0036: ldarg.0 + IL_0037: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_003c: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder + IL_0041: ldarg.0 + IL_0042: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_0047: ldfld !0 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::Result + IL_004c: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_0051: leave.s IL_0061 + + IL_0053: leave.s IL_0061 } catch [runtime]System.Object { - IL_0054: castclass [runtime]System.Exception - IL_0059: stloc.s V_5 - IL_005b: ldloc.s V_5 - IL_005d: stloc.1 - IL_005e: leave.s IL_0060 + IL_0055: castclass [runtime]System.Exception + IL_005a: stloc.s V_5 + IL_005c: ldloc.s V_5 + IL_005e: stloc.1 + IL_005f: leave.s IL_0061 } - IL_0060: ldloc.1 - IL_0061: stloc.s V_6 - IL_0063: ldloc.s V_6 - IL_0065: brtrue.s IL_0068 - - IL_0067: ret - - IL_0068: ldarg.0 - IL_0069: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data - IL_006e: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder - IL_0073: ldloc.s V_6 - IL_0075: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [netstandard]System.Exception) - IL_007a: ret + IL_0061: ldloc.1 + IL_0062: stloc.s V_6 + IL_0064: ldloc.s V_6 + IL_0066: brtrue.s IL_0069 + + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldflda valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1 Test/testTask@5::Data + IL_006f: ldflda valuetype [runtime]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [FSharp.Core]Microsoft.FSharp.Control.TaskStateMachineData`1::MethodBuilder + IL_0074: ldloc.s V_6 + IL_0076: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [netstandard]System.Exception) + IL_007b: ret } """ ]) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl index 80c04ba5c4..71cebc43a5 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest3.dll -// MVID: {611B0EC4-6394-F35E-A745-0383C40E1B61} +// MVID: {611C52A3-6394-F35E-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x058A0000 +// Image base: 0x06660000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl index c1df939a31..a411614d6f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000B1 } .module AsyncExpressionSteppingTest4.dll -// MVID: {611B0EC4-6394-6D4B-A745-0383C40E1B61} +// MVID: {611C52A3-6394-6D4B-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06BA0000 +// Image base: 0x06B50000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl index 1fa86b5eb5..8ecc211736 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002B0 Length: 0x000000BE } .module AsyncExpressionSteppingTest5.dll -// MVID: {611B0EC4-6394-30E8-A745-0383C40E1B61} +// MVID: {611C52A3-6394-30E8-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07280000 +// Image base: 0x06B50000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl index 64210fb268..8fc6594026 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BE } .module AsyncExpressionSteppingTest6.dll -// MVID: {611B0EC4-6394-4FAD-A745-0383C40E1B61} +// MVID: {611C52A3-6394-4FAD-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05150000 +// Image base: 0x06B60000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Default.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Default.il.bsl index bbe5b40ba6..9584bf6b19 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Default.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Default.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly Default { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.Default { - // Offset: 0x00000000 Length: 0x000003FA + // Offset: 0x00000000 Length: 0x000003F0 } .mresource public FSharpOptimizationData.Default { - // Offset: 0x00000400 Length: 0x000000BA + // Offset: 0x000003F8 Length: 0x000000BA } .module Default.dll -// MVID: {59B19208-AAA9-67BB-A745-03830892B159} +// MVID: {611C4D7D-AAA9-67BB-A745-03837D4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00E30000 +// Image base: 0x070A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,7 +62,7 @@ // Code size 9 (0x9) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AttributeTargets\\Default.fs' + .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AttributeTargets\\Default.fs' IL_0000: ldarg.0 IL_0001: callvirt instance void [mscorlib]System.Attribute::.ctor() IL_0006: ldarg.0 @@ -103,20 +103,22 @@ .method private specialname rtspecialname static void .cctor() cil managed { - // Code size 25 (0x19) + // Code size 26 (0x1a) .maxstack 4 .locals init ([0] int32 T) + .line 11,12 : 1,29 '' + IL_0000: nop .line 12,12 : 10,25 '' - 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_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 .line 12,12 : 27,28 '' - IL_0010: ldc.i4.1 - IL_0011: dup - IL_0012: stsfld int32 ''.$M::T@12 - IL_0017: stloc.0 - IL_0018: ret + IL_0011: ldc.i4.1 + IL_0012: dup + IL_0013: stsfld int32 ''.$M::T@12 + IL_0018: stloc.0 + IL_0019: ret } // end of method $M::.cctor } // end of class ''.$M diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Field.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Field.il.bsl index 6d4d86af42..4eb0997603 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Field.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Field.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly Field { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.Field { - // Offset: 0x00000000 Length: 0x000003F4 + // Offset: 0x00000000 Length: 0x000003EA } .mresource public FSharpOptimizationData.Field { - // Offset: 0x000003F8 Length: 0x000000B8 + // Offset: 0x000003F0 Length: 0x000000B8 } .module Field.dll -// MVID: {59B19208-96F8-CD6E-A745-03830892B159} +// MVID: {611C4D7D-96F8-CD6E-A745-03837D4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00F60000 +// Image base: 0x06AD0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,7 +62,7 @@ // Code size 9 (0x9) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AttributeTargets\\Field.fs' + .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AttributeTargets\\Field.fs' IL_0000: ldarg.0 IL_0001: callvirt instance void [mscorlib]System.Attribute::.ctor() IL_0006: ldarg.0 @@ -78,7 +78,7 @@ { // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld int32 ''.$M::'T@12-2' + IL_0000: ldsfld int32 ''.$M::T@12 IL_0005: ret } // end of method M::get_T @@ -92,7 +92,7 @@ .class private abstract auto ansi sealed ''.$M extends [mscorlib]System.Object { - .field static assembly initonly int32 'T@12-2' + .field static assembly initonly int32 T@12 .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ @@ -102,20 +102,22 @@ .method private specialname rtspecialname static void .cctor() cil managed { - // Code size 25 (0x19) + // Code size 26 (0x1a) .maxstack 4 .locals init ([0] int32 T) + .line 11,12 : 1,29 '' + IL_0000: nop .line 12,12 : 10,25 '' - 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_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 .line 12,12 : 27,28 '' - IL_0010: ldc.i4.1 - IL_0011: dup - IL_0012: stsfld int32 ''.$M::'T@12-2' - IL_0017: stloc.0 - IL_0018: ret + IL_0011: ldc.i4.1 + IL_0012: dup + IL_0013: stsfld int32 ''.$M::T@12 + IL_0018: stloc.0 + IL_0019: ret } // end of method $M::.cctor } // end of class ''.$M diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Property.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Property.il.bsl index eb0160f0a0..1e5bb37b22 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Property.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AttributeTargets/Property.il.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 // Copyright (c) Microsoft Corporation. All rights reserved. @@ -13,7 +13,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:4:1:0 + .ver 5:0:0:0 } .assembly Property { @@ -29,20 +29,20 @@ } .mresource public FSharpSignatureData.Property { - // Offset: 0x00000000 Length: 0x000003FD + // Offset: 0x00000000 Length: 0x000003F3 } .mresource public FSharpOptimizationData.Property { - // Offset: 0x00000408 Length: 0x000000BB + // Offset: 0x000003F8 Length: 0x000000BB } .module Property.dll -// MVID: {59B19208-9B5C-7949-A745-03830892B159} +// MVID: {611C4D7D-9B5C-7949-A745-03837D4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x02E80000 +// Image base: 0x06F60000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,7 +62,7 @@ // Code size 9 (0x9) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AttributeTargets\\Property.fs' + .line 9,9 : 4,23 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AttributeTargets\\Property.fs' IL_0000: ldarg.0 IL_0001: callvirt instance void [mscorlib]System.Attribute::.ctor() IL_0006: ldarg.0 @@ -78,7 +78,7 @@ { // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld int32 ''.$M::'T@12-4' + IL_0000: ldsfld int32 ''.$M::T@12 IL_0005: ret } // end of method M::get_T @@ -93,7 +93,7 @@ .class private abstract auto ansi sealed ''.$M extends [mscorlib]System.Object { - .field static assembly initonly int32 'T@12-4' + .field static assembly initonly int32 T@12 .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) @@ -102,20 +102,22 @@ .method private specialname rtspecialname static void .cctor() cil managed { - // Code size 25 (0x19) + // Code size 26 (0x1a) .maxstack 4 .locals init ([0] int32 T) + .line 11,12 : 1,29 '' + IL_0000: nop .line 12,12 : 10,25 '' - 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_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 .line 12,12 : 27,28 '' - IL_0010: ldc.i4.1 - IL_0011: dup - IL_0012: stsfld int32 ''.$M::'T@12-4' - IL_0017: stloc.0 - IL_0018: ret + IL_0011: ldc.i4.1 + IL_0012: dup + IL_0013: stsfld int32 ''.$M::T@12 + IL_0018: stloc.0 + IL_0019: ret } // end of method $M::.cctor } // end of class ''.$M diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl index cd87bf2f64..dacfacbd39 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000780 Length: 0x00000227 } .module CCtorDUWithMember01.exe -// MVID: {60BD4554-26F1-14EE-A745-03835445BD60} +// MVID: {611C4D7E-26F1-14EE-A745-03837E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04E50000 +// Image base: 0x067A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -243,60 +243,63 @@ instance int32 CompareTo(class CCtorDUWithMember01a/C obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 48 (0x30) + // Code size 49 (0x31) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\CCtorDUWithMember\\CCtorDUWithMember01a.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + .line 3,3 : 6,7 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\CCtorDUWithMember\\CCtorDUWithMember01a.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0024 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0025 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: bne.un.s IL_0020 + IL_000d: ldarg.0 + IL_000e: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: bne.un.s IL_0021 .line 100001,100001 : 0,0 '' - IL_001e: ldc.i4.0 - IL_001f: ret + IL_001f: ldc.i4.0 + IL_0020: ret .line 100001,100001 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldloc.1 - IL_0022: sub - IL_0023: ret + IL_0021: ldloc.0 + IL_0022: ldloc.1 + IL_0023: sub + IL_0024: ret .line 100001,100001 : 0,0 '' - IL_0024: ldc.i4.1 - IL_0025: ret + IL_0025: ldc.i4.1 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldarg.1 - IL_0027: ldnull - IL_0028: cgt.un - IL_002a: brfalse.s IL_002e + IL_0027: ldarg.1 + IL_0028: ldnull + IL_0029: cgt.un + IL_002b: brfalse.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldc.i4.0 - IL_002f: ret + IL_002f: ldc.i4.0 + IL_0030: ret } // end of method C::CompareTo .method public hidebysig virtual final @@ -327,6 +330,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any CCtorDUWithMember01a/C IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -346,6 +350,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 CCtorDUWithMember01a/C::_tag IL_0025: stloc.2 + .line 100001,100001 : 0,0 '' IL_0026: ldloc.1 IL_0027: ldloc.2 IL_0028: bne.un.s IL_002c @@ -384,25 +389,27 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 17 (0x11) + // Code size 18 (0x12) .maxstack 3 .locals init ([0] int32 V_0) + .line 3,3 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_000f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0010 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_000e: ret + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldarg.0 + IL_000a: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_000f: ret .line 100001,100001 : 0,0 '' - IL_000f: ldc.i4.0 - IL_0010: ret + IL_0010: ldc.i4.0 + IL_0011: ret } // end of method C::GetHashCode .method public hidebysig virtual final @@ -423,50 +430,54 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 47 (0x2f) + // Code size 48 (0x30) .maxstack 4 .locals init ([0] class CCtorDUWithMember01a/C V_0, [1] class CCtorDUWithMember01a/C V_1, [2] int32 V_2, [3] int32 V_3) + .line 3,3 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 - - .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst CCtorDUWithMember01a/C - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0025 - - .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: ceq - IL_0024: ret + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0025: ldc.i4.0 - IL_0026: ret + IL_0007: ldarg.1 + IL_0008: isinst CCtorDUWithMember01a/C + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0026 .line 100001,100001 : 0,0 '' - IL_0027: ldarg.1 - IL_0028: ldnull - IL_0029: cgt.un - IL_002b: ldc.i4.0 - IL_002c: ceq - IL_002e: ret + IL_0011: ldloc.0 + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: ceq + IL_0025: ret + + .line 100001,100001 : 0,0 '' + IL_0026: ldc.i4.0 + IL_0027: ret + + .line 100001,100001 : 0,0 '' + IL_0028: ldarg.1 + IL_0029: ldnull + IL_002a: cgt.un + IL_002c: ldc.i4.0 + IL_002d: ceq + IL_002f: ret } // end of method C::Equals .method public hidebysig specialname @@ -483,45 +494,48 @@ instance bool Equals(class CCtorDUWithMember01a/C obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) + .line 3,3 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0021 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_001f + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0020 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 CCtorDUWithMember01a/C::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: ceq - IL_001e: ret + IL_000d: ldarg.0 + IL_000e: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 CCtorDUWithMember01a/C::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: ceq + IL_001f: ret .line 100001,100001 : 0,0 '' - IL_001f: ldc.i4.0 - IL_0020: ret + IL_0020: ldc.i4.0 + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldarg.1 - IL_0022: ldnull - IL_0023: cgt.un - IL_0025: ldc.i4.0 - IL_0026: ceq - IL_0028: ret + IL_0022: ldarg.1 + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: ldc.i4.0 + IL_0027: ceq + IL_0029: ret } // end of method C::Equals .method public hidebysig virtual final @@ -535,6 +549,7 @@ IL_0000: ldarg.1 IL_0001: isinst CCtorDUWithMember01a/C IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl index 564ad18517..c991414832 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr02.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr02.exe -// MVID: {611B0EC4-3624-E566-A745-0383C40E1B61} +// MVID: {611C4D7F-3624-E566-A745-03837F4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x09590000 +// Image base: 0x071B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,28 +80,30 @@ .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { - // Code size 44 (0x2c) + // Code size 45 (0x2d) .maxstack 7 .locals init ([0] int32 x) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 18,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr02.fs' - 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 + .line 8,8 : 9,50 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr02.fs' + IL_0000: nop + .line 8,8 : 18,33 '' + 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 .line 8,8 : 35,49 '' - IL_0010: ldstr "hello" - IL_0015: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_001a: stloc.0 + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_001b: stloc.0 .line 9,9 : 9,21 '' - IL_001b: ldarg.0 - IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr02/res2@8::builder@ - IL_0021: ldloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr02/res2@8::builder@ IL_0022: ldloc.0 - IL_0023: add - IL_0024: tail. - IL_0026: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) - IL_002b: ret + 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 } // end of method res2@8::Invoke } // end of class res2@8 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl index 6368550780..2451cc7752 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr03.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000240 Length: 0x0000008C } .module ComputationExpr03.exe -// MVID: {611B0EC4-3649-E566-A745-0383C40E1B61} +// MVID: {611C4D7F-3649-E566-A745-03837F4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06B90000 +// Image base: 0x06EE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,28 +80,30 @@ .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { - // Code size 44 (0x2c) + // Code size 45 (0x2d) .maxstack 7 .locals init ([0] int32 x) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 18,33 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr03.fs' - 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 + .line 8,8 : 9,50 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr03.fs' + IL_0000: nop + .line 8,8 : 18,33 '' + 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 .line 8,8 : 35,49 '' - IL_0010: ldstr "hello" - IL_0015: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_001a: stloc.0 + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_001b: stloc.0 .line 9,9 : 9,21 '' - IL_001b: ldarg.0 - IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/res2@8::builder@ - IL_0021: ldloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/res2@8::builder@ IL_0022: ldloc.0 - IL_0023: add - IL_0024: tail. - IL_0026: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) - IL_002b: ret + 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 } // end of method res2@8::Invoke } // end of class res2@8 @@ -131,25 +133,27 @@ .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { - // Code size 42 (0x2a) + // Code size 43 (0x2b) .maxstack 6 .locals init ([0] int32 x) + .line 17,17 : 17,58 '' + IL_0000: nop .line 17,17 : 26,41 '' - 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_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 .line 17,17 : 43,57 '' - IL_0010: ldstr "hello" - IL_0015: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_001a: stloc.0 + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_001b: stloc.0 .line 18,18 : 17,25 '' - IL_001b: ldarg.0 - IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/'res3@17-2'::builder@ - IL_0021: ldc.i4.1 - IL_0022: tail. - IL_0024: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) - IL_0029: ret + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr03/'res3@17-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 } // end of method 'res3@17-2'::Invoke } // end of class 'res3@17-2' diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl index e5b49e16e8..fec0b17fa4 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr04.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr04.exe -// MVID: {611B0EC4-366A-E566-A745-0383C40E1B61} +// MVID: {611C4D7F-366A-E566-A745-03837F4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x052F0000 +// Image base: 0x06D30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,42 +80,44 @@ .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 6 .locals init ([0] int32 x, [1] string V_1) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 7,7 : 22,37 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr04.fs' - 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 + .line 7,7 : 13,54 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr04.fs' + IL_0000: nop + .line 7,7 : 22,37 '' + 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 .line 7,7 : 39,53 '' - IL_0010: ldstr "hello" - IL_0015: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_001a: stloc.0 + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_001b: stloc.0 .line 8,8 : 13,28 '' - IL_001b: ldstr "fail" - IL_0020: stloc.1 - IL_0021: ldc.i4.0 - IL_0022: brfalse.s IL_002c + IL_001c: ldstr "fail" + IL_0021: stloc.1 + IL_0022: ldc.i4.0 + IL_0023: brfalse.s IL_002d - IL_0024: ldnull - IL_0025: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit - IL_002a: br.s IL_0033 + IL_0025: ldnull + IL_0026: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_002b: br.s IL_0034 - IL_002c: ldloc.1 - IL_002d: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_0032: throw + IL_002d: ldloc.1 + IL_002e: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_0033: throw - IL_0033: pop + IL_0034: pop .line 9,9 : 13,21 '' - IL_0034: ldarg.0 - IL_0035: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr04/'res4@7-1'::builder@ - IL_003a: ldloc.0 - IL_003b: tail. - IL_003d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) - IL_0042: ret + IL_0035: ldarg.0 + IL_0036: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr04/'res4@7-1'::builder@ + IL_003b: ldloc.0 + IL_003c: tail. + IL_003e: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_0043: ret } // end of method 'res4@7-1'::Invoke } // end of class 'res4@7-1' diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl index 7f874ae0a8..1d8c67b452 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr05.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x00000218 Length: 0x0000007D } .module ComputationExpr05.exe -// MVID: {611B0EC4-3687-E566-A745-0383C40E1B61} +// MVID: {611C4D7F-3687-E566-A745-03837F4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00C50000 +// Image base: 0x05380000 // =============== CLASS MEMBERS DECLARATION =================== @@ -164,29 +164,31 @@ .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { - // Code size 57 (0x39) + // Code size 58 (0x3a) .maxstack 7 .locals init ([0] int32 x) + .line 8,8 : 9,50 '' + IL_0000: nop .line 8,8 : 18,33 '' - 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_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 .line 8,8 : 35,49 '' - IL_0010: ldstr "hello" - IL_0015: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_001a: stloc.0 + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_001b: stloc.0 .line 9,9 : 17,72 '' - IL_001b: ldarg.0 - IL_001c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr05/res5@8::builder@ - IL_0021: newobj instance void ComputationExpr05/'res5@9-1'::.ctor() - IL_0026: ldarg.0 - IL_0027: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr05/res5@8::builder@ - IL_002c: newobj instance void ComputationExpr05/'res5@10-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) - IL_0031: tail. - IL_0033: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Using(class [mscorlib]System.IDisposable, + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr05/res5@8::builder@ + IL_0022: newobj instance void ComputationExpr05/'res5@9-1'::.ctor() + IL_0027: ldarg.0 + IL_0028: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr05/res5@8::builder@ + IL_002d: newobj instance void ComputationExpr05/'res5@10-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0032: tail. + IL_0034: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Using(class [mscorlib]System.IDisposable, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_0038: ret + IL_0039: ret } // end of method res5@8::Invoke } // end of class res5@8 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter01.il.bsl index f8f111fcb2..a3ec1e9309 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F8 Length: 0x0000007A } .module GenIter01.exe -// MVID: {60BCDCE8-F836-DC98-A745-0383E8DCBC60} +// MVID: {611C4D7C-F836-DC98-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x055E0000 +// Image base: 0x06D20000 // =============== CLASS MEMBERS DECLARATION =================== @@ -103,6 +103,7 @@ IL_002f: ldloc.1 IL_0030: isinst [mscorlib]System.IDisposable IL_0035: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_0037: ldloc.s V_4 IL_0039: brfalse.s IL_0043 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter02.il.bsl index 985b1b8950..2874e0e1be 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter02.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F8 Length: 0x0000007B } .module GenIter02.exe -// MVID: {60BCDCE8-F857-DC98-A745-0383E8DCBC60} +// MVID: {611C4D7C-F857-DC98-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07230000 +// Image base: 0x070F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -108,6 +108,7 @@ IL_003f: ldloc.1 IL_0040: isinst [mscorlib]System.IDisposable IL_0045: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_0047: ldloc.s V_4 IL_0049: brfalse.s IL_0053 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter03.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter03.il.bsl index 526a8fbac7..6e06141da8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter03.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter03.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F8 Length: 0x0000007B } .module GenIter03.exe -// MVID: {60BCDCE8-F77C-DC98-A745-0383E8DCBC60} +// MVID: {611C4D7C-F77C-DC98-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04BE0000 +// Image base: 0x06DC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -103,6 +103,7 @@ IL_0030: ldloc.1 IL_0031: isinst [mscorlib]System.IDisposable IL_0036: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_0038: ldloc.s V_4 IL_003a: brfalse.s IL_0044 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter04.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter04.il.bsl index 09d3a9bfd3..ba6e8bc9d3 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter04.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/GeneratedIterators/GenIter04.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001E8 Length: 0x0000007B } .module GenIter04.exe -// MVID: {60BCDCE8-F79D-DC98-A745-0383E8DCBC60} +// MVID: {611C4D7C-F79D-DC98-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06940000 +// Image base: 0x06650000 // =============== CLASS MEMBERS DECLARATION =================== @@ -130,6 +130,7 @@ IL_0033: ldloc.2 IL_0034: isinst [mscorlib]System.IDisposable IL_0039: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_003b: ldloc.s V_5 IL_003d: brfalse.s IL_0047 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/InequalityComparison/InequalityComparison05.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/InequalityComparison/InequalityComparison05.il.bsl index d0f9c71afb..d8b995dda8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/InequalityComparison/InequalityComparison05.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/InequalityComparison/InequalityComparison05.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000238 Length: 0x00000085 } .module InequalityComparison05.exe -// MVID: {60B68B7E-263A-E751-A745-03837E8BB660} +// MVID: {611C4D7C-263A-E751-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07350000 +// Image base: 0x06C10000 // =============== CLASS MEMBERS DECLARATION =================== @@ -58,21 +58,23 @@ { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 04 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 ) - // Code size 8 (0x8) + // Code size 9 (0x9) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 3,3 : 40,55 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\InequalityComparison\\InequalityComparison05.fs' - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ble.s IL_0006 + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldarg.1 + IL_0003: ble.s IL_0007 .line 3,3 : 56,57 '' - IL_0004: ldarg.2 - IL_0005: ret + IL_0005: ldarg.2 + IL_0006: ret .line 3,3 : 63,64 '' - IL_0006: ldarg.3 - IL_0007: ret + IL_0007: ldarg.3 + IL_0008: ret } // end of method InequalityComparison05::f5 } // end of class InequalityComparison05 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl index 891955152b..5676d0a647 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002D0 Length: 0x000000BC } .module ListExpressionSteppingTest2.exe -// MVID: {611B0EC4-D3DE-B780-A745-0383C40E1B61} +// MVID: {611C4D7C-D3DE-B780-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CE0000 +// Image base: 0x06F60000 // =============== CLASS MEMBERS DECLARATION =================== @@ -279,39 +279,41 @@ .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f1() cil managed { - // Code size 58 (0x3a) + // Code size 59 (0x3b) .maxstack 4 .locals init ([0] valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0) + .line 6,9 : 9,19 '' + IL_0000: nop .line 6,6 : 11,26 '' - 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_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 .line 7,7 : 11,18 '' - IL_0010: ldloca.s V_0 - IL_0012: ldc.i4.1 - IL_0013: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0018: nop + 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 .line 8,8 : 11,28 '' - IL_0019: ldstr "goodbye" - 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_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 .line 9,9 : 11,18 '' - IL_0029: ldloca.s V_0 - IL_002b: ldc.i4.2 - IL_002c: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0031: nop + 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 .line 6,9 : 9,19 '' - IL_0032: ldloca.s V_0 - IL_0034: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0039: ret + 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 } // end of method ListExpressionSteppingTest2::f1 .method public static class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>> f2(!!a x) cil managed { - // Code size 193 (0xc1) + // Code size 194 (0xc2) .maxstack 6 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> xs1, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #1 input #1 at line 16', @@ -324,106 +326,108 @@ [8] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'Pipe #2 input #3 at line 22', [9] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #1 at line 23', [10] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> 'Pipe #2 stage #2 at line 24') + .line 15,19 : 9,45 '' + IL_0000: nop .line 16,16 : 13,20 '' - 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, + IL_0003: ldarg.0 + IL_0004: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0009: call class [FSharp.Core]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, + 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_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + 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_0017: stloc.1 + IL_0018: stloc.1 .line 16,16 : 22,28 '' - IL_0018: ldc.i4.0 - IL_0019: ldc.i4.1 - IL_001a: ldc.i4.2 - IL_001b: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.1 + IL_001b: ldc.i4.2 + IL_001c: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, int32, int32) - IL_0020: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0025: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_002a: stloc.2 + IL_0021: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002b: stloc.2 .line 17,17 : 16,24 '' - 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, + IL_002c: ldloc.1 + IL_002d: ldloc.2 + IL_002e: 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: stloc.3 .line 18,18 : 15,45 '' - 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 [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_0034: 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_0039: ldloc.3 + IL_003a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003e: stloc.s 'Pipe #1 stage #2 at line 18' + IL_003f: stloc.s 'Pipe #1 stage #2 at line 18' .line 19,19 : 15,45 '' - IL_0040: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance - IL_0045: ldloc.s 'Pipe #1 stage #2 at line 18' - IL_0047: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_0041: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance + IL_0046: ldloc.s 'Pipe #1 stage #2 at line 18' + IL_0048: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]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: stloc.0 .line 21,25 : 9,50 '' - IL_004d: nop + IL_004e: nop .line 22,22 : 13,20 '' - IL_004e: ldarg.0 IL_004f: ldarg.0 IL_0050: ldarg.0 - IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0056: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0051: ldarg.0 + IL_0052: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0060: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + 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_0065: stloc.s 'Pipe #2 input #1 at line 22' + IL_0066: stloc.s 'Pipe #2 input #1 at line 22' .line 22,22 : 22,28 '' - IL_0067: ldc.i4.0 - IL_0068: ldc.i4.1 - IL_0069: ldc.i4.2 - IL_006a: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + IL_0068: ldc.i4.0 + IL_0069: ldc.i4.1 + IL_006a: ldc.i4.2 + IL_006b: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, int32, int32) - IL_006f: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0079: stloc.s 'Pipe #2 input #2 at line 22' + IL_0070: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0075: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007a: stloc.s 'Pipe #2 input #2 at line 22' .line 22,22 : 30,36 '' - IL_007b: ldc.i4.0 - IL_007c: ldc.i4.1 - IL_007d: ldc.i4.2 - IL_007e: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + IL_007c: ldc.i4.0 + IL_007d: ldc.i4.1 + IL_007e: ldc.i4.2 + IL_007f: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, int32, int32) - IL_0083: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_008d: stloc.s 'Pipe #2 input #3 at line 22' + IL_0084: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0089: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008e: stloc.s 'Pipe #2 input #3 at line 22' .line 23,23 : 17,26 '' - IL_008f: ldloc.s 'Pipe #2 input #1 at line 22' - IL_0091: ldloc.s 'Pipe #2 input #2 at line 22' - IL_0093: ldloc.s 'Pipe #2 input #3 at line 22' - IL_0095: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Zip3(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, + IL_0090: ldloc.s 'Pipe #2 input #1 at line 22' + IL_0092: ldloc.s 'Pipe #2 input #2 at line 22' + IL_0094: ldloc.s 'Pipe #2 input #3 at line 22' + IL_0096: 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_009a: stloc.s 'Pipe #2 stage #1 at line 23' + IL_009b: stloc.s 'Pipe #2 stage #1 at line 23' .line 24,24 : 15,50 '' - IL_009c: 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_00a1: ldloc.s 'Pipe #2 stage #1 at line 23' - IL_00a3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_009d: 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_00a2: ldloc.s 'Pipe #2 stage #1 at line 23' + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00a8: stloc.s 'Pipe #2 stage #2 at line 24' + IL_00a9: stloc.s 'Pipe #2 stage #2 at line 24' .line 25,25 : 15,50 '' - IL_00aa: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance - IL_00af: ldloc.s 'Pipe #2 stage #2 at line 24' - IL_00b1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_00ab: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance + IL_00b0: ldloc.s 'Pipe #2 stage #2 at line 24' + IL_00b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00b6: stloc.s xs2 + IL_00b7: stloc.s xs2 .line 27,27 : 9,17 '' - IL_00b8: ldloc.0 - IL_00b9: ldloc.s xs2 - IL_00bb: newobj instance void class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>>::.ctor(!0, + IL_00b9: ldloc.0 + IL_00ba: ldloc.s xs2 + IL_00bc: newobj instance void class [mscorlib]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>>::.ctor(!0, !1) - IL_00c0: ret + IL_00c1: ret } // end of method ListExpressionSteppingTest2::f2 } // end of class ListExpressionSteppingTest2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest4.il.bsl index a3ae548796..26509649fd 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000AF } .module ListExpressionSteppingTest4.exe -// MVID: {60B78A57-3154-FA67-A745-0383578AB760} +// MVID: {611C4D7C-3154-FA67-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06700000 +// Image base: 0x06AA0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -58,51 +58,53 @@ .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f3() cil managed { - // Code size 73 (0x49) + // Code size 74 (0x4a) .maxstack 4 .locals init ([0] valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, [2] class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, [3] int32 z) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 11,24 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest4.fs' - 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.1 + .line 6,12 : 9,20 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest4.fs' + IL_0000: nop + .line 6,6 : 11,24 '' + 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.1 .line 7,7 : 11,17 '' - IL_0007: ldloc.1 - IL_0008: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_000d: nop + IL_0008: ldloc.1 + IL_0009: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_000e: nop .line 8,8 : 11,24 '' - IL_000e: ldc.i4.0 - IL_000f: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) - IL_0014: stloc.2 + IL_000f: ldc.i4.0 + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0015: stloc.2 .line 9,9 : 11,17 '' - IL_0015: ldloc.2 - IL_0016: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_001b: nop + IL_0016: ldloc.2 + IL_0017: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_001c: nop .line 10,10 : 11,19 '' - IL_001c: ldloca.s V_0 - IL_001e: ldloc.1 - IL_001f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0024: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0029: nop + IL_001d: ldloca.s V_0 + IL_001f: ldloc.1 + IL_0020: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0025: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_002a: nop .line 11,11 : 11,26 '' - IL_002a: ldloc.1 - IL_002b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0030: ldloc.2 - IL_0031: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0036: add - IL_0037: stloc.3 + IL_002b: ldloc.1 + IL_002c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0031: ldloc.2 + IL_0032: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0037: add + IL_0038: stloc.3 .line 12,12 : 11,18 '' - IL_0038: ldloca.s V_0 - IL_003a: ldloc.3 - IL_003b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0040: nop + IL_0039: ldloca.s V_0 + IL_003b: ldloc.3 + IL_003c: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0041: nop .line 6,12 : 9,20 '' - IL_0041: ldloca.s V_0 - IL_0043: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0048: ret + IL_0042: ldloca.s V_0 + IL_0044: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0049: ret } // end of method ListExpressionSteppingTest4::f3 } // end of class ListExpressionSteppingTest4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest5.il.bsl index 92dd8b4cd4..fce50680f9 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x000000AF } .module ListExpressionSteppingTest5.exe -// MVID: {60B78A57-CBE3-BFEA-A745-0383578AB760} +// MVID: {611C4D7C-CBE3-BFEA-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06C00000 +// Image base: 0x06B30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -58,7 +58,7 @@ .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f4() cil managed { - // Code size 100 (0x64) + // Code size 101 (0x65) .maxstack 4 .locals init ([0] valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, @@ -66,67 +66,69 @@ [3] class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, [4] int32 z) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 6,6 : 11,24 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest5.fs' - 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.1 + .line 6,15 : 9,30 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest5.fs' + IL_0000: nop + .line 6,6 : 11,24 '' + 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.1 .line 7,7 : 11,14 '' .try { - IL_0007: nop + IL_0008: nop .line 8,8 : 15,28 '' - IL_0008: ldc.i4.0 - IL_0009: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) - IL_000e: stloc.3 + IL_0009: ldc.i4.0 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_000f: stloc.3 .line 9,9 : 15,21 '' - IL_000f: ldloc.3 - IL_0010: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0015: nop + IL_0010: ldloc.3 + IL_0011: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0016: nop .line 10,10 : 15,23 '' - IL_0016: ldloca.s V_0 - IL_0018: ldloc.1 - IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_001e: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0023: nop + IL_0017: ldloca.s V_0 + IL_0019: ldloc.1 + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_001f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0024: nop .line 11,11 : 15,30 '' - IL_0024: ldloc.1 - IL_0025: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_002a: ldloc.3 - IL_002b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0030: add - IL_0031: stloc.s z + IL_0025: ldloc.1 + IL_0026: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_002b: ldloc.3 + IL_002c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0031: add + IL_0032: stloc.s z .line 12,12 : 15,22 '' - IL_0033: ldloca.s V_0 - IL_0035: ldloc.s z - IL_0037: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_003c: nop - IL_003d: ldnull - IL_003e: stloc.2 - IL_003f: leave.s IL_005a + IL_0034: ldloca.s V_0 + IL_0036: ldloc.s z + IL_0038: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_003d: nop + IL_003e: ldnull + IL_003f: stloc.2 + IL_0040: leave.s IL_005b .line 13,13 : 11,18 '' } // end .try finally { - IL_0041: nop + IL_0042: nop .line 14,14 : 14,20 '' - IL_0042: ldloc.1 - IL_0043: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_0048: nop + IL_0043: ldloc.1 + IL_0044: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0049: nop .line 15,15 : 14,28 '' - IL_0049: ldstr "done" - IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0058: pop - IL_0059: endfinally + IL_004a: ldstr "done" + IL_004f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0054: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0059: pop + IL_005a: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_005a: ldloc.2 - IL_005b: pop + IL_005b: ldloc.2 + IL_005c: pop .line 6,15 : 9,30 '' - IL_005c: ldloca.s V_0 - IL_005e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_0063: ret + IL_005d: ldloca.s V_0 + IL_005f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0064: ret } // end of method ListExpressionSteppingTest5::f4 } // end of class ListExpressionSteppingTest5 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.bsl index 3122e29aad..78f4860f02 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000298 Length: 0x000000BC } .module ListExpressionSteppingTest6.exe -// MVID: {60BD4553-98A2-AB14-A745-03835345BD60} +// MVID: {611C4D7C-98A2-AB14-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04EC0000 +// Image base: 0x06930000 // =============== CLASS MEMBERS DECLARATION =================== @@ -118,6 +118,7 @@ IL_003a: ldloc.1 IL_003b: isinst [mscorlib]System.IDisposable IL_0040: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_0042: ldloc.s V_4 IL_0044: brfalse.s IL_004e @@ -169,6 +170,7 @@ IL_0091: ldloc.s V_5 IL_0093: isinst [mscorlib]System.IDisposable IL_0098: stloc.s V_8 + .line 100001,100001 : 0,0 '' IL_009a: ldloc.s V_8 IL_009c: brfalse.s IL_00a6 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/AnonRecd.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/AnonRecd.il.bsl index 23db70c3a4..bfe21b6f48 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/AnonRecd.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/AnonRecd.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001C8 Length: 0x0000006B } .module AnonRecd.exe -// MVID: {60B68B7F-C42F-5208-A745-03837F8BB660} +// MVID: {611C4D7C-C42F-5208-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05160000 +// Image base: 0x07240000 // =============== CLASS MEMBERS DECLARATION =================== @@ -161,77 +161,80 @@ instance int32 CompareTo(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 84 (0x54) + // Code size 85 (0x55) .maxstack 5 .locals init ([0] int32 V_0) - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\unknown' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004a + .line 1,1 : 1,1 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\unknown' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_004b .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0048 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0049 .line 100001,100001 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: ldarg.0 - IL_0012: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0017: ldarg.1 - IL_0018: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [mscorlib]System.Collections.IComparer, + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0018: ldarg.1 + IL_0019: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0022: stloc.0 - IL_0023: ldloc.0 - IL_0024: ldc.i4.0 - IL_0025: bge.s IL_0029 + IL_0023: stloc.0 + .line 100001,100001 : 0,0 '' + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: bge.s IL_002a .line 100001,100001 : 0,0 '' - IL_0027: ldloc.0 - IL_0028: ret + IL_0028: ldloc.0 + IL_0029: ret .line 100001,100001 : 0,0 '' - IL_0029: ldloc.0 - IL_002a: ldc.i4.0 - IL_002b: ble.s IL_002f + IL_002a: ldloc.0 + IL_002b: ldc.i4.0 + IL_002c: ble.s IL_0030 .line 100001,100001 : 0,0 '' - IL_002d: ldloc.0 - IL_002e: ret + IL_002e: ldloc.0 + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0034: ldarg.0 - IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_003a: ldarg.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 [mscorlib]System.Collections.IComparer, + IL_0030: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0035: ldarg.0 + IL_0036: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_003b: ldarg.1 + IL_003c: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0041: tail. + IL_0043: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0047: ret + IL_0048: ret .line 100001,100001 : 0,0 '' - IL_0048: ldc.i4.1 - IL_0049: ret + IL_0049: ldc.i4.1 + IL_004a: ret .line 100001,100001 : 0,0 '' - IL_004a: ldarg.1 - IL_004b: ldnull - IL_004c: cgt.un - IL_004e: brfalse.s IL_0052 + IL_004b: ldarg.1 + IL_004c: ldnull + IL_004d: cgt.un + IL_004f: brfalse.s IL_0053 .line 100001,100001 : 0,0 '' - IL_0050: ldc.i4.m1 - IL_0051: ret + IL_0051: ldc.i4.m1 + IL_0052: ret .line 100001,100001 : 0,0 '' - IL_0052: ldc.i4.0 - IL_0053: ret + IL_0053: ldc.i4.0 + IL_0054: ret } // end of method '<>f__AnonymousType1912756633`2'::CompareTo .method public hidebysig virtual final @@ -265,6 +268,7 @@ IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: stloc.1 + .line 100001,100001 : 0,0 '' IL_0009: ldarg.0 IL_000a: ldnull IL_000b: cgt.un @@ -287,6 +291,7 @@ !!0, !!0) IL_002c: stloc.2 + .line 100001,100001 : 0,0 '' IL_002d: ldloc.2 IL_002e: ldc.i4.0 IL_002f: bge.s IL_0033 @@ -340,56 +345,58 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 66 (0x42) + // Code size 67 (0x43) .maxstack 7 .locals init ([0] int32 V_0) + .line 1,1 : 1,1 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0040 - - .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: ldarg.0 - IL_000f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0014: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0041 + + .line 100001,100001 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: ldarg.0 + IL_0010: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0015: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldarg.1 - IL_0029: ldarg.0 - IL_002a: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_002f: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldarg.1 + IL_002a: ldarg.0 + IL_002b: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0030: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_0034: ldloc.0 - IL_0035: ldc.i4.6 - IL_0036: shl - IL_0037: ldloc.0 - IL_0038: ldc.i4.2 - IL_0039: shr - IL_003a: add + IL_0035: ldloc.0 + IL_0036: ldc.i4.6 + IL_0037: shl + IL_0038: ldloc.0 + IL_0039: ldc.i4.2 + IL_003a: shr IL_003b: add IL_003c: add - IL_003d: stloc.0 - IL_003e: ldloc.0 - IL_003f: ret + IL_003d: add + IL_003e: stloc.0 + IL_003f: ldloc.0 + IL_0040: ret .line 100001,100001 : 0,0 '' - IL_0040: ldc.i4.0 - IL_0041: ret + IL_0041: ldc.i4.0 + IL_0042: ret } // end of method '<>f__AnonymousType1912756633`2'::GetHashCode .method public hidebysig virtual final @@ -411,117 +418,123 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 71 (0x47) + // Code size 72 (0x48) .maxstack 5 .locals init ([0] class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, [1] class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1) + .line 1,1 : 1,1 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0040 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_003d + IL_0007: ldarg.1 + IL_0008: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003e .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.2 - IL_0013: ldarg.0 - IL_0014: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0019: ldloc.1 - IL_001a: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001f: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldarg.2 + IL_0014: ldarg.0 + IL_0015: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001a: ldloc.1 + IL_001b: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0020: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_0024: brfalse.s IL_003b + IL_0025: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0026: ldarg.2 - IL_0027: ldarg.0 - IL_0028: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_002d: ldloc.1 - IL_002e: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0033: tail. - IL_0035: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, + IL_0027: ldarg.2 + IL_0028: ldarg.0 + IL_0029: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_002e: ldloc.1 + IL_002f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0034: tail. + IL_0036: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_003a: ret + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldc.i4.0 - IL_003c: ret + IL_003c: ldc.i4.0 + IL_003d: ret .line 100001,100001 : 0,0 '' - IL_003d: ldc.i4.0 - IL_003e: ret + IL_003e: ldc.i4.0 + IL_003f: ret .line 100001,100001 : 0,0 '' - IL_003f: ldarg.1 - IL_0040: ldnull - IL_0041: cgt.un - IL_0043: ldc.i4.0 - IL_0044: ceq - IL_0046: ret + IL_0040: ldarg.1 + IL_0041: ldnull + IL_0042: cgt.un + IL_0044: ldc.i4.0 + IL_0045: ceq + IL_0047: ret } // end of method '<>f__AnonymousType1912756633`2'::Equals .method public hidebysig virtual final instance bool Equals(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) - .maxstack 8 + // Code size 64 (0x40) + .maxstack 4 + .line 1,1 : 1,1 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0036 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0012: ldarg.1 - IL_0013: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0018: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + IL_000d: ldarg.0 + IL_000e: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0013: ldarg.1 + IL_0014: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0019: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, !!0) - IL_001d: brfalse.s IL_0033 + IL_001e: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_001f: ldarg.0 - IL_0020: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0025: ldarg.1 - IL_0026: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_002b: tail. - IL_002d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + IL_0020: ldarg.0 + IL_0021: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0026: ldarg.1 + IL_0027: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_002c: tail. + IL_002e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, !!0) - IL_0032: ret + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 100001,100001 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method '<>f__AnonymousType1912756633`2'::Equals .method public hidebysig virtual final @@ -535,6 +548,7 @@ IL_0000: ldarg.1 IL_0001: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EntryPoint01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EntryPoint01.il.bsl index 4afe8d6966..d17322d83b 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EntryPoint01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EntryPoint01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000258 Length: 0x00000090 } .module EntryPoint01.exe -// MVID: {60B68B7F-9846-72C1-A745-03837F8BB660} +// MVID: {611C4D7C-9846-72C1-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x071C0000 +// Image base: 0x06DA0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -66,33 +66,37 @@ { .entrypoint .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 35 (0x23) + // Code size 37 (0x25) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 8,8 : 9,39 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\EntryPoint01.fs' + .line 8,8 : 4,49 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\EntryPoint01.fs' .line 100001,100001 : 0,0 '' IL_0000: ldc.i4.0 IL_0001: stsfld int32 ''.$EntryPoint01::init@ IL_0006: ldsfld int32 ''.$EntryPoint01::init@ IL_000b: pop - IL_000c: call int32 EntryPoint01::get_static_initializer() - IL_0011: ldc.i4.s 10 - IL_0013: bne.un.s IL_0019 + IL_000c: nop + .line 8,8 : 9,39 '' + IL_000d: nop + .line 100001,100001 : 0,0 '' + IL_000e: call int32 EntryPoint01::get_static_initializer() + IL_0013: ldc.i4.s 10 + IL_0015: bne.un.s IL_001b .line 8,8 : 40,41 '' - IL_0015: ldc.i4.0 + IL_0017: ldc.i4.0 .line 100001,100001 : 0,0 '' - IL_0016: nop - IL_0017: br.s IL_001b + IL_0018: nop + IL_0019: br.s IL_001d .line 8,8 : 47,48 '' - IL_0019: ldc.i4.1 + IL_001b: ldc.i4.1 .line 100001,100001 : 0,0 '' - IL_001a: nop + IL_001c: nop .line 100001,100001 : 0,0 '' - IL_001b: tail. - IL_001d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0022: ret + IL_001d: tail. + IL_001f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0024: ret } // end of method EntryPoint01::main .property int32 static_initializer() diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl index f1c372c264..ba4e9d4b2d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000640 Length: 0x000001C7 } .module EqualsOnUnions01.exe -// MVID: {60B68B7F-BBFB-14A0-A745-03837F8BB660} +// MVID: {611C52A3-BBFB-14A0-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07200000 +// Image base: 0x04FE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -339,7 +339,7 @@ instance int32 CompareTo(class EqualsOnUnions01/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 131 (0x83) + // Code size 132 (0x84) .maxstack 4 .locals init ([0] int32 V_0, [1] class EqualsOnUnions01/U V_1, @@ -351,106 +351,110 @@ [7] int32 V_7, [8] int32 V_8) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\EqualsOnUnions01.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_0079 - + .line 6,6 : 6,7 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\EqualsOnUnions01.fs' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: ldnull - IL_000b: cgt.un - IL_000d: brfalse.s IL_0077 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_007a .line 100001,100001 : 0,0 '' - IL_000f: ldarg.0 - IL_0010: stloc.1 - IL_0011: ldloc.1 - IL_0012: isinst EqualsOnUnions01/U/B - IL_0017: brfalse.s IL_001c + IL_000a: ldarg.1 + IL_000b: ldnull + IL_000c: cgt.un + IL_000e: brfalse.s IL_0078 - IL_0019: ldc.i4.1 - IL_001a: br.s IL_001d + .line 100001,100001 : 0,0 '' + IL_0010: ldarg.0 + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: isinst EqualsOnUnions01/U/B + IL_0018: brfalse.s IL_001d - IL_001c: ldc.i4.0 - IL_001d: stloc.0 - IL_001e: ldarg.1 - IL_001f: stloc.3 - IL_0020: ldloc.3 - IL_0021: isinst EqualsOnUnions01/U/B - IL_0026: brfalse.s IL_002b + IL_001a: ldc.i4.1 + IL_001b: br.s IL_001e - IL_0028: ldc.i4.1 - IL_0029: br.s IL_002c + IL_001d: ldc.i4.0 + IL_001e: stloc.0 + IL_001f: ldarg.1 + IL_0020: stloc.3 + IL_0021: ldloc.3 + IL_0022: isinst EqualsOnUnions01/U/B + IL_0027: brfalse.s IL_002c - IL_002b: ldc.i4.0 - IL_002c: stloc.2 - IL_002d: ldloc.0 - IL_002e: ldloc.2 - IL_002f: bne.un.s IL_0073 + IL_0029: ldc.i4.1 + IL_002a: br.s IL_002d + IL_002c: ldc.i4.0 + IL_002d: stloc.2 .line 100001,100001 : 0,0 '' - IL_0031: ldarg.0 - IL_0032: isinst EqualsOnUnions01/U/B - IL_0037: brfalse.s IL_0071 + IL_002e: ldloc.0 + IL_002f: ldloc.2 + IL_0030: bne.un.s IL_0074 .line 100001,100001 : 0,0 '' - IL_0039: ldarg.0 - IL_003a: castclass EqualsOnUnions01/U/B - IL_003f: stloc.s V_4 - IL_0041: ldarg.1 - IL_0042: castclass EqualsOnUnions01/U/B - IL_0047: stloc.s V_5 - IL_0049: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004e: stloc.s V_6 - IL_0050: ldloc.s V_4 - IL_0052: ldfld int32 EqualsOnUnions01/U/B::item - IL_0057: stloc.s V_7 - IL_0059: ldloc.s V_5 - IL_005b: ldfld int32 EqualsOnUnions01/U/B::item - IL_0060: stloc.s V_8 - IL_0062: ldloc.s V_7 - IL_0064: ldloc.s V_8 - IL_0066: bge.s IL_006a + IL_0032: ldarg.0 + IL_0033: isinst EqualsOnUnions01/U/B + IL_0038: brfalse.s IL_0072 + + .line 100001,100001 : 0,0 '' + IL_003a: ldarg.0 + IL_003b: castclass EqualsOnUnions01/U/B + IL_0040: stloc.s V_4 + IL_0042: ldarg.1 + IL_0043: castclass EqualsOnUnions01/U/B + IL_0048: stloc.s V_5 + IL_004a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004f: stloc.s V_6 + IL_0051: ldloc.s V_4 + IL_0053: ldfld int32 EqualsOnUnions01/U/B::item + IL_0058: stloc.s V_7 + IL_005a: ldloc.s V_5 + IL_005c: ldfld int32 EqualsOnUnions01/U/B::item + IL_0061: stloc.s V_8 + .line 100001,100001 : 0,0 '' + IL_0063: ldloc.s V_7 + IL_0065: ldloc.s V_8 + IL_0067: bge.s IL_006b .line 100001,100001 : 0,0 '' - IL_0068: ldc.i4.m1 - IL_0069: ret + IL_0069: ldc.i4.m1 + IL_006a: ret .line 100001,100001 : 0,0 '' - IL_006a: ldloc.s V_7 - IL_006c: ldloc.s V_8 - IL_006e: cgt - IL_0070: ret + IL_006b: ldloc.s V_7 + IL_006d: ldloc.s V_8 + IL_006f: cgt + IL_0071: ret .line 100001,100001 : 0,0 '' - IL_0071: ldc.i4.0 - IL_0072: ret + IL_0072: ldc.i4.0 + IL_0073: ret .line 100001,100001 : 0,0 '' - IL_0073: ldloc.0 - IL_0074: ldloc.2 - IL_0075: sub - IL_0076: ret + IL_0074: ldloc.0 + IL_0075: ldloc.2 + IL_0076: sub + IL_0077: ret .line 100001,100001 : 0,0 '' - IL_0077: ldc.i4.1 - IL_0078: ret + IL_0078: ldc.i4.1 + IL_0079: ret .line 100001,100001 : 0,0 '' - IL_0079: ldarg.1 - IL_007a: ldnull - IL_007b: cgt.un - IL_007d: brfalse.s IL_0081 + IL_007a: ldarg.1 + IL_007b: ldnull + IL_007c: cgt.un + IL_007e: brfalse.s IL_0082 .line 100001,100001 : 0,0 '' - IL_007f: ldc.i4.m1 - IL_0080: ret + IL_0080: ldc.i4.m1 + IL_0081: ret .line 100001,100001 : 0,0 '' - IL_0081: ldc.i4.0 - IL_0082: ret + IL_0082: ldc.i4.0 + IL_0083: ret } // end of method U::CompareTo .method public hidebysig virtual final @@ -488,6 +492,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any EqualsOnUnions01/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -523,6 +528,7 @@ IL_0039: ldc.i4.0 IL_003a: stloc.3 + .line 100001,100001 : 0,0 '' IL_003b: ldloc.1 IL_003c: ldloc.3 IL_003d: bne.un.s IL_007d @@ -547,6 +553,7 @@ IL_0063: ldloc.s V_6 IL_0065: ldfld int32 EqualsOnUnions01/U/B::item IL_006a: stloc.s V_9 + .line 100001,100001 : 0,0 '' IL_006c: ldloc.s V_8 IL_006e: ldloc.s V_9 IL_0070: bge.s IL_0074 @@ -595,65 +602,68 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 7 .locals init ([0] int32 V_0, [1] class EqualsOnUnions01/U/B V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2, [3] class EqualsOnUnions01/U V_3) + .line 6,6 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0041 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0042 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: isinst EqualsOnUnions01/U/B - IL_000e: brfalse.s IL_0032 + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 100001,100001 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: isinst EqualsOnUnions01/U/B + IL_000f: brfalse.s IL_0033 .line 100001,100001 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: castclass EqualsOnUnions01/U/B - IL_0016: stloc.1 - IL_0017: ldc.i4.1 - IL_0018: stloc.0 - IL_0019: ldc.i4 0x9e3779b9 - IL_001e: ldarg.1 - IL_001f: stloc.2 - IL_0020: ldloc.1 - IL_0021: ldfld int32 EqualsOnUnions01/U/B::item - IL_0026: ldloc.0 - IL_0027: ldc.i4.6 - IL_0028: shl - IL_0029: ldloc.0 - IL_002a: ldc.i4.2 - IL_002b: shr - IL_002c: add + IL_0011: ldarg.0 + IL_0012: castclass EqualsOnUnions01/U/B + IL_0017: stloc.1 + IL_0018: ldc.i4.1 + IL_0019: stloc.0 + IL_001a: ldc.i4 0x9e3779b9 + IL_001f: ldarg.1 + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: ldfld int32 EqualsOnUnions01/U/B::item + IL_0027: ldloc.0 + IL_0028: ldc.i4.6 + IL_0029: shl + IL_002a: ldloc.0 + IL_002b: ldc.i4.2 + IL_002c: shr IL_002d: add IL_002e: add - IL_002f: stloc.0 - IL_0030: ldloc.0 - IL_0031: ret + IL_002f: add + IL_0030: stloc.0 + IL_0031: ldloc.0 + IL_0032: ret .line 100001,100001 : 0,0 '' - IL_0032: ldarg.0 - IL_0033: stloc.3 - IL_0034: ldloc.3 - IL_0035: isinst EqualsOnUnions01/U/B - IL_003a: brfalse.s IL_003f + IL_0033: ldarg.0 + IL_0034: stloc.3 + IL_0035: ldloc.3 + IL_0036: isinst EqualsOnUnions01/U/B + IL_003b: brfalse.s IL_0040 - IL_003c: ldc.i4.1 - IL_003d: br.s IL_0040 + IL_003d: ldc.i4.1 + IL_003e: br.s IL_0041 - IL_003f: ldc.i4.0 - IL_0040: ret + IL_0040: ldc.i4.0 + IL_0041: ret .line 100001,100001 : 0,0 '' - IL_0041: ldc.i4.0 - IL_0042: ret + IL_0042: ldc.i4.0 + IL_0043: ret } // end of method U::GetHashCode .method public hidebysig virtual final @@ -674,7 +684,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 114 (0x72) + // Code size 115 (0x73) .maxstack 4 .locals init ([0] class EqualsOnUnions01/U V_0, [1] class EqualsOnUnions01/U V_1, @@ -685,95 +695,99 @@ [6] class EqualsOnUnions01/U/B V_6, [7] class EqualsOnUnions01/U/B V_7, [8] class [mscorlib]System.Collections.IEqualityComparer V_8) + .line 6,6 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006a + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006b + + .line 100001,100001 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: isinst EqualsOnUnions01/U + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0069 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst EqualsOnUnions01/U - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0068 + IL_0011: ldloc.0 + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: stloc.3 + IL_0015: ldloc.3 + IL_0016: isinst EqualsOnUnions01/U/B + IL_001b: brfalse.s IL_0020 + + IL_001d: ldc.i4.1 + IL_001e: br.s IL_0021 + + IL_0020: ldc.i4.0 + IL_0021: stloc.2 + IL_0022: ldloc.1 + IL_0023: stloc.s V_5 + IL_0025: ldloc.s V_5 + IL_0027: isinst EqualsOnUnions01/U/B + IL_002c: brfalse.s IL_0031 + + IL_002e: ldc.i4.1 + IL_002f: br.s IL_0032 + IL_0031: ldc.i4.0 + IL_0032: stloc.s V_4 .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: stloc.3 - IL_0014: ldloc.3 - IL_0015: isinst EqualsOnUnions01/U/B - IL_001a: brfalse.s IL_001f + IL_0034: ldloc.2 + IL_0035: ldloc.s V_4 + IL_0037: bne.un.s IL_0067 - IL_001c: ldc.i4.1 - IL_001d: br.s IL_0020 + .line 100001,100001 : 0,0 '' + IL_0039: ldarg.0 + IL_003a: isinst EqualsOnUnions01/U/B + IL_003f: brfalse.s IL_0065 - 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 EqualsOnUnions01/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_0066 - - .line 100001,100001 : 0,0 '' - IL_0038: ldarg.0 - IL_0039: isinst EqualsOnUnions01/U/B - IL_003e: brfalse.s IL_0064 - - .line 100001,100001 : 0,0 '' - IL_0040: ldarg.0 - IL_0041: castclass EqualsOnUnions01/U/B - IL_0046: stloc.s V_6 - IL_0048: ldloc.1 - IL_0049: castclass EqualsOnUnions01/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 EqualsOnUnions01/U/B::item - IL_005a: ldloc.s V_7 - IL_005c: ldfld int32 EqualsOnUnions01/U/B::item - IL_0061: ceq - IL_0063: ret + .line 100001,100001 : 0,0 '' + IL_0041: ldarg.0 + IL_0042: castclass EqualsOnUnions01/U/B + IL_0047: stloc.s V_6 + IL_0049: ldloc.1 + IL_004a: castclass EqualsOnUnions01/U/B + IL_004f: stloc.s V_7 + IL_0051: ldarg.2 + IL_0052: stloc.s V_8 + IL_0054: ldloc.s V_6 + IL_0056: ldfld int32 EqualsOnUnions01/U/B::item + IL_005b: ldloc.s V_7 + IL_005d: ldfld int32 EqualsOnUnions01/U/B::item + IL_0062: ceq + IL_0064: ret .line 100001,100001 : 0,0 '' - IL_0064: ldc.i4.1 - IL_0065: ret + IL_0065: ldc.i4.1 + IL_0066: ret .line 100001,100001 : 0,0 '' - IL_0066: ldc.i4.0 - IL_0067: ret + IL_0067: ldc.i4.0 + IL_0068: ret .line 100001,100001 : 0,0 '' - IL_0068: ldc.i4.0 - IL_0069: ret + IL_0069: ldc.i4.0 + IL_006a: ret .line 100001,100001 : 0,0 '' - IL_006a: ldarg.1 - IL_006b: ldnull - IL_006c: cgt.un - IL_006e: ldc.i4.0 - IL_006f: ceq - IL_0071: ret + IL_006b: ldarg.1 + IL_006c: ldnull + IL_006d: cgt.un + IL_006f: ldc.i4.0 + IL_0070: ceq + IL_0072: ret } // end of method U::Equals .method public hidebysig virtual final instance bool Equals(class EqualsOnUnions01/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 101 (0x65) + // Code size 102 (0x66) .maxstack 4 .locals init ([0] int32 V_0, [1] class EqualsOnUnions01/U V_1, @@ -781,83 +795,86 @@ [3] class EqualsOnUnions01/U V_3, [4] class EqualsOnUnions01/U/B V_4, [5] class EqualsOnUnions01/U/B V_5) + .line 6,6 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_005d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_005e .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_005b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_005c .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: stloc.1 - IL_000e: ldloc.1 - IL_000f: isinst EqualsOnUnions01/U/B - IL_0014: brfalse.s IL_0019 + IL_000d: ldarg.0 + IL_000e: stloc.1 + IL_000f: ldloc.1 + IL_0010: isinst EqualsOnUnions01/U/B + IL_0015: brfalse.s IL_001a - IL_0016: ldc.i4.1 - IL_0017: br.s IL_001a + IL_0017: ldc.i4.1 + IL_0018: br.s IL_001b - IL_0019: ldc.i4.0 - IL_001a: stloc.0 - IL_001b: ldarg.1 - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: isinst EqualsOnUnions01/U/B - IL_0023: brfalse.s IL_0028 + IL_001a: ldc.i4.0 + IL_001b: stloc.0 + IL_001c: ldarg.1 + IL_001d: stloc.3 + IL_001e: ldloc.3 + IL_001f: isinst EqualsOnUnions01/U/B + IL_0024: brfalse.s IL_0029 - IL_0025: ldc.i4.1 - IL_0026: br.s IL_0029 + IL_0026: ldc.i4.1 + IL_0027: br.s IL_002a - IL_0028: ldc.i4.0 - IL_0029: stloc.2 - IL_002a: ldloc.0 - IL_002b: ldloc.2 - IL_002c: bne.un.s IL_0059 + IL_0029: ldc.i4.0 + IL_002a: stloc.2 + .line 100001,100001 : 0,0 '' + IL_002b: ldloc.0 + IL_002c: ldloc.2 + IL_002d: bne.un.s IL_005a .line 100001,100001 : 0,0 '' - IL_002e: ldarg.0 - IL_002f: isinst EqualsOnUnions01/U/B - IL_0034: brfalse.s IL_0057 + IL_002f: ldarg.0 + IL_0030: isinst EqualsOnUnions01/U/B + IL_0035: brfalse.s IL_0058 .line 100001,100001 : 0,0 '' - IL_0036: ldarg.0 - IL_0037: castclass EqualsOnUnions01/U/B - IL_003c: stloc.s V_4 - IL_003e: ldarg.1 - IL_003f: castclass EqualsOnUnions01/U/B - IL_0044: stloc.s V_5 - IL_0046: ldloc.s V_4 - IL_0048: ldfld int32 EqualsOnUnions01/U/B::item - IL_004d: ldloc.s V_5 - IL_004f: ldfld int32 EqualsOnUnions01/U/B::item - IL_0054: ceq - IL_0056: ret + IL_0037: ldarg.0 + IL_0038: castclass EqualsOnUnions01/U/B + IL_003d: stloc.s V_4 + IL_003f: ldarg.1 + IL_0040: castclass EqualsOnUnions01/U/B + IL_0045: stloc.s V_5 + IL_0047: ldloc.s V_4 + IL_0049: ldfld int32 EqualsOnUnions01/U/B::item + IL_004e: ldloc.s V_5 + IL_0050: ldfld int32 EqualsOnUnions01/U/B::item + IL_0055: ceq + IL_0057: ret .line 100001,100001 : 0,0 '' - IL_0057: ldc.i4.1 - IL_0058: ret + IL_0058: ldc.i4.1 + IL_0059: ret .line 100001,100001 : 0,0 '' - IL_0059: ldc.i4.0 - IL_005a: ret + IL_005a: ldc.i4.0 + IL_005b: ret .line 100001,100001 : 0,0 '' - IL_005b: ldc.i4.0 - IL_005c: ret + IL_005c: ldc.i4.0 + IL_005d: ret .line 100001,100001 : 0,0 '' - IL_005d: ldarg.1 - IL_005e: ldnull - IL_005f: cgt.un - IL_0061: ldc.i4.0 - IL_0062: ceq - IL_0064: ret + IL_005e: ldarg.1 + IL_005f: ldnull + IL_0060: cgt.un + IL_0062: ldc.i4.0 + IL_0063: ceq + IL_0065: ret } // end of method U::Equals .method public hidebysig virtual final @@ -871,6 +888,7 @@ IL_0000: ldarg.1 IL_0001: isinst EqualsOnUnions01/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl index 70bbfca2a6..5ef897b216 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000690 Length: 0x000001F4 } .module GeneralizationOnUnions01.exe -// MVID: {60B68B7F-4CA2-8CD1-A745-03837F8BB660} +// MVID: {611C4D7C-4CA2-8CD1-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06C00000 +// Image base: 0x06A80000 // =============== CLASS MEMBERS DECLARATION =================== @@ -145,42 +145,44 @@ instance int32 CompareTo(class GeneralizationOnUnions01/Weirdo obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 26 (0x1a) + // Code size 27 (0x1b) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\GeneralizationOnUnions01.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0010 + .line 4,4 : 6,12 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\GeneralizationOnUnions01.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0011 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_000e + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_000f .line 100001,100001 : 0,0 '' - IL_000c: ldc.i4.0 - IL_000d: ret + IL_000d: ldc.i4.0 + IL_000e: ret .line 100001,100001 : 0,0 '' - IL_000e: ldc.i4.1 - IL_000f: ret + IL_000f: ldc.i4.1 + IL_0010: ret .line 100001,100001 : 0,0 '' - IL_0010: ldarg.1 - IL_0011: ldnull - IL_0012: cgt.un - IL_0014: brfalse.s IL_0018 + IL_0011: ldarg.1 + IL_0012: ldnull + IL_0013: cgt.un + IL_0015: brfalse.s IL_0019 .line 100001,100001 : 0,0 '' - IL_0016: ldc.i4.m1 - IL_0017: ret + IL_0017: ldc.i4.m1 + IL_0018: ret .line 100001,100001 : 0,0 '' - IL_0018: ldc.i4.0 - IL_0019: ret + IL_0019: ldc.i4.0 + IL_001a: ret } // end of method Weirdo::CompareTo .method public hidebysig virtual final @@ -209,6 +211,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any GeneralizationOnUnions01/Weirdo IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -249,26 +252,28 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 14 (0xe) + // Code size 15 (0xf) .maxstack 3 .locals init ([0] int32 V_0) + .line 4,4 : 6,12 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_000c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_000d .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - IL_000a: ldc.i4.0 - IL_000b: ret + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldarg.0 + IL_000a: pop + IL_000b: ldc.i4.0 + IL_000c: ret .line 100001,100001 : 0,0 '' - IL_000c: ldc.i4.0 - IL_000d: ret + IL_000d: ldc.i4.0 + IL_000e: ret } // end of method Weirdo::GetHashCode .method public hidebysig virtual final @@ -289,67 +294,72 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 30 (0x1e) + // Code size 31 (0x1f) .maxstack 4 .locals init ([0] class GeneralizationOnUnions01/Weirdo V_0, [1] class GeneralizationOnUnions01/Weirdo V_1) + .line 4,4 : 6,12 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0016 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0017 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst GeneralizationOnUnions01/Weirdo - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0014 + IL_0007: ldarg.1 + IL_0008: isinst GeneralizationOnUnions01/Weirdo + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0015 .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldc.i4.1 - IL_0013: ret + IL_0011: ldloc.0 + IL_0012: stloc.1 + IL_0013: ldc.i4.1 + IL_0014: ret .line 100001,100001 : 0,0 '' - IL_0014: ldc.i4.0 - IL_0015: ret + IL_0015: ldc.i4.0 + IL_0016: ret .line 100001,100001 : 0,0 '' - IL_0016: ldarg.1 - IL_0017: ldnull - IL_0018: cgt.un - IL_001a: ldc.i4.0 - IL_001b: ceq - IL_001d: ret + IL_0017: ldarg.1 + IL_0018: ldnull + IL_0019: cgt.un + IL_001b: ldc.i4.0 + IL_001c: ceq + IL_001e: ret } // end of method Weirdo::Equals .method public hidebysig virtual final instance bool Equals(class GeneralizationOnUnions01/Weirdo obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 19 (0x13) + // Code size 20 (0x14) .maxstack 8 + .line 4,4 : 6,12 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_000b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_000c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: ret + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: ret .line 100001,100001 : 0,0 '' - IL_000b: ldarg.1 - IL_000c: ldnull - IL_000d: cgt.un - IL_000f: ldc.i4.0 - IL_0010: ceq - IL_0012: ret + IL_000c: ldarg.1 + IL_000d: ldnull + IL_000e: cgt.un + IL_0010: ldc.i4.0 + IL_0011: ceq + IL_0013: ret } // end of method Weirdo::Equals .method public hidebysig virtual final @@ -363,6 +373,7 @@ IL_0000: ldarg.1 IL_0001: isinst GeneralizationOnUnions01/Weirdo IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/IfThenElse01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/IfThenElse01.il.bsl index 3d0ba7cb01..da3619e275 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/IfThenElse01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/IfThenElse01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000208 Length: 0x00000092 } .module IfThenElse01.dll -// MVID: {60B68B7F-2D6C-0B5D-A745-03837F8BB660} +// MVID: {611C4D7C-2D6C-0B5D-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DD0000 +// Image base: 0x06B70000 // =============== CLASS MEMBERS DECLARATION =================== @@ -128,7 +128,7 @@ !a z, !a w) cil managed { - // Code size 16 (0x10) + // Code size 17 (0x11) .maxstack 7 .locals init ([0] class IfThenElse01/M/f5@5 V_0) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' @@ -136,17 +136,19 @@ IL_0000: ldarg.0 IL_0001: ldfld class IfThenElse01/M/f5@5 class IfThenElse01/M/f5@5T::self0@ IL_0006: stloc.0 - IL_0007: ldarg.1 - IL_0008: ldarg.2 - IL_0009: ble.s IL_000d + IL_0007: nop + .line 100001,100001 : 0,0 '' + IL_0008: ldarg.1 + IL_0009: ldarg.2 + IL_000a: ble.s IL_000e .line 5,5 : 64,65 '' - IL_000b: ldarg.3 - IL_000c: ret + IL_000c: ldarg.3 + IL_000d: ret .line 5,5 : 71,72 '' - IL_000d: ldarg.s w - IL_000f: ret + IL_000e: ldarg.s w + IL_0010: ret } // end of method f5@5T::Invoke } // end of class f5@5T diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl index 0f66580c07..d52b78f54d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/LetIfThenElse01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001E0 Length: 0x00000076 } .module LetIfThenElse01.exe -// MVID: {611B0EC4-BE5A-D8FD-A745-0383C40E1B61} +// MVID: {611C4D7C-BE5A-D8FD-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x069B0000 +// Image base: 0x06920000 // =============== CLASS MEMBERS DECLARATION =================== @@ -54,7 +54,7 @@ .method public static class [mscorlib]System.Tuple`4 F(!!a y) cil managed { - // Code size 124 (0x7c) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] int32 x1, [1] valuetype [mscorlib]System.DateTime V_1, @@ -66,95 +66,103 @@ [7] valuetype [mscorlib]System.DateTime V_7) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 6,6 : 12,51 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\LetIfThenElse01.fs' - IL_0000: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() - IL_0005: stloc.1 - IL_0006: ldloca.s V_1 - IL_0008: call instance int32 [mscorlib]System.DateTime::get_Year() - IL_000d: ldc.i4 0x7d0 - IL_0012: ble.s IL_0018 + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0006: stloc.1 + IL_0007: ldloca.s V_1 + IL_0009: call instance int32 [mscorlib]System.DateTime::get_Year() + IL_000e: ldc.i4 0x7d0 + IL_0013: ble.s IL_0019 .line 6,6 : 52,53 '' - IL_0014: ldc.i4.1 + IL_0015: ldc.i4.1 .line 100001,100001 : 0,0 '' - IL_0015: nop - IL_0016: br.s IL_001a + IL_0016: nop + IL_0017: br.s IL_001b .line 6,6 : 59,60 '' - IL_0018: ldc.i4.2 + IL_0019: ldc.i4.2 .line 100001,100001 : 0,0 '' - IL_0019: nop + IL_001a: nop .line 100001,100001 : 0,0 '' - IL_001a: stloc.0 + IL_001b: stloc.0 .line 7,7 : 12,51 '' - IL_001b: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() - IL_0020: stloc.3 - IL_0021: ldloca.s V_3 - IL_0023: call instance int32 [mscorlib]System.DateTime::get_Year() - IL_0028: ldc.i4 0x7d0 - IL_002d: ble.s IL_0033 + IL_001c: nop + .line 100001,100001 : 0,0 '' + IL_001d: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0022: stloc.3 + IL_0023: ldloca.s V_3 + IL_0025: call instance int32 [mscorlib]System.DateTime::get_Year() + IL_002a: ldc.i4 0x7d0 + IL_002f: ble.s IL_0035 .line 7,7 : 52,53 '' - IL_002f: ldc.i4.1 + IL_0031: ldc.i4.1 .line 100001,100001 : 0,0 '' - IL_0030: nop - IL_0031: br.s IL_0035 + IL_0032: nop + IL_0033: br.s IL_0037 .line 7,7 : 59,60 '' - IL_0033: ldc.i4.2 + IL_0035: ldc.i4.2 .line 100001,100001 : 0,0 '' - IL_0034: nop + IL_0036: nop .line 100001,100001 : 0,0 '' - IL_0035: stloc.2 + IL_0037: stloc.2 .line 8,8 : 12,51 '' - IL_0036: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() - IL_003b: stloc.s V_5 - IL_003d: ldloca.s V_5 - IL_003f: call instance int32 [mscorlib]System.DateTime::get_Year() - IL_0044: ldc.i4 0x7d0 - IL_0049: bge.s IL_004f + IL_0038: nop + .line 100001,100001 : 0,0 '' + IL_0039: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_003e: stloc.s V_5 + IL_0040: ldloca.s V_5 + IL_0042: call instance int32 [mscorlib]System.DateTime::get_Year() + IL_0047: ldc.i4 0x7d0 + IL_004c: bge.s IL_0052 .line 8,8 : 52,53 '' - IL_004b: ldc.i4.1 + IL_004e: ldc.i4.1 .line 100001,100001 : 0,0 '' - IL_004c: nop - IL_004d: br.s IL_0051 + IL_004f: nop + IL_0050: br.s IL_0054 .line 8,8 : 59,60 '' - IL_004f: ldc.i4.2 + IL_0052: ldc.i4.2 .line 100001,100001 : 0,0 '' - IL_0050: nop + IL_0053: nop .line 100001,100001 : 0,0 '' - IL_0051: stloc.s x2 + IL_0054: stloc.s x2 .line 9,9 : 12,51 '' - IL_0053: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() - IL_0058: stloc.s V_7 - IL_005a: ldloca.s V_7 - IL_005c: call instance int32 [mscorlib]System.DateTime::get_Year() - IL_0061: ldc.i4 0x7d0 - IL_0066: bge.s IL_006c + IL_0056: nop + .line 100001,100001 : 0,0 '' + IL_0057: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_005c: stloc.s V_7 + IL_005e: ldloca.s V_7 + IL_0060: call instance int32 [mscorlib]System.DateTime::get_Year() + IL_0065: ldc.i4 0x7d0 + IL_006a: bge.s IL_0070 .line 9,9 : 52,53 '' - IL_0068: ldc.i4.1 + IL_006c: ldc.i4.1 .line 100001,100001 : 0,0 '' - IL_0069: nop - IL_006a: br.s IL_006e + IL_006d: nop + IL_006e: br.s IL_0072 .line 9,9 : 59,60 '' - IL_006c: ldc.i4.2 + IL_0070: ldc.i4.2 .line 100001,100001 : 0,0 '' - IL_006d: nop + IL_0071: nop .line 100001,100001 : 0,0 '' - IL_006e: stloc.s y2 + IL_0072: stloc.s y2 .line 10,10 : 3,14 '' - IL_0070: ldloc.0 - IL_0071: ldloc.2 - IL_0072: ldloc.s x2 - IL_0074: ldloc.s y2 - IL_0076: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, + IL_0074: ldloc.0 + IL_0075: ldloc.2 + IL_0076: ldloc.s x2 + IL_0078: ldloc.s y2 + IL_007a: newobj instance void class [mscorlib]System.Tuple`4::.ctor(!0, !1, !2, !3) - IL_007b: ret + IL_007f: ret } // end of method LetIfThenElse01::F } // end of class LetIfThenElse01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Lock01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Lock01.il.bsl index 76b81b98e9..3884536a99 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Lock01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Lock01.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000188 Length: 0x00000064 } .module Lock01.exe -// MVID: {60BCDCE8-2BCA-B308-A745-0383E8DCBC60} +// MVID: {611C4D7C-2BCA-B308-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06B90000 +// Image base: 0x071E0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -153,6 +153,7 @@ IL_0029: pop IL_002a: leave.s IL_0037 + .line 100001,100001 : 0,0 '' } // end .try finally { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline.il.bsl index ebeebd6525..af2fb2f1a5 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline.il.bsl @@ -37,13 +37,13 @@ // Offset: 0x00000300 Length: 0x000000F5 } .module MethodImplNoInline.exe -// MVID: {60B68B7F-4480-09E2-A745-03837F8BB660} +// MVID: {611C52A3-4480-09E2-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DC0000 +// Image base: 0x06F00000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline02.il.bsl index 607b8bf6f1..4016869a49 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/MethodImplNoInline02.il.bsl @@ -37,13 +37,13 @@ // Offset: 0x00000308 Length: 0x000000F9 } .module MethodImplNoInline02.exe -// MVID: {60B68B7F-084F-1A8E-A745-03837F8BB660} +// MVID: {611C52A3-084F-1A8E-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05140000 +// Image base: 0x06B60000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Seq_for_all01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Seq_for_all01.il.bsl index cbcdbfefab..e0302a0c9f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Seq_for_all01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Seq_for_all01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001B0 Length: 0x00000072 } .module Seq_for_all01.exe -// MVID: {60B68B7F-D30D-BA80-A745-03837F8BB660} +// MVID: {611C4D7C-D30D-BA80-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05500000 +// Image base: 0x07110000 // =============== CLASS MEMBERS DECLARATION =================== @@ -70,29 +70,31 @@ .method public strict virtual instance bool Invoke(int32 s) cil managed { - // Code size 14 (0xe) + // Code size 15 (0xf) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 5,5 : 31,47 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\Seq_for_all01.fs' - IL_0000: ldc.i4.1 - IL_0001: ldc.i4.0 - IL_0002: ceq + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0004: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.0 + IL_0003: ceq .line 100001,100001 : 0,0 '' - IL_0005: brfalse.s IL_000b + IL_0005: nop + .line 100001,100001 : 0,0 '' + IL_0006: brfalse.s IL_000c .line 5,5 : 48,50 '' - IL_0007: nop - .line 100001,100001 : 0,0 '' IL_0008: nop - IL_0009: br.s IL_000c + .line 100001,100001 : 0,0 '' + IL_0009: nop + IL_000a: br.s IL_000d .line 100001,100001 : 0,0 '' - IL_000b: nop + IL_000c: nop .line 6,6 : 31,35 '' - IL_000c: ldc.i4.1 - IL_000d: ret + IL_000d: ldc.i4.1 + IL_000e: ret } // end of method q@4::Invoke .method private specialname rtspecialname static diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs01.il.bsl index 1d930ea81a..b03d9a5116 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000748 Length: 0x00000231 } .module Structs01.exe -// MVID: {60B68B7F-701F-5E27-A745-03837F8BB660} +// MVID: {611C52A3-701F-5E27-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07280000 +// Image base: 0x06680000 // =============== CLASS MEMBERS DECLARATION =================== @@ -83,6 +83,7 @@ IL_0010: ldloc.0 IL_0011: ldfld int32 Experiment.Test/Test::Field IL_0016: stloc.3 + .line 100001,100001 : 0,0 '' IL_0017: ldloc.2 IL_0018: ldloc.3 IL_0019: bge.s IL_001d @@ -138,6 +139,7 @@ IL_0013: ldloc.1 IL_0014: ldfld int32 Experiment.Test/Test::Field IL_0019: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_001b: ldloc.3 IL_001c: ldloc.s V_4 IL_001e: bge.s IL_0022 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs02.il.bsl index d22541e030..15115f5ba6 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/Structs02.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000780 Length: 0x00000237 } .module Structs02.exe -// MVID: {60B68B7F-7040-5E27-A745-03837F8BB660} +// MVID: {611C52A3-7040-5E27-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05320000 +// Image base: 0x051F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -94,6 +94,7 @@ IL_0010: ldloc.0 IL_0011: ldfld int32 Experiment.Test/Repro::hash@ IL_0016: stloc.3 + .line 100001,100001 : 0,0 '' IL_0017: ldloc.2 IL_0018: ldloc.3 IL_0019: bge.s IL_001d @@ -149,6 +150,7 @@ IL_0013: ldloc.1 IL_0014: ldfld int32 Experiment.Test/Repro::hash@ IL_0019: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_001b: ldloc.3 IL_001c: ldloc.s V_4 IL_001e: bge.s IL_0022 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/StructsAsArrayElements01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/StructsAsArrayElements01.il.bsl index 7beca501ce..0e812538db 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/StructsAsArrayElements01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/StructsAsArrayElements01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000758 Length: 0x0000022C } .module StructsAsArrayElements01.dll -// MVID: {60B68B7F-29F3-6E68-A745-03837F8BB660} +// MVID: {611C52A3-29F3-6E68-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A80000 +// Image base: 0x06670000 // =============== CLASS MEMBERS DECLARATION =================== @@ -84,6 +84,7 @@ IL_0010: ldloc.0 IL_0011: ldfld int32 StructsAsArrayElements01/T::i IL_0016: stloc.3 + .line 100001,100001 : 0,0 '' IL_0017: ldloc.2 IL_0018: ldloc.3 IL_0019: bge.s IL_001d @@ -139,6 +140,7 @@ IL_0013: ldloc.1 IL_0014: ldfld int32 StructsAsArrayElements01/T::i IL_0019: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_001b: ldloc.3 IL_001c: ldloc.s V_4 IL_001e: bge.s IL_0022 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/TryWith_NoFilterBlocks01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/TryWith_NoFilterBlocks01.il.bsl index db782e0d6c..7e3a902de5 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/TryWith_NoFilterBlocks01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/TryWith_NoFilterBlocks01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000160 Length: 0x0000005F } .module TryWith_NoFilterBlocks01.exe -// MVID: {60BCDCE8-3DEF-9A40-A745-0383E8DCBC60} +// MVID: {611C4D7C-3DEF-9A40-A745-03837C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05100000 +// Image base: 0x066A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -63,42 +63,48 @@ .method public static void main@() cil managed { .entrypoint - // Code size 28 (0x1c) + // Code size 30 (0x1e) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e, [2] class [mscorlib]System.Exception V_2) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 4,4 : 3,5 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\TryWith_NoFilterBlocks01.fs' + .line 3,3 : 1,4 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\TryWith_NoFilterBlocks01.fs' .try { - IL_0000: leave.s IL_001b + IL_0000: nop + .line 4,4 : 3,5 '' + IL_0001: leave.s IL_001d .line 5,5 : 2,6 '' } // end .try catch [mscorlib]System.Object { - IL_0002: castclass [mscorlib]System.Exception - IL_0007: stloc.0 - IL_0008: ldloc.0 - IL_0009: stloc.1 - IL_000a: ldloc.1 - IL_000b: callvirt instance int32 [mscorlib]System.Object::GetHashCode() - IL_0010: ldc.i4.0 - IL_0011: ceq - IL_0013: brfalse.s IL_0019 - - IL_0015: ldloc.0 - IL_0016: stloc.2 + IL_0003: castclass [mscorlib]System.Exception + IL_0008: stloc.0 + .line 6,6 : 12,31 '' + IL_0009: nop + .line 100001,100001 : 0,0 '' + IL_000a: ldloc.0 + IL_000b: stloc.1 + IL_000c: ldloc.1 + IL_000d: callvirt instance int32 [mscorlib]System.Object::GetHashCode() + IL_0012: ldc.i4.0 + IL_0013: ceq + IL_0015: brfalse.s IL_001b + + .line 100001,100001 : 0,0 '' + IL_0017: ldloc.0 + IL_0018: stloc.2 .line 6,6 : 35,37 '' - IL_0017: leave.s IL_001b + IL_0019: leave.s IL_001d .line 7,7 : 10,12 '' - IL_0019: leave.s IL_001b + IL_001b: leave.s IL_001d .line 100001,100001 : 0,0 '' } // end handler - IL_001b: ret + IL_001d: ret } // end of method $TryWith_NoFilterBlocks01::main@ } // end of class ''.$TryWith_NoFilterBlocks01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl index 31035e2fa2..6dafc94cb8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.bsl @@ -50,13 +50,13 @@ // Offset: 0x000005F0 Length: 0x00000211 } .module Linq101Aggregates01.exe -// MVID: {611B0EC5-D281-4783-A745-0383C50E1B61} +// MVID: {611C52A3-D281-4783-A745-0383A3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07220000 +// Image base: 0x06ED0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -194,7 +194,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -213,6 +213,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -276,17 +277,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 12,12 : 9,33 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #1 input at line 11@12'::Close .method public strict virtual instance bool @@ -490,7 +494,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -509,6 +513,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -572,17 +577,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 21,21 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method numSum@21::Close .method public strict virtual instance bool @@ -824,7 +832,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -843,6 +851,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -906,17 +915,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 30,30 : 9,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method totalChars@30::Close .method public strict virtual instance bool @@ -1285,7 +1297,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1304,6 +1316,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1367,17 +1380,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 42,42 : 13,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method sum@42::Close .method public strict virtual instance bool @@ -1589,6 +1605,7 @@ IL_005b: ldloc.s V_7 IL_005d: isinst [mscorlib]System.IDisposable IL_0062: stloc.s V_10 + .line 100001,100001 : 0,0 '' IL_0064: ldloc.s V_10 IL_0066: brfalse.s IL_0070 @@ -1795,7 +1812,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1814,6 +1831,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1877,17 +1895,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 49,49 : 22,41 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method minNum@49::Close .method public strict virtual instance bool @@ -2129,7 +2150,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -2148,6 +2169,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -2211,17 +2233,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 52,52 : 28,45 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method shortestWord@52::Close .method public strict virtual instance bool @@ -2590,7 +2615,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -2609,6 +2634,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -2672,17 +2698,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 59,59 : 27,40 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method min@59::Close .method public strict virtual instance bool @@ -3184,7 +3213,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -3203,6 +3232,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -3266,17 +3296,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 69,69 : 40,53 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method cheapestProducts@69::Close .method public strict virtual instance bool @@ -3652,7 +3685,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -3671,6 +3704,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -3734,17 +3768,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 74,74 : 22,41 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method maxNum@74::Close .method public strict virtual instance bool @@ -3986,7 +4023,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -4005,6 +4042,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -4068,17 +4106,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 77,77 : 29,46 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method longestLength@77::Close .method public strict virtual instance bool @@ -4447,7 +4488,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -4466,6 +4507,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -4529,17 +4571,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 84,84 : 42,55 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method mostExpensivePrice@84::Close .method public strict virtual instance bool @@ -5023,7 +5068,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -5042,6 +5087,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -5105,17 +5151,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 93,93 : 32,45 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method maxPrice@93::Close .method public strict virtual instance bool @@ -5368,7 +5417,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -5387,6 +5436,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -5450,17 +5500,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 94,94 : 45,58 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method mostExpensiveProducts@94::Close .method public strict virtual instance bool @@ -5841,7 +5894,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 135 (0x87) + // Code size 136 (0x88) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -5860,6 +5913,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -5923,17 +5977,20 @@ IL_0078: nop IL_0079: br IL_0000 - IL_007e: ldloc.0 - IL_007f: ldnull - IL_0080: cgt.un - IL_0082: brfalse.s IL_0086 + .line 100,100 : 26,46 '' + IL_007e: nop + .line 100001,100001 : 0,0 '' + IL_007f: ldloc.0 + IL_0080: ldnull + IL_0081: cgt.un + IL_0083: brfalse.s IL_0087 .line 100001,100001 : 0,0 '' - IL_0084: ldloc.0 - IL_0085: throw + IL_0085: ldloc.0 + IL_0086: throw .line 100001,100001 : 0,0 '' - IL_0086: ret + IL_0087: ret } // end of method averageNum@100::Close .method public strict virtual instance bool @@ -6405,7 +6462,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -6424,6 +6481,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -6487,17 +6545,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 115,115 : 36,49 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method averagePrice@115::Close .method public strict virtual instance bool @@ -6679,6 +6740,7 @@ IL_0021: ldloc.s V_4 IL_0023: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() IL_0028: stloc.s V_6 + .line 100001,100001 : 0,0 '' IL_002a: ldloc.s V_6 IL_002c: box class [mscorlib]System.Collections.Generic.IEnumerable`1 IL_0031: brtrue.s IL_003e @@ -6729,6 +6791,7 @@ IL_007d: nop IL_007e: br.s IL_0057 + .line 100001,100001 : 0,0 '' IL_0080: ldloc.s V_10 IL_0082: brtrue.s IL_008f @@ -6757,6 +6820,7 @@ IL_00aa: ldloc.s V_7 IL_00ac: isinst [mscorlib]System.IDisposable IL_00b1: stloc.s V_13 + .line 100001,100001 : 0,0 '' IL_00b3: ldloc.s V_13 IL_00b5: brfalse.s IL_00bf @@ -7383,6 +7447,7 @@ IL_00ff: ldloc.s V_27 IL_0101: isinst [mscorlib]System.IDisposable IL_0106: stloc.s V_30 + .line 100001,100001 : 0,0 '' IL_0108: ldloc.s V_30 IL_010a: brfalse.s IL_0114 @@ -7462,6 +7527,7 @@ IL_01a4: ldloc.s V_36 IL_01a6: isinst [mscorlib]System.IDisposable IL_01ab: stloc.s V_39 + .line 100001,100001 : 0,0 '' IL_01ad: ldloc.s V_39 IL_01af: brfalse.s IL_01b9 @@ -7770,6 +7836,7 @@ IL_0512: ldloc.s V_52 IL_0514: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() IL_0519: stloc.s V_54 + .line 100001,100001 : 0,0 '' IL_051b: ldloc.s V_54 IL_051d: box class [mscorlib]System.Collections.Generic.IEnumerable`1 IL_0522: brtrue.s IL_052f @@ -7810,6 +7877,7 @@ IL_0569: nop IL_056a: br.s IL_0547 + .line 100001,100001 : 0,0 '' IL_056c: ldloc.s V_58 IL_056e: brtrue.s IL_057b @@ -7837,6 +7905,7 @@ IL_058e: ldloc.s V_55 IL_0590: isinst [mscorlib]System.IDisposable IL_0595: stloc.s V_61 + .line 100001,100001 : 0,0 '' IL_0597: ldloc.s V_61 IL_0599: brfalse.s IL_05a3 @@ -7870,6 +7939,7 @@ IL_05dc: ldloc.s V_64 IL_05de: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() IL_05e3: stloc.s V_66 + .line 100001,100001 : 0,0 '' IL_05e5: ldloc.s V_66 IL_05e7: box class [mscorlib]System.Collections.Generic.IEnumerable`1> IL_05ec: brtrue.s IL_05f9 @@ -7910,6 +7980,7 @@ IL_0633: nop IL_0634: br.s IL_0611 + .line 100001,100001 : 0,0 '' IL_0636: ldloc.s V_70 IL_0638: brtrue.s IL_0645 @@ -7937,6 +8008,7 @@ IL_0658: ldloc.s V_67 IL_065a: isinst [mscorlib]System.IDisposable IL_065f: stloc.s V_73 + .line 100001,100001 : 0,0 '' IL_0661: ldloc.s V_73 IL_0663: brfalse.s IL_066d diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.il.bsl index 327debf86c..d64da39d4e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000388 Length: 0x00000127 } .module Linq101ElementOperators01.exe -// MVID: {60BD414C-19D7-C20D-A745-03834C41BD60} +// MVID: {611C4D82-19D7-C20D-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x008A0000 +// Image base: 0x06A90000 // =============== CLASS MEMBERS DECLARATION =================== @@ -189,7 +189,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -208,6 +208,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -271,17 +272,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 12,12 : 9,29 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method products12@12::Close .method public strict virtual instance bool @@ -526,7 +530,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -545,6 +549,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -608,17 +613,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 22,22 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method startsWithO@22::Close .method public strict virtual instance bool @@ -864,7 +872,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -883,6 +891,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -946,17 +955,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 31,31 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method firstNumOrDefault@31::Close .method public strict virtual instance bool @@ -1160,7 +1172,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1179,6 +1191,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1242,17 +1255,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 52,52 : 9,29 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method fourthLowNum@52::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl index 38771a7283..20da6d9ded 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Joins01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000310 Length: 0x000000C3 } .module Linq101Joins01.exe -// MVID: {611B0EC5-151B-685E-A745-0383C50E1B61} +// MVID: {611C4D82-151B-685E-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06D00000 +// Image base: 0x06C40000 // =============== CLASS MEMBERS DECLARATION =================== @@ -955,7 +955,7 @@ .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 { - // Code size 65 (0x41) + // Code size 66 (0x42) .maxstack 9 .locals init ([0] class [Utils]Utils/Product p, [1] string t) @@ -963,42 +963,44 @@ IL_0000: ldarg.1 IL_0001: stloc.0 .line 41,41 : 17,39 '' - IL_0002: ldloc.0 - IL_0003: box [Utils]Utils/Product - IL_0008: ldnull - IL_0009: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityIntrinsic(!!0, + IL_0002: nop + .line 100001,100001 : 0,0 '' + 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_000e: brfalse.s IL_0018 + IL_000f: brfalse.s IL_0019 .line 41,41 : 40,55 '' - IL_0010: ldstr "(No products)" + IL_0011: ldstr "(No products)" .line 100001,100001 : 0,0 '' - IL_0015: nop - IL_0016: br.s IL_001f + IL_0016: nop + IL_0017: br.s IL_0020 .line 41,41 : 61,74 '' - IL_0018: ldloc.0 - IL_0019: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0019: ldloc.0 + IL_001a: callvirt instance string [Utils]Utils/Product::get_ProductName() .line 100001,100001 : 0,0 '' - IL_001e: nop + IL_001f: nop .line 100001,100001 : 0,0 '' - IL_001f: stloc.1 + IL_0020: stloc.1 .line 42,42 : 9,22 '' - IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@40-4'::builder@ - IL_0026: ldarg.0 - IL_0027: ldfld string Linq101Joins01/'Pipe #4 input at line 37@40-4'::c - IL_002c: ldarg.0 - IL_002d: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input at line 37@40-4'::ps - IL_0032: ldloc.0 - IL_0033: ldloc.1 - IL_0034: newobj instance void class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, + IL_0021: ldarg.0 + IL_0022: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Joins01/'Pipe #4 input at line 37@40-4'::builder@ + IL_0027: ldarg.0 + IL_0028: ldfld string Linq101Joins01/'Pipe #4 input at line 37@40-4'::c + IL_002d: ldarg.0 + IL_002e: ldfld class [mscorlib]System.Collections.Generic.IEnumerable`1 Linq101Joins01/'Pipe #4 input at line 37@40-4'::ps + IL_0033: ldloc.0 + IL_0034: ldloc.1 + IL_0035: newobj instance void class [mscorlib]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, !1, !2, !3) - IL_0039: tail. - IL_003b: 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_0040: ret + 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 } // end of method 'Pipe #4 input at line 37@40-4'::Invoke } // end of class 'Pipe #4 input at line 37@40-4' diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl index dc1c5f3afc..e20407700d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Ordering01.il.bsl @@ -40,13 +40,13 @@ // Offset: 0x000003B8 Length: 0x00000134 } .module Linq101Ordering01.exe -// MVID: {611B0EC5-649A-6956-A745-0383C50E1B61} +// MVID: {611C4D82-649A-6956-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CC0000 +// Image base: 0x071E0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -184,7 +184,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -203,6 +203,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -266,17 +267,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 11,11 : 9,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #1 input at line 10@11'::Close .method public strict virtual instance bool @@ -518,7 +522,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -537,6 +541,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -600,17 +605,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 18,18 : 9,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #2 input at line 17@18'::Close .method public strict virtual instance bool @@ -973,7 +981,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -992,6 +1000,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1055,17 +1064,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 44,44 : 9,29 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #4 input at line 43@44'::Close .method public strict virtual instance bool @@ -1309,7 +1321,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1328,6 +1340,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1391,17 +1404,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 52,52 : 9,27 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #5 input at line 51@52'::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl index 866d1692f6..365fa72d87 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D8 Length: 0x00000138 } .module Linq101Partitioning01.exe -// MVID: {611B0EC5-B280-A6A2-A745-0383C50E1B61} +// MVID: {611C4D82-B280-A6A2-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x070F0000 +// Image base: 0x06570000 // =============== CLASS MEMBERS DECLARATION =================== @@ -189,7 +189,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -208,6 +208,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -271,17 +272,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 12,12 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #1 input at line 11@12'::Close .method public strict virtual instance bool @@ -694,7 +698,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -713,6 +717,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -776,17 +781,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 29,29 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #3 input at line 28@29'::Close .method public strict virtual instance bool @@ -1199,7 +1207,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1218,6 +1226,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1281,17 +1290,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 45,45 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #5 input at line 44@45'::Close .method public strict virtual instance bool @@ -1535,7 +1547,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1554,6 +1566,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1617,17 +1630,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 52,52 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #6 input at line 51@52'::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl index aacf0b3155..d0dcf614bd 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000398 Length: 0x000000FF } .module Linq101Quantifiers01.exe -// MVID: {611B0EC5-76DD-E373-A745-0383C50E1B61} +// MVID: {611C4D82-76DD-E373-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06B80000 +// Image base: 0x071A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -189,7 +189,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -208,6 +208,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -271,17 +272,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 12,12 : 9,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method iAfterE@12::Close .method public strict virtual instance bool @@ -790,7 +794,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -809,6 +813,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -872,17 +877,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 32,32 : 9,28 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method onlyOdd@32::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl index bc788f95c2..cfcb02aa14 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Select01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000648 Length: 0x00000204 } .module Linq101Select01.exe -// MVID: {611B0EC5-6057-8F80-A745-0383C50E1B61} +// MVID: {611C5DB0-6057-8F80-A745-0383B05D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AD0000 +// Image base: 0x05540000 // =============== CLASS MEMBERS DECLARATION =================== @@ -234,7 +234,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -253,6 +253,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -316,17 +317,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 13,13 : 9,23 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #1 input at line 11@13'::Close .method public strict virtual instance bool @@ -574,7 +578,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -593,6 +597,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -656,17 +661,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 22,22 : 9,31 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method productNames@22::Close .method public strict virtual instance bool @@ -915,7 +923,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -934,6 +942,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -997,17 +1006,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 30,30 : 9,29 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #2 input at line 28@30'::Close .method public strict virtual instance bool @@ -1259,7 +1271,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1278,6 +1290,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1341,17 +1354,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 39,39 : 8,41 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #3 input at line 37@39'::Close .method public strict virtual instance bool @@ -1607,7 +1623,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1626,6 +1642,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1689,17 +1706,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 46,46 : 9,42 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #4 input at line 44@46'::Close .method public strict virtual instance bool @@ -1954,7 +1974,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1973,6 +1993,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -2036,17 +2057,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 53,53 : 9,56 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #5 input at line 51@53'::Close .method public strict virtual instance bool @@ -3774,7 +3798,7 @@ .method public static void main@() cil managed { .entrypoint - // Code size 1169 (0x491) + // Code size 1170 (0x492) .maxstack 13 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne, @@ -4045,251 +4069,253 @@ IL_0201: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::lowNums@58 IL_0206: stloc.s lowNums .line 64,64 : 1,59 '' - IL_0208: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_lowNums() - IL_020d: stloc.s V_34 - IL_020f: ldstr "four" - IL_0214: ldstr "one" - IL_0219: ldstr "three" - IL_021e: ldstr "two" - IL_0223: ldstr "zero" - IL_0228: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_022d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0208: nop + .line 100001,100001 : 0,0 '' + IL_0209: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_lowNums() + IL_020e: stloc.s V_34 + IL_0210: ldstr "four" + IL_0215: ldstr "one" + IL_021a: ldstr "three" + IL_021f: ldstr "two" + IL_0224: ldstr "zero" + IL_0229: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_022e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0232: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0233: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0237: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0238: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_023c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_023d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0241: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0242: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0246: stloc.s V_35 - IL_0248: ldloc.s V_34 - IL_024a: ldloc.s V_35 - IL_024c: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0251: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + IL_0247: stloc.s V_35 + IL_0249: ldloc.s V_34 + IL_024b: ldloc.s V_35 + IL_024d: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0252: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_0256: ldc.i4.0 - IL_0257: ceq - IL_0259: brfalse.s IL_0275 + IL_0257: ldc.i4.0 + IL_0258: ceq + IL_025a: brfalse.s IL_0276 .line 64,64 : 60,84 '' - IL_025b: ldstr "lowNums failed" - IL_0260: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0265: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_026a: pop + IL_025c: ldstr "lowNums failed" + IL_0261: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0266: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_026b: pop .line 64,64 : 86,92 '' - IL_026b: ldc.i4.1 - IL_026c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0271: pop + IL_026c: ldc.i4.1 + IL_026d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0272: pop .line 100001,100001 : 0,0 '' - IL_0272: nop - IL_0273: br.s IL_0276 + IL_0273: nop + IL_0274: br.s IL_0277 .line 100001,100001 : 0,0 '' - IL_0275: nop + IL_0276: nop .line 67,67 : 1,37 '' - IL_0276: ldc.i4.0 - IL_0277: ldc.i4.2 - IL_0278: ldc.i4.4 - IL_0279: ldc.i4.5 - IL_027a: ldc.i4.6 - IL_027b: ldc.i4.8 - IL_027c: ldc.i4.s 9 - IL_027e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0283: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0277: ldc.i4.0 + IL_0278: ldc.i4.2 + IL_0279: ldc.i4.4 + IL_027a: ldc.i4.5 + IL_027b: ldc.i4.6 + IL_027c: ldc.i4.8 + IL_027d: ldc.i4.s 9 + IL_027f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0284: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0288: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0289: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_028d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_028e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0292: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0293: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0297: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_0298: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_029c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_029d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02a2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02a6: dup - IL_02a7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersA@67 - IL_02ac: stloc.s numbersA + IL_02a7: dup + IL_02a8: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersA@67 + IL_02ad: stloc.s numbersA .line 68,68 : 1,31 '' - IL_02ae: ldc.i4.1 - IL_02af: ldc.i4.3 - IL_02b0: ldc.i4.5 - IL_02b1: ldc.i4.7 - IL_02b2: ldc.i4.8 - IL_02b3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_02b8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02af: ldc.i4.1 + IL_02b0: ldc.i4.3 + IL_02b1: ldc.i4.5 + IL_02b2: ldc.i4.7 + IL_02b3: ldc.i4.8 + IL_02b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_02b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02bd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02c2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02c3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02cc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + IL_02cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_02d1: dup - IL_02d2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersB@68 - IL_02d7: stloc.s numbersB + IL_02d2: dup + IL_02d3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::numbersB@68 + IL_02d8: stloc.s numbersB .line 70,76 : 1,21 '' - IL_02d9: nop + IL_02da: nop .line 71,71 : 5,10 '' - IL_02da: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_02df: stloc.s V_37 - IL_02e1: ldloc.s V_37 - IL_02e3: ldloc.s V_37 - IL_02e5: ldloc.s V_37 - IL_02e7: ldloc.s V_37 - IL_02e9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersA() - IL_02ee: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_02f3: ldloc.s V_37 - IL_02f5: newobj instance void Linq101Select01/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_02fa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_02db: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02e0: stloc.s V_37 + IL_02e2: ldloc.s V_37 + IL_02e4: ldloc.s V_37 + IL_02e6: ldloc.s V_37 + IL_02e8: ldloc.s V_37 + IL_02ea: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_numbersA() + IL_02ef: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02f4: ldloc.s V_37 + IL_02f6: newobj instance void Linq101Select01/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02fb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_02ff: ldsfld class Linq101Select01/'Pipe #7 input at line 71@74-2' Linq101Select01/'Pipe #7 input at line 71@74-2'::@_instance - IL_0304: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0300: ldsfld class Linq101Select01/'Pipe #7 input at line 71@74-2' Linq101Select01/'Pipe #7 input at line 71@74-2'::@_instance + IL_0305: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0309: ldsfld class Linq101Select01/'Pipe #7 input at line 71@75-3' Linq101Select01/'Pipe #7 input at line 71@75-3'::@_instance - IL_030e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_030a: ldsfld class Linq101Select01/'Pipe #7 input at line 71@75-3' Linq101Select01/'Pipe #7 input at line 71@75-3'::@_instance + IL_030f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0313: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0318: stloc.s 'Pipe #7 input at line 71' + IL_0314: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0319: stloc.s 'Pipe #7 input at line 71' .line 76,76 : 10,21 '' - IL_031a: ldloc.s 'Pipe #7 input at line 71' - IL_031c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0321: dup - IL_0322: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::pairs@70 - IL_0327: stloc.s pairs + IL_031b: ldloc.s 'Pipe #7 input at line 71' + IL_031d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0322: dup + IL_0323: stsfld class [mscorlib]System.Tuple`2[] ''.$Linq101Select01::pairs@70 + IL_0328: stloc.s pairs .line 79,79 : 1,34 '' - IL_0329: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() - IL_032e: dup - IL_032f: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::customers@79 - IL_0334: stloc.s customers + IL_032a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_032f: dup + IL_0330: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Linq101Select01::customers@79 + IL_0335: stloc.s customers .line 80,86 : 1,21 '' - IL_0336: nop + IL_0337: nop .line 81,81 : 5,10 '' - IL_0337: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_033c: stloc.s V_39 - IL_033e: ldloc.s V_39 - IL_0340: ldloc.s V_39 - IL_0342: ldloc.s V_39 - IL_0344: ldloc.s V_39 - IL_0346: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_034b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_0350: ldloc.s V_39 - IL_0352: newobj instance void Linq101Select01/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0357: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0338: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033d: stloc.s V_39 + IL_033f: ldloc.s V_39 + IL_0341: ldloc.s V_39 + IL_0343: ldloc.s V_39 + IL_0345: ldloc.s V_39 + IL_0347: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_034c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0351: ldloc.s V_39 + IL_0353: newobj instance void Linq101Select01/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0358: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_035c: ldsfld class Linq101Select01/'Pipe #8 input at line 81@84-2' Linq101Select01/'Pipe #8 input at line 81@84-2'::@_instance - IL_0361: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_035d: ldsfld class Linq101Select01/'Pipe #8 input at line 81@84-2' Linq101Select01/'Pipe #8 input at line 81@84-2'::@_instance + IL_0362: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0366: ldsfld class Linq101Select01/'Pipe #8 input at line 81@85-3' Linq101Select01/'Pipe #8 input at line 81@85-3'::@_instance - IL_036b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0367: ldsfld class Linq101Select01/'Pipe #8 input at line 81@85-3' Linq101Select01/'Pipe #8 input at line 81@85-3'::@_instance + IL_036c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0370: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0375: stloc.s 'Pipe #8 input at line 81' + IL_0371: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0376: stloc.s 'Pipe #8 input at line 81' .line 86,86 : 10,21 '' - IL_0377: ldloc.s 'Pipe #8 input at line 81' - IL_0379: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_037e: dup - IL_037f: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders@80 - IL_0384: stloc.s orders + IL_0378: ldloc.s 'Pipe #8 input at line 81' + IL_037a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_037f: dup + IL_0380: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders@80 + IL_0385: stloc.s orders .line 89,95 : 1,21 '' - IL_0386: nop + IL_0387: nop .line 90,90 : 5,10 '' - IL_0387: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_038c: stloc.s V_41 - IL_038e: ldloc.s V_41 - IL_0390: ldloc.s V_41 - IL_0392: ldloc.s V_41 - IL_0394: ldloc.s V_41 - IL_0396: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_039b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03a0: ldloc.s V_41 - IL_03a2: newobj instance void Linq101Select01/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_03a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0388: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_038d: stloc.s V_41 + IL_038f: ldloc.s V_41 + IL_0391: ldloc.s V_41 + IL_0393: ldloc.s V_41 + IL_0395: ldloc.s V_41 + IL_0397: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_039c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a1: ldloc.s V_41 + IL_03a3: newobj instance void Linq101Select01/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03a8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03ac: ldsfld class Linq101Select01/'Pipe #9 input at line 90@93-2' Linq101Select01/'Pipe #9 input at line 90@93-2'::@_instance - IL_03b1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03ad: ldsfld class Linq101Select01/'Pipe #9 input at line 90@93-2' Linq101Select01/'Pipe #9 input at line 90@93-2'::@_instance + IL_03b2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03b6: ldsfld class Linq101Select01/'Pipe #9 input at line 90@94-3' Linq101Select01/'Pipe #9 input at line 90@94-3'::@_instance - IL_03bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03b7: ldsfld class Linq101Select01/'Pipe #9 input at line 90@94-3' Linq101Select01/'Pipe #9 input at line 90@94-3'::@_instance + IL_03bc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_03c0: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_03c5: stloc.s 'Pipe #9 input at line 90' + IL_03c1: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_03c6: stloc.s 'Pipe #9 input at line 90' .line 95,95 : 10,21 '' - IL_03c7: ldloc.s 'Pipe #9 input at line 90' - IL_03c9: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03ce: dup - IL_03cf: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders2@89 - IL_03d4: stloc.s orders2 - IL_03d6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_03db: stloc.s V_42 - IL_03dd: ldloc.s V_42 - IL_03df: ldloc.s V_42 - IL_03e1: ldloc.s V_42 - IL_03e3: ldloc.s V_42 - IL_03e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_03ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_03ef: ldloc.s V_42 - IL_03f1: newobj instance void Linq101Select01/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_03f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03c8: ldloc.s 'Pipe #9 input at line 90' + IL_03ca: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03cf: dup + IL_03d0: stsfld class [mscorlib]System.Tuple`3[] ''.$Linq101Select01::orders2@89 + IL_03d5: stloc.s orders2 + IL_03d7: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03dc: stloc.s V_42 + IL_03de: ldloc.s V_42 + IL_03e0: ldloc.s V_42 + IL_03e2: ldloc.s V_42 + IL_03e4: ldloc.s V_42 + IL_03e6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_03eb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03f0: ldloc.s V_42 + IL_03f2: newobj instance void Linq101Select01/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_03fb: ldsfld class Linq101Select01/'orders3@102-2' Linq101Select01/'orders3@102-2'::@_instance - IL_0400: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_03fc: ldsfld class Linq101Select01/'orders3@102-2' Linq101Select01/'orders3@102-2'::@_instance + IL_0401: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0405: ldsfld class Linq101Select01/'orders3@103-3' Linq101Select01/'orders3@103-3'::@_instance - IL_040a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0406: ldsfld class Linq101Select01/'orders3@103-3' Linq101Select01/'orders3@103-3'::@_instance + IL_040b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_040f: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0414: dup - IL_0415: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders3@98 - IL_041a: stloc.s orders3 + IL_0410: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0415: dup + IL_0416: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders3@98 + IL_041b: stloc.s orders3 .line 107,107 : 1,38 '' - IL_041c: ldc.i4 0x7cd - IL_0421: ldc.i4.1 + IL_041d: ldc.i4 0x7cd IL_0422: ldc.i4.1 - IL_0423: newobj instance void [mscorlib]System.DateTime::.ctor(int32, + IL_0423: ldc.i4.1 + IL_0424: newobj instance void [mscorlib]System.DateTime::.ctor(int32, int32, int32) - IL_0428: dup - IL_0429: stsfld valuetype [mscorlib]System.DateTime ''.$Linq101Select01::cutOffDate@107 - IL_042e: stloc.s cutOffDate - IL_0430: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() - IL_0435: stloc.s V_43 - IL_0437: ldloc.s V_43 - IL_0439: ldloc.s V_43 - IL_043b: ldloc.s V_43 - IL_043d: ldloc.s V_43 - IL_043f: ldloc.s V_43 - IL_0441: ldloc.s V_43 - IL_0443: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() - IL_0448: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_044d: ldloc.s V_43 - IL_044f: newobj instance void Linq101Select01/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_0454: 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, + IL_0429: dup + IL_042a: stsfld valuetype [mscorlib]System.DateTime ''.$Linq101Select01::cutOffDate@107 + IL_042f: stloc.s cutOffDate + IL_0431: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0436: stloc.s V_43 + IL_0438: ldloc.s V_43 + IL_043a: ldloc.s V_43 + IL_043c: ldloc.s V_43 + IL_043e: ldloc.s V_43 + IL_0440: ldloc.s V_43 + IL_0442: ldloc.s V_43 + IL_0444: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Select01::get_customers() + IL_0449: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_044e: ldloc.s V_43 + IL_0450: newobj instance void Linq101Select01/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0455: 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_0459: ldsfld class Linq101Select01/'orders4@112-1' Linq101Select01/'orders4@112-1'::@_instance - IL_045e: 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, + IL_045a: ldsfld class Linq101Select01/'orders4@112-1' Linq101Select01/'orders4@112-1'::@_instance + IL_045f: 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_0463: ldloc.s V_43 - IL_0465: newobj instance void Linq101Select01/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) - IL_046a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0464: ldloc.s V_43 + IL_0466: newobj instance void Linq101Select01/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_046b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) - IL_046f: ldsfld class Linq101Select01/'orders4@114-4' Linq101Select01/'orders4@114-4'::@_instance - IL_0474: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_0470: ldsfld class Linq101Select01/'orders4@114-4' Linq101Select01/'orders4@114-4'::@_instance + IL_0475: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0479: ldsfld class Linq101Select01/'orders4@115-5' Linq101Select01/'orders4@115-5'::@_instance - IL_047e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + IL_047a: ldsfld class Linq101Select01/'orders4@115-5' Linq101Select01/'orders4@115-5'::@_instance + IL_047f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [mscorlib]System.Collections.IEnumerable,class [mscorlib]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) - IL_0483: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() - IL_0488: dup - IL_0489: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders4@109 - IL_048e: stloc.s orders4 - IL_0490: ret + IL_0484: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [mscorlib]System.Collections.IEnumerable>::get_Source() + IL_0489: dup + IL_048a: stsfld class [mscorlib]System.Collections.Generic.IEnumerable`1> ''.$Linq101Select01::orders4@109 + IL_048f: stloc.s orders4 + IL_0491: ret } // end of method $Linq101Select01::main@ } // end of class ''.$Linq101Select01 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl index 511e9ef2a8..a87b2b30b8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x00000390 Length: 0x0000011E } .module Linq101SetOperators01.exe -// MVID: {611B0EC5-4EE5-349F-A745-0383C50E1B61} +// MVID: {611C4D82-4EE5-349F-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07120000 +// Image base: 0x06410000 // =============== CLASS MEMBERS DECLARATION =================== @@ -189,7 +189,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -208,6 +208,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -271,17 +272,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 13,13 : 9,33 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #1 input at line 12@13'::Close .method public strict virtual instance bool @@ -529,7 +533,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -548,6 +552,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -611,17 +616,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 23,23 : 9,26 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #2 input at line 21@23'::Close .method public strict virtual instance bool @@ -871,7 +879,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -890,6 +898,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -953,17 +962,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 33,33 : 9,33 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method productFirstChars@33::Close .method public strict virtual instance bool @@ -1213,7 +1225,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -1232,6 +1244,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -1295,17 +1308,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 39,39 : 9,33 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method customerFirstChars@39::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl index cb31189e31..3f92cd859e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Where01.il.bsl @@ -45,13 +45,13 @@ // Offset: 0x000003D0 Length: 0x0000012E } .module Linq101Where01.exe -// MVID: {611B0EC5-FF23-CD21-A745-0383C50E1B61} +// MVID: {611C4D82-FF23-CD21-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06790000 +// Image base: 0x06A30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -363,34 +363,36 @@ .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed { - // Code size 37 (0x25) + // Code size 38 (0x26) .maxstack 10 + .line 33,33 : 16,57 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - 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_0001: ldarg.1 + IL_0002: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0007: ldc.i4.0 + IL_0008: ble.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice() - IL_000f: ldc.i4 0x12c - IL_0014: ldc.i4.0 + IL_000a: ldarg.1 + IL_000b: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0010: ldc.i4 0x12c 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, + IL_0017: ldc.i4.0 + IL_0018: ldc.i4.2 + IL_0019: 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, + IL_001e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, valuetype [netstandard]System.Decimal) - IL_0022: ret + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldc.i4.0 - IL_0024: ret + IL_0024: ldc.i4.0 + IL_0025: ret } // end of method 'expensiveInStockProducts@33-1'::Invoke .method private specialname rtspecialname static @@ -736,7 +738,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 127 (0x7f) + // Code size 128 (0x80) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -755,6 +757,7 @@ .line 100001,100001 : 0,0 '' IL_0016: nop + .line 100001,100001 : 0,0 '' .try { IL_0017: ldarg.0 @@ -818,17 +821,20 @@ IL_0070: nop IL_0071: br IL_0000 - IL_0076: ldloc.0 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: brfalse.s IL_007e + .line 52,52 : 9,17 '' + IL_0076: nop + .line 100001,100001 : 0,0 '' + IL_0077: ldloc.0 + IL_0078: ldnull + IL_0079: cgt.un + IL_007b: brfalse.s IL_007f .line 100001,100001 : 0,0 '' - IL_007c: ldloc.0 - IL_007d: throw + IL_007d: ldloc.0 + IL_007e: throw .line 100001,100001 : 0,0 '' - IL_007e: ret + IL_007f: ret } // end of method 'Pipe #3 input at line 50@52'::Close .method public strict virtual instance bool @@ -924,22 +930,24 @@ Invoke(int32 i, string d) cil managed { - // Code size 18 (0x12) + // Code size 19 (0x13) .maxstack 8 .line 54,54 : 29,49 '' - IL_0000: ldarg.2 - IL_0001: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_0006: ldarg.1 - IL_0007: bge.s IL_0010 + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.2 + IL_0002: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_0007: ldarg.1 + IL_0008: bge.s IL_0011 .line 54,54 : 50,57 '' - IL_0009: ldarg.2 - IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) - IL_000f: ret + 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 .line 54,54 : 63,67 '' - IL_0010: ldnull - IL_0011: ret + IL_0011: ldnull + IL_0012: ret } // end of method 'Pipe #3 stage #1 at line 54@54'::Invoke .method private specialname rtspecialname static diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl index da3369027f..665db6c83a 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest5.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000268 Length: 0x000000AD } .module SeqExpressionSteppingTest5.exe -// MVID: {611B0EC5-2432-9401-A745-0383C50E1B61} +// MVID: {611C4D82-2432-9401-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06560000 +// Image base: 0x04AD0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -212,7 +212,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 156 (0x9c) + // Code size 157 (0x9d) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -231,6 +231,7 @@ .line 100001,100001 : 0,0 '' IL_0019: nop + .line 100001,100001 : 0,0 '' .try { IL_001a: ldarg.0 @@ -309,17 +310,20 @@ IL_008d: nop IL_008e: br IL_0000 - IL_0093: ldloc.0 - IL_0094: ldnull - IL_0095: cgt.un - IL_0097: brfalse.s IL_009b + .line 5,5 : 19,20 '' + IL_0093: nop + .line 100001,100001 : 0,0 '' + IL_0094: ldloc.0 + IL_0095: ldnull + IL_0096: cgt.un + IL_0098: brfalse.s IL_009c .line 100001,100001 : 0,0 '' - IL_0099: ldloc.0 - IL_009a: throw + IL_009a: ldloc.0 + IL_009b: throw .line 100001,100001 : 0,0 '' - IL_009b: ret + IL_009c: ret } // end of method f4@5::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl index 24b89a08ba..c50b09633d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest6.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000002A0 Length: 0x000000BA } .module SeqExpressionSteppingTest6.exe -// MVID: {611B0EC5-2432-94A2-A745-0383C50E1B61} +// MVID: {611C4D82-2432-94A2-A745-0383824D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07170000 +// Image base: 0x07260000 // =============== CLASS MEMBERS DECLARATION =================== @@ -254,7 +254,7 @@ .method public strict virtual instance void Close() cil managed { - // Code size 167 (0xa7) + // Code size 168 (0xa8) .maxstack 6 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception e) @@ -273,6 +273,7 @@ .line 100001,100001 : 0,0 '' IL_0019: nop + .line 100001,100001 : 0,0 '' .try { IL_001a: ldarg.0 @@ -359,17 +360,20 @@ IL_0098: nop IL_0099: br IL_0000 - IL_009e: ldloc.0 - IL_009f: ldnull - IL_00a0: cgt.un - IL_00a2: brfalse.s IL_00a6 + .line 6,8 : 15,25 '' + IL_009e: nop + .line 100001,100001 : 0,0 '' + IL_009f: ldloc.0 + IL_00a0: ldnull + IL_00a1: cgt.un + IL_00a3: brfalse.s IL_00a7 .line 100001,100001 : 0,0 '' - IL_00a4: ldloc.0 - IL_00a5: throw + IL_00a5: ldloc.0 + IL_00a6: throw .line 100001,100001 : 0,0 '' - IL_00a6: ret + IL_00a7: ret } // end of method f7@6::Close .method public strict virtual instance bool diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest7.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest7.il.bsl index 4427341eb3..7965bb568e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest7.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest7.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000270 Length: 0x00000098 } .module SeqExpressionSteppingTest7.exe -// MVID: {60BCC37C-2432-93C3-A745-03837CC3BC60} +// MVID: {611C5DB0-2432-93C3-A745-0383B05D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05980000 +// Image base: 0x06AC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -63,48 +63,52 @@ .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f() cil managed { - // Code size 59 (0x3b) + // Code size 61 (0x3d) .maxstack 5 .locals init ([0] valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, [1] string V_1) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 5,5 : 18,24 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SeqExpressionStepping\\SeqExpressionSteppingTest7.fs' - IL_0000: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest7::get_r() - IL_0005: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) - IL_000a: nop + .line 5,5 : 12,57 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SeqExpressionStepping\\SeqExpressionSteppingTest7.fs' + IL_0000: nop + .line 5,5 : 14,36 '' + IL_0001: nop + .line 5,5 : 18,24 '' + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest7::get_r() + IL_0007: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_000c: nop .line 5,5 : 26,30 '' - IL_000b: ldc.i4.1 - IL_000c: brfalse.s IL_0031 + IL_000d: ldc.i4.1 + IL_000e: brfalse.s IL_0033 .line 5,5 : 44,55 '' - IL_000e: ldstr "" - IL_0013: stloc.1 - IL_0014: ldloca.s V_0 - IL_0016: ldc.i4.0 - IL_0017: brfalse.s IL_0021 - - IL_0019: ldnull - IL_001a: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1 - IL_001f: br.s IL_0028 - - IL_0021: ldloc.1 - IL_0022: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_0027: throw - - IL_0028: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [mscorlib]System.Collections.Generic.IEnumerable`1) - IL_002d: nop + IL_0010: ldstr "" + IL_0015: stloc.1 + IL_0016: ldloca.s V_0 + IL_0018: ldc.i4.0 + IL_0019: brfalse.s IL_0023 + + IL_001b: ldnull + IL_001c: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_0021: br.s IL_002a + + IL_0023: ldloc.1 + IL_0024: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_0029: throw + + IL_002a: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002f: nop .line 100001,100001 : 0,0 '' - IL_002e: nop - IL_002f: br.s IL_0033 + IL_0030: nop + IL_0031: br.s IL_0035 .line 5,5 : 14,36 '' - IL_0031: nop + IL_0033: nop .line 100001,100001 : 0,0 '' - IL_0032: nop + IL_0034: nop .line 5,5 : 12,57 '' - 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 + 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 } // end of method SeqExpressionSteppingTest7::f .property class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 @@ -162,6 +166,7 @@ IL_002b: ldloc.3 IL_002c: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [mscorlib]System.Exception) IL_0031: stloc.s V_4 + .line 100001,100001 : 0,0 '' IL_0033: ldloc.s V_4 IL_0035: brfalse.s IL_004e diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl index e4ab112f17..0ddb079f90 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00001148 Length: 0x000003FD } .module TopLevelModule.dll -// MVID: {60D4892F-37F5-C118-A745-03832F89D460} +// MVID: {611C4D86-37F5-C118-A745-0383864D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06F60000 +// Image base: 0x067D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -151,7 +151,7 @@ instance int32 CompareTo(class ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 4 .locals init ([0] class ABC/Expr V_0, [1] class ABC/Expr V_1, @@ -159,65 +159,68 @@ [3] int32 V_3, [4] int32 V_4) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SerializableAttribute\\ToplevelModule.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0036 + .line 6,6 : 14,18 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SerializableAttribute\\ToplevelModule.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0037 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0034 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0035 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.2 + IL_0019: ldloc.0 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.3 + IL_0020: ldloc.1 + IL_0021: ldfld int32 ABC/Expr::item + IL_0026: stloc.s V_4 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.2 - IL_0018: ldloc.0 - IL_0019: ldfld int32 ABC/Expr::item - IL_001e: stloc.3 - IL_001f: ldloc.1 - IL_0020: ldfld int32 ABC/Expr::item - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.s V_4 - IL_002a: bge.s IL_002e + IL_0028: ldloc.3 + IL_0029: ldloc.s V_4 + IL_002b: bge.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldloc.3 - IL_002f: ldloc.s V_4 - IL_0031: cgt - IL_0033: ret + IL_002f: ldloc.3 + IL_0030: ldloc.s V_4 + IL_0032: cgt + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldc.i4.1 - IL_0035: ret + IL_0035: ldc.i4.1 + IL_0036: ret .line 100001,100001 : 0,0 '' - IL_0036: ldarg.1 - IL_0037: ldnull - IL_0038: cgt.un - IL_003a: brfalse.s IL_003e + IL_0037: ldarg.1 + IL_0038: ldnull + IL_0039: cgt.un + IL_003b: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_003c: ldc.i4.m1 - IL_003d: ret + IL_003d: ldc.i4.m1 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method Expr::CompareTo .method public hidebysig virtual final @@ -251,6 +254,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -279,6 +283,7 @@ IL_0028: ldloc.2 IL_0029: ldfld int32 ABC/Expr::item IL_002e: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_0030: ldloc.s V_4 IL_0032: ldloc.s V_5 IL_0034: bge.s IL_0038 @@ -317,48 +322,51 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 7 .locals init ([0] int32 V_0, [1] class ABC/Expr V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 6,6 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 ABC/Expr::item - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 ABC/Expr::item + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloc.0 - IL_0026: ret + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: ret .line 100001,100001 : 0,0 '' - IL_0027: ldc.i4.0 - IL_0028: ret + IL_0028: ldc.i4.0 + IL_0029: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final @@ -379,104 +387,110 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 52 (0x34) + // Code size 53 (0x35) .maxstack 4 .locals init ([0] class ABC/Expr V_0, [1] class ABC/Expr V_1, [2] class ABC/Expr V_2, [3] class ABC/Expr V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4) + .line 6,6 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002d .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst ABC/Expr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002a + IL_0007: ldarg.1 + IL_0008: isinst ABC/Expr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_002b .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 ABC/Expr::item - IL_0021: ldloc.3 - IL_0022: ldfld int32 ABC/Expr::item - IL_0027: ceq - IL_0029: ret + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 ABC/Expr::item + IL_0022: ldloc.3 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: ceq + IL_002a: ret .line 100001,100001 : 0,0 '' - IL_002a: ldc.i4.0 - IL_002b: ret + IL_002b: ldc.i4.0 + IL_002c: ret .line 100001,100001 : 0,0 '' - IL_002c: ldarg.1 - IL_002d: ldnull - IL_002e: cgt.un - IL_0030: ldc.i4.0 - IL_0031: ceq - IL_0033: ret + IL_002d: ldarg.1 + IL_002e: ldnull + IL_002f: cgt.un + IL_0031: ldc.i4.0 + IL_0032: ceq + IL_0034: ret } // end of method Expr::Equals .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 4 .locals init ([0] class ABC/Expr V_0, [1] class ABC/Expr V_1) + .line 6,6 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0023 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0021 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 ABC/Expr::item - IL_0018: ldloc.1 - IL_0019: ldfld int32 ABC/Expr::item - IL_001e: ceq - IL_0020: ret + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: ldloc.0 + IL_0014: ldfld int32 ABC/Expr::item + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: ceq + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldc.i4.0 - IL_0022: ret + IL_0022: ldc.i4.0 + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldarg.1 - IL_0024: ldnull - IL_0025: cgt.un - IL_0027: ldc.i4.0 - IL_0028: ceq - IL_002a: ret + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret } // end of method Expr::Equals .method public hidebysig virtual final @@ -490,6 +504,7 @@ IL_0000: ldarg.1 IL_0001: isinst ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -579,41 +594,43 @@ GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 40 (0x28) + // Code size 41 (0x29) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1) + .line 7,7 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: castclass ABC/MyExn - IL_0015: call instance int32 ABC/MyExn::get_Data0() - IL_001a: ldloc.0 - IL_001b: ldc.i4.6 - IL_001c: shl - IL_001d: ldloc.0 - IL_001e: ldc.i4.2 - IL_001f: shr - IL_0020: add + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: castclass ABC/MyExn + IL_0016: call instance int32 ABC/MyExn::get_Data0() + 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: stloc.0 - IL_0024: ldloc.0 - IL_0025: ret + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldc.i4.0 - IL_0027: ret + IL_0027: ldc.i4.0 + IL_0028: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance int32 @@ -634,112 +651,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 7,7 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst [mscorlib]System.Exception - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0039 + IL_0007: ldarg.1 + IL_0008: isinst [mscorlib]System.Exception + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0018: brtrue.s IL_001c + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0019: brtrue.s IL_001d - IL_001a: br.s IL_0037 + IL_001b: br.s IL_0038 .line 100001,100001 : 0,0 '' - IL_001c: ldarg.2 - IL_001d: stloc.2 - 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_001d: ldarg.2 + IL_001e: stloc.2 + IL_001f: ldarg.0 + IL_0020: castclass ABC/MyExn + IL_0025: call instance int32 ABC/MyExn::get_Data0() + IL_002a: ldloc.1 + IL_002b: castclass ABC/MyExn + IL_0030: call instance int32 ABC/MyExn::get_Data0() + IL_0035: ceq + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldarg.1 - IL_003c: ldnull - IL_003d: cgt.un - IL_003f: ldc.i4.0 - IL_0040: ceq - IL_0042: ret + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret } // end of method MyExn::Equals .method public hidebysig instance bool Equals(class [mscorlib]System.Exception obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 8 + .line 7,7 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.1 - IL_000d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0012: brtrue.s IL_0016 + IL_000d: ldarg.1 + IL_000e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0013: brtrue.s IL_0017 - IL_0014: br.s IL_002f + IL_0015: br.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0016: ldarg.0 - IL_0017: castclass ABC/MyExn - IL_001c: call instance int32 ABC/MyExn::get_Data0() - IL_0021: ldarg.1 - IL_0022: castclass ABC/MyExn - IL_0027: call instance int32 ABC/MyExn::get_Data0() - IL_002c: ceq - IL_002e: ret + IL_0017: ldarg.0 + IL_0018: castclass ABC/MyExn + IL_001d: call instance int32 ABC/MyExn::get_Data0() + IL_0022: ldarg.1 + IL_0023: castclass ABC/MyExn + IL_0028: call instance int32 ABC/MyExn::get_Data0() + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method MyExn::Equals .method public hidebysig virtual instance bool @@ -753,6 +776,7 @@ IL_0000: ldarg.1 IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -919,72 +943,75 @@ instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 4 .locals init ([0] class ABC/ABC/Expr V_0, [1] class ABC/ABC/Expr V_1, [2] class [mscorlib]System.Collections.IComparer V_2, [3] int32 V_3, [4] int32 V_4) + .line 16,16 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0036 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0037 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0034 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0035 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.2 + IL_0019: ldloc.0 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.3 + IL_0020: ldloc.1 + IL_0021: ldfld int32 ABC/ABC/Expr::item + IL_0026: stloc.s V_4 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.2 - IL_0018: ldloc.0 - IL_0019: ldfld int32 ABC/ABC/Expr::item - IL_001e: stloc.3 - IL_001f: ldloc.1 - IL_0020: ldfld int32 ABC/ABC/Expr::item - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.s V_4 - IL_002a: bge.s IL_002e + IL_0028: ldloc.3 + IL_0029: ldloc.s V_4 + IL_002b: bge.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldloc.3 - IL_002f: ldloc.s V_4 - IL_0031: cgt - IL_0033: ret + IL_002f: ldloc.3 + IL_0030: ldloc.s V_4 + IL_0032: cgt + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldc.i4.1 - IL_0035: ret + IL_0035: ldc.i4.1 + IL_0036: ret .line 100001,100001 : 0,0 '' - IL_0036: ldarg.1 - IL_0037: ldnull - IL_0038: cgt.un - IL_003a: brfalse.s IL_003e + IL_0037: ldarg.1 + IL_0038: ldnull + IL_0039: cgt.un + IL_003b: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_003c: ldc.i4.m1 - IL_003d: ret + IL_003d: ldc.i4.m1 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method Expr::CompareTo .method public hidebysig virtual final @@ -1018,6 +1045,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any ABC/ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -1046,6 +1074,7 @@ IL_0028: ldloc.2 IL_0029: ldfld int32 ABC/ABC/Expr::item IL_002e: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_0030: ldloc.s V_4 IL_0032: ldloc.s V_5 IL_0034: bge.s IL_0038 @@ -1084,48 +1113,51 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 7 .locals init ([0] int32 V_0, [1] class ABC/ABC/Expr V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 16,16 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 ABC/ABC/Expr::item - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 ABC/ABC/Expr::item + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloc.0 - IL_0026: ret + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: ret .line 100001,100001 : 0,0 '' - IL_0027: ldc.i4.0 - IL_0028: ret + IL_0028: ldc.i4.0 + IL_0029: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final @@ -1146,104 +1178,110 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 52 (0x34) + // Code size 53 (0x35) .maxstack 4 .locals init ([0] class ABC/ABC/Expr V_0, [1] class ABC/ABC/Expr V_1, [2] class ABC/ABC/Expr V_2, [3] class ABC/ABC/Expr V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4) + .line 16,16 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002d .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst ABC/ABC/Expr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002a + IL_0007: ldarg.1 + IL_0008: isinst ABC/ABC/Expr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_002b .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 ABC/ABC/Expr::item - IL_0021: ldloc.3 - IL_0022: ldfld int32 ABC/ABC/Expr::item - IL_0027: ceq - IL_0029: ret + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 ABC/ABC/Expr::item + IL_0022: ldloc.3 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: ceq + IL_002a: ret .line 100001,100001 : 0,0 '' - IL_002a: ldc.i4.0 - IL_002b: ret + IL_002b: ldc.i4.0 + IL_002c: ret .line 100001,100001 : 0,0 '' - IL_002c: ldarg.1 - IL_002d: ldnull - IL_002e: cgt.un - IL_0030: ldc.i4.0 - IL_0031: ceq - IL_0033: ret + IL_002d: ldarg.1 + IL_002e: ldnull + IL_002f: cgt.un + IL_0031: ldc.i4.0 + IL_0032: ceq + IL_0034: ret } // end of method Expr::Equals .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 4 .locals init ([0] class ABC/ABC/Expr V_0, [1] class ABC/ABC/Expr V_1) + .line 16,16 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0023 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0021 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 ABC/ABC/Expr::item - IL_0018: ldloc.1 - IL_0019: ldfld int32 ABC/ABC/Expr::item - IL_001e: ceq - IL_0020: ret + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: ldloc.0 + IL_0014: ldfld int32 ABC/ABC/Expr::item + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: ceq + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldc.i4.0 - IL_0022: ret + IL_0022: ldc.i4.0 + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldarg.1 - IL_0024: ldnull - IL_0025: cgt.un - IL_0027: ldc.i4.0 - IL_0028: ceq - IL_002a: ret + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret } // end of method Expr::Equals .method public hidebysig virtual final @@ -1257,6 +1295,7 @@ IL_0000: ldarg.1 IL_0001: isinst ABC/ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -1346,41 +1385,43 @@ GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 40 (0x28) + // Code size 41 (0x29) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1) + .line 17,17 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: castclass ABC/ABC/MyExn - IL_0015: call instance int32 ABC/ABC/MyExn::get_Data0() - IL_001a: ldloc.0 - IL_001b: ldc.i4.6 - IL_001c: shl - IL_001d: ldloc.0 - IL_001e: ldc.i4.2 - IL_001f: shr - IL_0020: add + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: castclass ABC/ABC/MyExn + IL_0016: call instance int32 ABC/ABC/MyExn::get_Data0() + 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: stloc.0 - IL_0024: ldloc.0 - IL_0025: ret + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldc.i4.0 - IL_0027: ret + IL_0027: ldc.i4.0 + IL_0028: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance int32 @@ -1401,112 +1442,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 17,17 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst [mscorlib]System.Exception - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0039 + IL_0007: ldarg.1 + IL_0008: isinst [mscorlib]System.Exception + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0018: brtrue.s IL_001c + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0019: brtrue.s IL_001d - IL_001a: br.s IL_0037 + IL_001b: br.s IL_0038 .line 100001,100001 : 0,0 '' - IL_001c: ldarg.2 - IL_001d: stloc.2 - 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_001d: ldarg.2 + IL_001e: stloc.2 + IL_001f: ldarg.0 + IL_0020: castclass ABC/ABC/MyExn + IL_0025: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_002a: ldloc.1 + IL_002b: castclass ABC/ABC/MyExn + IL_0030: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0035: ceq + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldarg.1 - IL_003c: ldnull - IL_003d: cgt.un - IL_003f: ldc.i4.0 - IL_0040: ceq - IL_0042: ret + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret } // end of method MyExn::Equals .method public hidebysig instance bool Equals(class [mscorlib]System.Exception obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 8 + .line 17,17 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.1 - IL_000d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0012: brtrue.s IL_0016 + IL_000d: ldarg.1 + IL_000e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0013: brtrue.s IL_0017 - IL_0014: br.s IL_002f + IL_0015: br.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0016: ldarg.0 - IL_0017: castclass ABC/ABC/MyExn - IL_001c: call instance int32 ABC/ABC/MyExn::get_Data0() - IL_0021: ldarg.1 - IL_0022: castclass ABC/ABC/MyExn - IL_0027: call instance int32 ABC/ABC/MyExn::get_Data0() - IL_002c: ceq - IL_002e: ret + IL_0017: ldarg.0 + IL_0018: castclass ABC/ABC/MyExn + IL_001d: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0022: ldarg.1 + IL_0023: castclass ABC/ABC/MyExn + IL_0028: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method MyExn::Equals .method public hidebysig virtual instance bool @@ -1520,6 +1567,7 @@ IL_0000: ldarg.1 IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl index 32f8ac85d8..f96e7946db 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00001850 Length: 0x0000055C } .module ToplevelNamespace.dll -// MVID: {60D48932-218B-729A-A745-03833289D460} +// MVID: {611C4D8C-218B-729A-A745-03838C4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04F20000 +// Image base: 0x072C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -146,7 +146,7 @@ instance int32 CompareTo(class XYZ.Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 4 .locals init ([0] class XYZ.Expr V_0, [1] class XYZ.Expr V_1, @@ -154,65 +154,68 @@ [3] int32 V_3, [4] int32 V_4) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SerializableAttribute\\ToplevelNamespace.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0036 + .line 7,7 : 10,14 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SerializableAttribute\\ToplevelNamespace.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0037 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0034 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0035 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.2 + IL_0019: ldloc.0 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.3 + IL_0020: ldloc.1 + IL_0021: ldfld int32 XYZ.Expr::item + IL_0026: stloc.s V_4 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.2 - IL_0018: ldloc.0 - IL_0019: ldfld int32 XYZ.Expr::item - IL_001e: stloc.3 - IL_001f: ldloc.1 - IL_0020: ldfld int32 XYZ.Expr::item - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.s V_4 - IL_002a: bge.s IL_002e + IL_0028: ldloc.3 + IL_0029: ldloc.s V_4 + IL_002b: bge.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldloc.3 - IL_002f: ldloc.s V_4 - IL_0031: cgt - IL_0033: ret + IL_002f: ldloc.3 + IL_0030: ldloc.s V_4 + IL_0032: cgt + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldc.i4.1 - IL_0035: ret + IL_0035: ldc.i4.1 + IL_0036: ret .line 100001,100001 : 0,0 '' - IL_0036: ldarg.1 - IL_0037: ldnull - IL_0038: cgt.un - IL_003a: brfalse.s IL_003e + IL_0037: ldarg.1 + IL_0038: ldnull + IL_0039: cgt.un + IL_003b: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_003c: ldc.i4.m1 - IL_003d: ret + IL_003d: ldc.i4.m1 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method Expr::CompareTo .method public hidebysig virtual final @@ -246,6 +249,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any XYZ.Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -274,6 +278,7 @@ IL_0028: ldloc.2 IL_0029: ldfld int32 XYZ.Expr::item IL_002e: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_0030: ldloc.s V_4 IL_0032: ldloc.s V_5 IL_0034: bge.s IL_0038 @@ -312,48 +317,51 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 7 .locals init ([0] int32 V_0, [1] class XYZ.Expr V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 7,7 : 10,14 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 XYZ.Expr::item - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 XYZ.Expr::item + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloc.0 - IL_0026: ret + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: ret .line 100001,100001 : 0,0 '' - IL_0027: ldc.i4.0 - IL_0028: ret + IL_0028: ldc.i4.0 + IL_0029: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final @@ -374,104 +382,110 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 52 (0x34) + // Code size 53 (0x35) .maxstack 4 .locals init ([0] class XYZ.Expr V_0, [1] class XYZ.Expr V_1, [2] class XYZ.Expr V_2, [3] class XYZ.Expr V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4) + .line 7,7 : 10,14 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002d .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst XYZ.Expr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002a + IL_0007: ldarg.1 + IL_0008: isinst XYZ.Expr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_002b .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 XYZ.Expr::item - IL_0021: ldloc.3 - IL_0022: ldfld int32 XYZ.Expr::item - IL_0027: ceq - IL_0029: ret + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 XYZ.Expr::item + IL_0022: ldloc.3 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: ceq + IL_002a: ret .line 100001,100001 : 0,0 '' - IL_002a: ldc.i4.0 - IL_002b: ret + IL_002b: ldc.i4.0 + IL_002c: ret .line 100001,100001 : 0,0 '' - IL_002c: ldarg.1 - IL_002d: ldnull - IL_002e: cgt.un - IL_0030: ldc.i4.0 - IL_0031: ceq - IL_0033: ret + IL_002d: ldarg.1 + IL_002e: ldnull + IL_002f: cgt.un + IL_0031: ldc.i4.0 + IL_0032: ceq + IL_0034: ret } // end of method Expr::Equals .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 4 .locals init ([0] class XYZ.Expr V_0, [1] class XYZ.Expr V_1) + .line 7,7 : 10,14 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0023 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0021 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 XYZ.Expr::item - IL_0018: ldloc.1 - IL_0019: ldfld int32 XYZ.Expr::item - IL_001e: ceq - IL_0020: ret + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: ldloc.0 + IL_0014: ldfld int32 XYZ.Expr::item + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: ceq + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldc.i4.0 - IL_0022: ret + IL_0022: ldc.i4.0 + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldarg.1 - IL_0024: ldnull - IL_0025: cgt.un - IL_0027: ldc.i4.0 - IL_0028: ceq - IL_002a: ret + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret } // end of method Expr::Equals .method public hidebysig virtual final @@ -485,6 +499,7 @@ IL_0000: ldarg.1 IL_0001: isinst XYZ.Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -574,41 +589,43 @@ GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 40 (0x28) + // Code size 41 (0x29) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1) + .line 8,8 : 15,20 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: castclass XYZ.MyExn - IL_0015: call instance int32 XYZ.MyExn::get_Data0() - IL_001a: ldloc.0 - IL_001b: ldc.i4.6 - IL_001c: shl - IL_001d: ldloc.0 - IL_001e: ldc.i4.2 - IL_001f: shr - IL_0020: add + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: castclass XYZ.MyExn + IL_0016: call instance int32 XYZ.MyExn::get_Data0() + 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: stloc.0 - IL_0024: ldloc.0 - IL_0025: ret + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldc.i4.0 - IL_0027: ret + IL_0027: ldc.i4.0 + IL_0028: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance int32 @@ -629,112 +646,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 8,8 : 15,20 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst [mscorlib]System.Exception - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0039 + IL_0007: ldarg.1 + IL_0008: isinst [mscorlib]System.Exception + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0018: brtrue.s IL_001c + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0019: brtrue.s IL_001d - IL_001a: br.s IL_0037 + IL_001b: br.s IL_0038 .line 100001,100001 : 0,0 '' - IL_001c: ldarg.2 - IL_001d: stloc.2 - 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_001d: ldarg.2 + IL_001e: stloc.2 + IL_001f: ldarg.0 + IL_0020: castclass XYZ.MyExn + IL_0025: call instance int32 XYZ.MyExn::get_Data0() + IL_002a: ldloc.1 + IL_002b: castclass XYZ.MyExn + IL_0030: call instance int32 XYZ.MyExn::get_Data0() + IL_0035: ceq + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldarg.1 - IL_003c: ldnull - IL_003d: cgt.un - IL_003f: ldc.i4.0 - IL_0040: ceq - IL_0042: ret + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret } // end of method MyExn::Equals .method public hidebysig instance bool Equals(class [mscorlib]System.Exception obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 8 + .line 8,8 : 15,20 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.1 - IL_000d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0012: brtrue.s IL_0016 + IL_000d: ldarg.1 + IL_000e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0013: brtrue.s IL_0017 - IL_0014: br.s IL_002f + IL_0015: br.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0016: ldarg.0 - IL_0017: castclass XYZ.MyExn - IL_001c: call instance int32 XYZ.MyExn::get_Data0() - IL_0021: ldarg.1 - IL_0022: castclass XYZ.MyExn - IL_0027: call instance int32 XYZ.MyExn::get_Data0() - IL_002c: ceq - IL_002e: ret + IL_0017: ldarg.0 + IL_0018: castclass XYZ.MyExn + IL_001d: call instance int32 XYZ.MyExn::get_Data0() + IL_0022: ldarg.1 + IL_0023: castclass XYZ.MyExn + IL_0028: call instance int32 XYZ.MyExn::get_Data0() + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method MyExn::Equals .method public hidebysig virtual instance bool @@ -748,6 +771,7 @@ IL_0000: ldarg.1 IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -914,72 +938,75 @@ instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 4 .locals init ([0] class XYZ.ABC/Expr V_0, [1] class XYZ.ABC/Expr V_1, [2] class [mscorlib]System.Collections.IComparer V_2, [3] int32 V_3, [4] int32 V_4) + .line 13,13 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0036 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0037 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0034 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0035 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.2 + IL_0019: ldloc.0 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.3 + IL_0020: ldloc.1 + IL_0021: ldfld int32 XYZ.ABC/Expr::item + IL_0026: stloc.s V_4 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.2 - IL_0018: ldloc.0 - IL_0019: ldfld int32 XYZ.ABC/Expr::item - IL_001e: stloc.3 - IL_001f: ldloc.1 - IL_0020: ldfld int32 XYZ.ABC/Expr::item - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.s V_4 - IL_002a: bge.s IL_002e + IL_0028: ldloc.3 + IL_0029: ldloc.s V_4 + IL_002b: bge.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldloc.3 - IL_002f: ldloc.s V_4 - IL_0031: cgt - IL_0033: ret + IL_002f: ldloc.3 + IL_0030: ldloc.s V_4 + IL_0032: cgt + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldc.i4.1 - IL_0035: ret + IL_0035: ldc.i4.1 + IL_0036: ret .line 100001,100001 : 0,0 '' - IL_0036: ldarg.1 - IL_0037: ldnull - IL_0038: cgt.un - IL_003a: brfalse.s IL_003e + IL_0037: ldarg.1 + IL_0038: ldnull + IL_0039: cgt.un + IL_003b: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_003c: ldc.i4.m1 - IL_003d: ret + IL_003d: ldc.i4.m1 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method Expr::CompareTo .method public hidebysig virtual final @@ -1013,6 +1040,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any XYZ.ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -1041,6 +1069,7 @@ IL_0028: ldloc.2 IL_0029: ldfld int32 XYZ.ABC/Expr::item IL_002e: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_0030: ldloc.s V_4 IL_0032: ldloc.s V_5 IL_0034: bge.s IL_0038 @@ -1079,48 +1108,51 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 7 .locals init ([0] int32 V_0, [1] class XYZ.ABC/Expr V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 13,13 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 XYZ.ABC/Expr::item - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 XYZ.ABC/Expr::item + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloc.0 - IL_0026: ret + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: ret .line 100001,100001 : 0,0 '' - IL_0027: ldc.i4.0 - IL_0028: ret + IL_0028: ldc.i4.0 + IL_0029: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final @@ -1141,104 +1173,110 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 52 (0x34) + // Code size 53 (0x35) .maxstack 4 .locals init ([0] class XYZ.ABC/Expr V_0, [1] class XYZ.ABC/Expr V_1, [2] class XYZ.ABC/Expr V_2, [3] class XYZ.ABC/Expr V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4) + .line 13,13 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002d .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst XYZ.ABC/Expr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002a + IL_0007: ldarg.1 + IL_0008: isinst XYZ.ABC/Expr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_002b .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 XYZ.ABC/Expr::item - IL_0021: ldloc.3 - IL_0022: ldfld int32 XYZ.ABC/Expr::item - IL_0027: ceq - IL_0029: ret + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 XYZ.ABC/Expr::item + IL_0022: ldloc.3 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: ceq + IL_002a: ret .line 100001,100001 : 0,0 '' - IL_002a: ldc.i4.0 - IL_002b: ret + IL_002b: ldc.i4.0 + IL_002c: ret .line 100001,100001 : 0,0 '' - IL_002c: ldarg.1 - IL_002d: ldnull - IL_002e: cgt.un - IL_0030: ldc.i4.0 - IL_0031: ceq - IL_0033: ret + IL_002d: ldarg.1 + IL_002e: ldnull + IL_002f: cgt.un + IL_0031: ldc.i4.0 + IL_0032: ceq + IL_0034: ret } // end of method Expr::Equals .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 4 .locals init ([0] class XYZ.ABC/Expr V_0, [1] class XYZ.ABC/Expr V_1) + .line 13,13 : 14,18 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0023 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0021 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 XYZ.ABC/Expr::item - IL_0018: ldloc.1 - IL_0019: ldfld int32 XYZ.ABC/Expr::item - IL_001e: ceq - IL_0020: ret + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: ldloc.0 + IL_0014: ldfld int32 XYZ.ABC/Expr::item + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: ceq + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldc.i4.0 - IL_0022: ret + IL_0022: ldc.i4.0 + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldarg.1 - IL_0024: ldnull - IL_0025: cgt.un - IL_0027: ldc.i4.0 - IL_0028: ceq - IL_002a: ret + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret } // end of method Expr::Equals .method public hidebysig virtual final @@ -1252,6 +1290,7 @@ IL_0000: ldarg.1 IL_0001: isinst XYZ.ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -1341,41 +1380,43 @@ GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 40 (0x28) + // Code size 41 (0x29) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1) + .line 14,14 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: castclass XYZ.ABC/MyExn - IL_0015: call instance int32 XYZ.ABC/MyExn::get_Data0() - IL_001a: ldloc.0 - IL_001b: ldc.i4.6 - IL_001c: shl - IL_001d: ldloc.0 - IL_001e: ldc.i4.2 - IL_001f: shr - IL_0020: add + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: castclass XYZ.ABC/MyExn + IL_0016: call instance int32 XYZ.ABC/MyExn::get_Data0() + 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: stloc.0 - IL_0024: ldloc.0 - IL_0025: ret + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldc.i4.0 - IL_0027: ret + IL_0027: ldc.i4.0 + IL_0028: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance int32 @@ -1396,112 +1437,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 14,14 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst [mscorlib]System.Exception - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0039 + IL_0007: ldarg.1 + IL_0008: isinst [mscorlib]System.Exception + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0018: brtrue.s IL_001c + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0019: brtrue.s IL_001d - IL_001a: br.s IL_0037 + IL_001b: br.s IL_0038 .line 100001,100001 : 0,0 '' - IL_001c: ldarg.2 - IL_001d: stloc.2 - 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_001d: ldarg.2 + IL_001e: stloc.2 + IL_001f: ldarg.0 + IL_0020: castclass XYZ.ABC/MyExn + IL_0025: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_002a: ldloc.1 + IL_002b: castclass XYZ.ABC/MyExn + IL_0030: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0035: ceq + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldarg.1 - IL_003c: ldnull - IL_003d: cgt.un - IL_003f: ldc.i4.0 - IL_0040: ceq - IL_0042: ret + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret } // end of method MyExn::Equals .method public hidebysig instance bool Equals(class [mscorlib]System.Exception obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 8 + .line 14,14 : 19,24 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.1 - IL_000d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0012: brtrue.s IL_0016 + IL_000d: ldarg.1 + IL_000e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0013: brtrue.s IL_0017 - IL_0014: br.s IL_002f + IL_0015: br.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0016: ldarg.0 - IL_0017: castclass XYZ.ABC/MyExn - IL_001c: call instance int32 XYZ.ABC/MyExn::get_Data0() - IL_0021: ldarg.1 - IL_0022: castclass XYZ.ABC/MyExn - IL_0027: call instance int32 XYZ.ABC/MyExn::get_Data0() - IL_002c: ceq - IL_002e: ret + IL_0017: ldarg.0 + IL_0018: castclass XYZ.ABC/MyExn + IL_001d: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0022: ldarg.1 + IL_0023: castclass XYZ.ABC/MyExn + IL_0028: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method MyExn::Equals .method public hidebysig virtual instance bool @@ -1515,6 +1562,7 @@ IL_0000: ldarg.1 IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -1681,72 +1729,75 @@ instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 4 .locals init ([0] class XYZ.ABC/ABC/Expr V_0, [1] class XYZ.ABC/ABC/Expr V_1, [2] class [mscorlib]System.Collections.IComparer V_2, [3] int32 V_3, [4] int32 V_4) + .line 23,23 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0036 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0037 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0034 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0035 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.2 - IL_0018: ldloc.0 - IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_001e: stloc.3 - IL_001f: ldloc.1 - IL_0020: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.s V_4 - IL_002a: bge.s IL_002e + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.2 + IL_0019: ldloc.0 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.3 + IL_0020: ldloc.1 + IL_0021: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0026: stloc.s V_4 + .line 100001,100001 : 0,0 '' + IL_0028: ldloc.3 + IL_0029: ldloc.s V_4 + IL_002b: bge.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldloc.3 - IL_002f: ldloc.s V_4 - IL_0031: cgt - IL_0033: ret + IL_002f: ldloc.3 + IL_0030: ldloc.s V_4 + IL_0032: cgt + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldc.i4.1 - IL_0035: ret + IL_0035: ldc.i4.1 + IL_0036: ret .line 100001,100001 : 0,0 '' - IL_0036: ldarg.1 - IL_0037: ldnull - IL_0038: cgt.un - IL_003a: brfalse.s IL_003e + IL_0037: ldarg.1 + IL_0038: ldnull + IL_0039: cgt.un + IL_003b: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_003c: ldc.i4.m1 - IL_003d: ret + IL_003d: ldc.i4.m1 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method Expr::CompareTo .method public hidebysig virtual final @@ -1780,6 +1831,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any XYZ.ABC/ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -1808,6 +1860,7 @@ IL_0028: ldloc.2 IL_0029: ldfld int32 XYZ.ABC/ABC/Expr::item IL_002e: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_0030: ldloc.s V_4 IL_0032: ldloc.s V_5 IL_0034: bge.s IL_0038 @@ -1846,48 +1899,51 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 7 .locals init ([0] int32 V_0, [1] class XYZ.ABC/ABC/Expr V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 23,23 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 XYZ.ABC/ABC/Expr::item - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloc.0 - IL_0026: ret + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: ret .line 100001,100001 : 0,0 '' - IL_0027: ldc.i4.0 - IL_0028: ret + IL_0028: ldc.i4.0 + IL_0029: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final @@ -1908,104 +1964,110 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 52 (0x34) + // Code size 53 (0x35) .maxstack 4 .locals init ([0] class XYZ.ABC/ABC/Expr V_0, [1] class XYZ.ABC/ABC/Expr V_1, [2] class XYZ.ABC/ABC/Expr V_2, [3] class XYZ.ABC/ABC/Expr V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4) + .line 23,23 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002c + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002d .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst XYZ.ABC/ABC/Expr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002a + IL_0007: ldarg.1 + IL_0008: isinst XYZ.ABC/ABC/Expr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_002b .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_0021: ldloc.3 - IL_0022: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_0027: ceq - IL_0029: ret + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0022: ldloc.3 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: ceq + IL_002a: ret .line 100001,100001 : 0,0 '' - IL_002a: ldc.i4.0 - IL_002b: ret + IL_002b: ldc.i4.0 + IL_002c: ret .line 100001,100001 : 0,0 '' - IL_002c: ldarg.1 - IL_002d: ldnull - IL_002e: cgt.un - IL_0030: ldc.i4.0 - IL_0031: ceq - IL_0033: ret + IL_002d: ldarg.1 + IL_002e: ldnull + IL_002f: cgt.un + IL_0031: ldc.i4.0 + IL_0032: ceq + IL_0034: ret } // end of method Expr::Equals .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 4 .locals init ([0] class XYZ.ABC/ABC/Expr V_0, [1] class XYZ.ABC/ABC/Expr V_1) + .line 23,23 : 18,22 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0023 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0024 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0021 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_0018: ldloc.1 - IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item - IL_001e: ceq - IL_0020: ret + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: ldloc.0 + IL_0014: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: ceq + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldc.i4.0 - IL_0022: ret + IL_0022: ldc.i4.0 + IL_0023: ret .line 100001,100001 : 0,0 '' - IL_0023: ldarg.1 - IL_0024: ldnull - IL_0025: cgt.un - IL_0027: ldc.i4.0 - IL_0028: ceq - IL_002a: ret + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret } // end of method Expr::Equals .method public hidebysig virtual final @@ -2019,6 +2081,7 @@ IL_0000: ldarg.1 IL_0001: isinst XYZ.ABC/ABC/Expr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -2108,41 +2171,43 @@ GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 40 (0x28) + // Code size 41 (0x29) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1) + .line 24,24 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: castclass XYZ.ABC/ABC/MyExn - IL_0015: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() - IL_001a: ldloc.0 - IL_001b: ldc.i4.6 - IL_001c: shl - IL_001d: ldloc.0 - IL_001e: ldc.i4.2 - IL_001f: shr - IL_0020: add + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: castclass XYZ.ABC/ABC/MyExn + IL_0016: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + 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: stloc.0 - IL_0024: ldloc.0 - IL_0025: ret + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldc.i4.0 - IL_0027: ret + IL_0027: ldc.i4.0 + IL_0028: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance int32 @@ -2163,112 +2228,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 67 (0x43) + // Code size 68 (0x44) .maxstack 4 .locals init ([0] class [mscorlib]System.Exception V_0, [1] class [mscorlib]System.Exception V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) + .line 24,24 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003b + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003c .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst [mscorlib]System.Exception - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0039 + IL_0007: ldarg.1 + IL_0008: isinst [mscorlib]System.Exception + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0018: brtrue.s IL_001c + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0019: brtrue.s IL_001d - IL_001a: br.s IL_0037 + IL_001b: br.s IL_0038 .line 100001,100001 : 0,0 '' - IL_001c: ldarg.2 - IL_001d: stloc.2 - 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_001d: ldarg.2 + IL_001e: stloc.2 + IL_001f: ldarg.0 + IL_0020: castclass XYZ.ABC/ABC/MyExn + IL_0025: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_002a: ldloc.1 + IL_002b: castclass XYZ.ABC/ABC/MyExn + IL_0030: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0035: ceq + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 100001,100001 : 0,0 '' - IL_003b: ldarg.1 - IL_003c: ldnull - IL_003d: cgt.un - IL_003f: ldc.i4.0 - IL_0040: ceq - IL_0042: ret + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret } // end of method MyExn::Equals .method public hidebysig instance bool Equals(class [mscorlib]System.Exception obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 8 + .line 24,24 : 23,28 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.1 - IL_000d: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) - IL_0012: brtrue.s IL_0016 + IL_000d: ldarg.1 + IL_000e: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::TypeTestGeneric(object) + IL_0013: brtrue.s IL_0017 - IL_0014: br.s IL_002f + IL_0015: br.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0016: ldarg.0 - IL_0017: castclass XYZ.ABC/ABC/MyExn - IL_001c: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() - IL_0021: ldarg.1 - IL_0022: castclass XYZ.ABC/ABC/MyExn - IL_0027: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() - IL_002c: ceq - IL_002e: ret + IL_0017: ldarg.0 + IL_0018: castclass XYZ.ABC/ABC/MyExn + IL_001d: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0022: ldarg.1 + IL_0023: castclass XYZ.ABC/ABC/MyExn + IL_0028: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method MyExn::Equals .method public hidebysig virtual instance bool @@ -2282,6 +2353,7 @@ IL_0000: ldarg.1 IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Class01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Class01.il.bsl index aa250d3a1d..d65cdab3db 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Class01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Class01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000338 Length: 0x000000AD } .module StaticInit_Class01.dll -// MVID: {60B68B90-EC34-E66E-A745-0383908BB660} +// MVID: {611C4D99-EC34-E66E-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06F70000 +// Image base: 0x06F20000 // =============== CLASS MEMBERS DECLARATION =================== @@ -75,28 +75,30 @@ .method assembly static int32 f() cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 37 (0x25) + // Code size 38 (0x26) .maxstack 8 .line 7,7 : 23,37 '' - IL_0000: volatile. - IL_0002: ldsfld int32 StaticInit_ClassS01/C::init@4 - IL_0007: ldc.i4.1 - IL_0008: bge.s IL_0013 - + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_000f: nop + IL_0001: volatile. + IL_0003: ldsfld int32 StaticInit_ClassS01/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + .line 100001,100001 : 0,0 '' + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() IL_0010: nop - IL_0011: br.s IL_0014 + .line 100001,100001 : 0,0 '' + IL_0011: nop + IL_0012: br.s IL_0015 .line 100001,100001 : 0,0 '' - IL_0013: nop - IL_0014: ldsfld int32 StaticInit_ClassS01/C::x - IL_0019: ldstr "2" - IL_001e: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_0023: add - IL_0024: ret + IL_0014: nop + IL_0015: ldsfld int32 StaticInit_ClassS01/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_0024: add + IL_0025: ret } // end of method C::f .method private specialname rtspecialname static diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Struct01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Struct01.il.bsl index a0fdade385..589b435e0d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Struct01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Struct01.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x000007A8 Length: 0x0000021F } .module StaticInit_Struct01.dll -// MVID: {60B68B90-05F6-D6CB-A745-0383908BB660} +// MVID: {611C52B1-05F6-D6CB-A745-0383B1521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05BE0000 +// Image base: 0x06550000 // =============== CLASS MEMBERS DECLARATION =================== @@ -229,28 +229,30 @@ .method assembly static int32 f() cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 37 (0x25) + // Code size 38 (0x26) .maxstack 8 .line 7,7 : 23,37 '' - IL_0000: volatile. - IL_0002: ldsfld int32 StaticInit_Struct01/C::init@4 - IL_0007: ldc.i4.1 - IL_0008: bge.s IL_0013 - + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_000f: nop + IL_0001: volatile. + IL_0003: ldsfld int32 StaticInit_Struct01/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + .line 100001,100001 : 0,0 '' + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() IL_0010: nop - IL_0011: br.s IL_0014 + .line 100001,100001 : 0,0 '' + IL_0011: nop + IL_0012: br.s IL_0015 .line 100001,100001 : 0,0 '' - IL_0013: nop - IL_0014: ldsfld int32 StaticInit_Struct01/C::x - IL_0019: ldstr "2" - IL_001e: callvirt instance int32 [mscorlib]System.String::get_Length() - IL_0023: add - IL_0024: ret + IL_0014: nop + IL_0015: ldsfld int32 StaticInit_Struct01/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [mscorlib]System.String::get_Length() + IL_0024: add + IL_0025: ret } // end of method C::f .method public hidebysig virtual final diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch01.il.bsl index c3bb349428..090ace0a0d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000218 Length: 0x0000007A } .module SteppingMatch01.dll -// MVID: {60B68B90-ABFD-13F6-A745-0383908BB660} +// MVID: {611C4D99-ABFD-13F6-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06940000 +// Image base: 0x05320000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,12 +62,14 @@ .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch01.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,0 '' IL_0002: ldloc.0 IL_0003: isinst class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice1Of2 IL_0008: brfalse.s IL_000c IL_000a: br.s IL_001e + .line 100001,100001 : 0,0 '' IL_000c: ldloc.0 IL_000d: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice2Of2 IL_0012: stloc.1 @@ -76,7 +78,7 @@ IL_0018: call void [mscorlib]System.Console::WriteLine(string) IL_001d: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_001e: ldloc.0 IL_001f: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice1Of2 IL_0024: stloc.2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch02.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch02.il.bsl index 21138ae19a..d29ae57f65 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch02.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch02.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000218 Length: 0x0000007A } .module SteppingMatch02.dll -// MVID: {60B68B90-CAC2-C63D-A745-0383908BB660} +// MVID: {611C4D99-CAC2-C63D-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05330000 +// Image base: 0x06CD0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,12 +62,14 @@ .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch02.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,0 '' IL_0002: ldloc.0 IL_0003: isinst class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice2Of2 IL_0008: brfalse.s IL_000c IL_000a: br.s IL_001e + .line 100001,100001 : 0,0 '' IL_000c: ldloc.0 IL_000d: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice1Of2 IL_0012: stloc.1 @@ -76,7 +78,7 @@ IL_0018: call void [mscorlib]System.Console::WriteLine(string) IL_001d: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_001e: ldloc.0 IL_001f: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`2/Choice2Of2 IL_0024: stloc.2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch03.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch03.il.bsl index 2413a566d8..224265a398 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch03.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch03.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000230 Length: 0x0000007A } .module SteppingMatch03.dll -// MVID: {60B68B90-4E87-D110-A745-0383908BB660} +// MVID: {611C4D99-4E87-D110-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07380000 +// Image base: 0x06F80000 // =============== CLASS MEMBERS DECLARATION =================== @@ -64,6 +64,7 @@ .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch03.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,0 '' IL_0002: ldloc.0 IL_0003: stloc.1 IL_0004: ldloc.1 @@ -74,6 +75,7 @@ IL_000d: isinst class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice3Of3 IL_0012: brtrue.s IL_0038 + .line 100001,100001 : 0,0 '' IL_0014: ldloc.0 IL_0015: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice1Of3 IL_001a: stloc.2 @@ -82,7 +84,7 @@ IL_0020: call void [mscorlib]System.Console::WriteLine(string) IL_0025: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0026: ldloc.0 IL_0027: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice2Of3 IL_002c: stloc.3 @@ -91,7 +93,7 @@ IL_0032: call void [mscorlib]System.Console::WriteLine(string) IL_0037: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0038: ldloc.0 IL_0039: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice3Of3 IL_003e: stloc.s V_4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch04.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch04.il.bsl index df2a0c2380..b1afa2fc79 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch04.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch04.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000230 Length: 0x0000007B } .module SteppingMatch04.dll -// MVID: {60B68B90-6D4C-8357-A745-0383908BB660} +// MVID: {611C4D99-6D4C-8357-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x073C0000 +// Image base: 0x06E30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -64,6 +64,7 @@ .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch04.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,0 '' IL_0002: ldloc.0 IL_0003: stloc.1 IL_0004: ldloc.1 @@ -74,6 +75,7 @@ IL_000d: isinst class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice1Of3 IL_0012: brtrue.s IL_0038 + .line 100001,100001 : 0,0 '' IL_0014: ldloc.0 IL_0015: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice2Of3 IL_001a: stloc.2 @@ -82,7 +84,7 @@ IL_0020: call void [mscorlib]System.Console::WriteLine(string) IL_0025: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0026: ldloc.0 IL_0027: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice3Of3 IL_002c: stloc.3 @@ -91,7 +93,7 @@ IL_0032: call void [mscorlib]System.Console::WriteLine(string) IL_0037: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0038: ldloc.0 IL_0039: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice1Of3 IL_003e: stloc.s V_4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch05.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch05.il.bsl index 6f851d8245..948bd3d9f9 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch05.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch05.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000230 Length: 0x0000007B } .module SteppingMatch05.dll -// MVID: {60B68B90-30E9-4ADA-A745-0383908BB660} +// MVID: {611C4D99-30E9-4ADA-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x072E0000 +// Image base: 0x064D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -64,6 +64,7 @@ .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch05.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,0 '' IL_0002: ldloc.0 IL_0003: stloc.1 IL_0004: ldloc.1 @@ -74,6 +75,7 @@ IL_000d: isinst class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice1Of3 IL_0012: brtrue.s IL_0038 + .line 100001,100001 : 0,0 '' IL_0014: ldloc.0 IL_0015: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice3Of3 IL_001a: stloc.2 @@ -82,7 +84,7 @@ IL_0020: call void [mscorlib]System.Console::WriteLine(string) IL_0025: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0026: ldloc.0 IL_0027: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice2Of3 IL_002c: stloc.3 @@ -91,7 +93,7 @@ IL_0032: call void [mscorlib]System.Console::WriteLine(string) IL_0037: ret - .line 5,5 : 9,21 '' + .line 100001,100001 : 0,0 '' IL_0038: ldloc.0 IL_0039: castclass class [FSharp.Core]Microsoft.FSharp.Core.FSharpChoice`3/Choice1Of3 IL_003e: stloc.s V_4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl index da1fa20a67..9a549b41ea 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000680 Length: 0x000001D9 } .module SteppingMatch06.dll -// MVID: {60B68B90-4FAE-FD21-A745-0383908BB660} +// MVID: {611C4D99-4FAE-FD21-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05BB0000 +// Image base: 0x05850000 // =============== CLASS MEMBERS DECLARATION =================== @@ -205,61 +205,64 @@ instance int32 CompareTo(class SteppingMatch06/Discr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 48 (0x30) + // Code size 49 (0x31) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch06.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + .line 4,4 : 6,11 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch06.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0024 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0025 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 SteppingMatch06/Discr::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 SteppingMatch06/Discr::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: bne.un.s IL_0020 + IL_000d: ldarg.0 + IL_000e: ldfld int32 SteppingMatch06/Discr::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 SteppingMatch06/Discr::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: bne.un.s IL_0021 .line 100001,100001 : 0,0 '' - IL_001e: ldc.i4.0 - IL_001f: ret + IL_001f: ldc.i4.0 + IL_0020: ret .line 100001,100001 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldloc.1 - IL_0022: sub - IL_0023: ret + IL_0021: ldloc.0 + IL_0022: ldloc.1 + IL_0023: sub + IL_0024: ret .line 100001,100001 : 0,0 '' - IL_0024: ldc.i4.1 - IL_0025: ret + IL_0025: ldc.i4.1 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldarg.1 - IL_0027: ldnull - IL_0028: cgt.un - IL_002a: brfalse.s IL_002e + IL_0027: ldarg.1 + IL_0028: ldnull + IL_0029: cgt.un + IL_002b: brfalse.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldc.i4.0 - IL_002f: ret + IL_002f: ldc.i4.0 + IL_0030: ret } // end of method Discr::CompareTo .method public hidebysig virtual final @@ -290,6 +293,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any SteppingMatch06/Discr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -309,6 +313,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 SteppingMatch06/Discr::_tag IL_0025: stloc.2 + .line 100001,100001 : 0,0 '' IL_0026: ldloc.1 IL_0027: ldloc.2 IL_0028: bne.un.s IL_002c @@ -347,25 +352,27 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 17 (0x11) + // Code size 18 (0x12) .maxstack 3 .locals init ([0] int32 V_0) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_000f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0010 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: ldfld int32 SteppingMatch06/Discr::_tag - IL_000e: ret + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldarg.0 + IL_000a: ldfld int32 SteppingMatch06/Discr::_tag + IL_000f: ret .line 100001,100001 : 0,0 '' - IL_000f: ldc.i4.0 - IL_0010: ret + IL_0010: ldc.i4.0 + IL_0011: ret } // end of method Discr::GetHashCode .method public hidebysig virtual final @@ -386,95 +393,102 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 47 (0x2f) + // Code size 48 (0x30) .maxstack 4 .locals init ([0] class SteppingMatch06/Discr V_0, [1] class SteppingMatch06/Discr V_1, [2] int32 V_2, [3] int32 V_3) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 - - .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst SteppingMatch06/Discr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0025 - - .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 SteppingMatch06/Discr::_tag - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld int32 SteppingMatch06/Discr::_tag - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: ceq - IL_0024: ret + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0025: ldc.i4.0 - IL_0026: ret + IL_0007: ldarg.1 + IL_0008: isinst SteppingMatch06/Discr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0026 .line 100001,100001 : 0,0 '' - IL_0027: ldarg.1 - IL_0028: ldnull - IL_0029: cgt.un - IL_002b: ldc.i4.0 - IL_002c: ceq - IL_002e: ret + IL_0011: ldloc.0 + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 SteppingMatch06/Discr::_tag + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld int32 SteppingMatch06/Discr::_tag + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: ceq + IL_0025: ret + + .line 100001,100001 : 0,0 '' + IL_0026: ldc.i4.0 + IL_0027: ret + + .line 100001,100001 : 0,0 '' + IL_0028: ldarg.1 + IL_0029: ldnull + IL_002a: cgt.un + IL_002c: ldc.i4.0 + IL_002d: ceq + IL_002f: ret } // end of method Discr::Equals .method public hidebysig virtual final instance bool Equals(class SteppingMatch06/Discr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0021 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_001f + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0020 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 SteppingMatch06/Discr::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 SteppingMatch06/Discr::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: ceq - IL_001e: ret + IL_000d: ldarg.0 + IL_000e: ldfld int32 SteppingMatch06/Discr::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 SteppingMatch06/Discr::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: ceq + IL_001f: ret .line 100001,100001 : 0,0 '' - IL_001f: ldc.i4.0 - IL_0020: ret + IL_0020: ldc.i4.0 + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldarg.1 - IL_0022: ldnull - IL_0023: cgt.un - IL_0025: ldc.i4.0 - IL_0026: ceq - IL_0028: ret + IL_0022: ldarg.1 + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: ldc.i4.0 + IL_0027: ceq + IL_0029: ret } // end of method Discr::Equals .method public hidebysig virtual final @@ -488,6 +502,7 @@ IL_0000: ldarg.1 IL_0001: isinst SteppingMatch06/Discr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -543,25 +558,27 @@ .method public static void funcD(class SteppingMatch06/Discr n) cil managed { - // Code size 33 (0x21) + // Code size 34 (0x22) .maxstack 8 .line 6,6 : 9,21 '' - IL_0000: ldarg.0 - IL_0001: call instance int32 SteppingMatch06/Discr::get_Tag() - IL_0006: ldc.i4.0 - IL_0007: bne.un.s IL_000b + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: call instance int32 SteppingMatch06/Discr::get_Tag() + IL_0007: ldc.i4.0 + IL_0008: bne.un.s IL_000c - IL_0009: br.s IL_0016 + IL_000a: br.s IL_0017 .line 8,8 : 13,35 '' - IL_000b: ldstr "B" - IL_0010: call void [mscorlib]System.Console::WriteLine(string) - IL_0015: ret + IL_000c: ldstr "B" + IL_0011: call void [mscorlib]System.Console::WriteLine(string) + IL_0016: ret .line 10,10 : 13,35 '' - IL_0016: ldstr "A" - IL_001b: call void [mscorlib]System.Console::WriteLine(string) - IL_0020: ret + IL_0017: ldstr "A" + IL_001c: call void [mscorlib]System.Console::WriteLine(string) + IL_0021: ret } // end of method SteppingMatch06::funcD } // end of class SteppingMatch06 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl index d91371610a..76a3997425 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000680 Length: 0x000001D9 } .module SteppingMatch07.dll -// MVID: {60B68B90-D373-07F3-A745-0383908BB660} +// MVID: {611C4D99-D373-07F3-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07270000 +// Image base: 0x06780000 // =============== CLASS MEMBERS DECLARATION =================== @@ -205,61 +205,64 @@ instance int32 CompareTo(class SteppingMatch07/Discr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 48 (0x30) + // Code size 49 (0x31) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch07.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0026 + .line 4,4 : 6,11 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch07.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0027 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0024 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0025 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 SteppingMatch07/Discr::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 SteppingMatch07/Discr::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: bne.un.s IL_0020 + IL_000d: ldarg.0 + IL_000e: ldfld int32 SteppingMatch07/Discr::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 SteppingMatch07/Discr::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: bne.un.s IL_0021 .line 100001,100001 : 0,0 '' - IL_001e: ldc.i4.0 - IL_001f: ret + IL_001f: ldc.i4.0 + IL_0020: ret .line 100001,100001 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldloc.1 - IL_0022: sub - IL_0023: ret + IL_0021: ldloc.0 + IL_0022: ldloc.1 + IL_0023: sub + IL_0024: ret .line 100001,100001 : 0,0 '' - IL_0024: ldc.i4.1 - IL_0025: ret + IL_0025: ldc.i4.1 + IL_0026: ret .line 100001,100001 : 0,0 '' - IL_0026: ldarg.1 - IL_0027: ldnull - IL_0028: cgt.un - IL_002a: brfalse.s IL_002e + IL_0027: ldarg.1 + IL_0028: ldnull + IL_0029: cgt.un + IL_002b: brfalse.s IL_002f .line 100001,100001 : 0,0 '' - IL_002c: ldc.i4.m1 - IL_002d: ret + IL_002d: ldc.i4.m1 + IL_002e: ret .line 100001,100001 : 0,0 '' - IL_002e: ldc.i4.0 - IL_002f: ret + IL_002f: ldc.i4.0 + IL_0030: ret } // end of method Discr::CompareTo .method public hidebysig virtual final @@ -290,6 +293,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any SteppingMatch07/Discr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -309,6 +313,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 SteppingMatch07/Discr::_tag IL_0025: stloc.2 + .line 100001,100001 : 0,0 '' IL_0026: ldloc.1 IL_0027: ldloc.2 IL_0028: bne.un.s IL_002c @@ -347,25 +352,27 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 17 (0x11) + // Code size 18 (0x12) .maxstack 3 .locals init ([0] int32 V_0) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_000f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0010 .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: ldfld int32 SteppingMatch07/Discr::_tag - IL_000e: ret + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldarg.0 + IL_000a: ldfld int32 SteppingMatch07/Discr::_tag + IL_000f: ret .line 100001,100001 : 0,0 '' - IL_000f: ldc.i4.0 - IL_0010: ret + IL_0010: ldc.i4.0 + IL_0011: ret } // end of method Discr::GetHashCode .method public hidebysig virtual final @@ -386,95 +393,102 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 47 (0x2f) + // Code size 48 (0x30) .maxstack 4 .locals init ([0] class SteppingMatch07/Discr V_0, [1] class SteppingMatch07/Discr V_1, [2] int32 V_2, [3] int32 V_3) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0027 - - .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst SteppingMatch07/Discr - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0025 - - .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 SteppingMatch07/Discr::_tag - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld int32 SteppingMatch07/Discr::_tag - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: ceq - IL_0024: ret + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0028 .line 100001,100001 : 0,0 '' - IL_0025: ldc.i4.0 - IL_0026: ret + IL_0007: ldarg.1 + IL_0008: isinst SteppingMatch07/Discr + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0026 .line 100001,100001 : 0,0 '' - IL_0027: ldarg.1 - IL_0028: ldnull - IL_0029: cgt.un - IL_002b: ldc.i4.0 - IL_002c: ceq - IL_002e: ret + IL_0011: ldloc.0 + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 SteppingMatch07/Discr::_tag + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld int32 SteppingMatch07/Discr::_tag + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: ceq + IL_0025: ret + + .line 100001,100001 : 0,0 '' + IL_0026: ldc.i4.0 + IL_0027: ret + + .line 100001,100001 : 0,0 '' + IL_0028: ldarg.1 + IL_0029: ldnull + IL_002a: cgt.un + IL_002c: ldc.i4.0 + IL_002d: ceq + IL_002f: ret } // end of method Discr::Equals .method public hidebysig virtual final instance bool Equals(class SteppingMatch07/Discr obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 41 (0x29) + // Code size 42 (0x2a) .maxstack 4 .locals init ([0] int32 V_0, [1] int32 V_1) + .line 4,4 : 6,11 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0021 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0022 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_001f + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0020 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 SteppingMatch07/Discr::_tag - IL_0012: stloc.0 - IL_0013: ldarg.1 - IL_0014: ldfld int32 SteppingMatch07/Discr::_tag - IL_0019: stloc.1 - IL_001a: ldloc.0 - IL_001b: ldloc.1 - IL_001c: ceq - IL_001e: ret + IL_000d: ldarg.0 + IL_000e: ldfld int32 SteppingMatch07/Discr::_tag + IL_0013: stloc.0 + IL_0014: ldarg.1 + IL_0015: ldfld int32 SteppingMatch07/Discr::_tag + IL_001a: stloc.1 + .line 100001,100001 : 0,0 '' + IL_001b: ldloc.0 + IL_001c: ldloc.1 + IL_001d: ceq + IL_001f: ret .line 100001,100001 : 0,0 '' - IL_001f: ldc.i4.0 - IL_0020: ret + IL_0020: ldc.i4.0 + IL_0021: ret .line 100001,100001 : 0,0 '' - IL_0021: ldarg.1 - IL_0022: ldnull - IL_0023: cgt.un - IL_0025: ldc.i4.0 - IL_0026: ceq - IL_0028: ret + IL_0022: ldarg.1 + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: ldc.i4.0 + IL_0027: ceq + IL_0029: ret } // end of method Discr::Equals .method public hidebysig virtual final @@ -488,6 +502,7 @@ IL_0000: ldarg.1 IL_0001: isinst SteppingMatch07/Discr IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -543,25 +558,27 @@ .method public static void funcE(class SteppingMatch07/Discr n) cil managed { - // Code size 33 (0x21) + // Code size 34 (0x22) .maxstack 8 .line 6,6 : 9,21 '' - IL_0000: ldarg.0 - IL_0001: call instance int32 SteppingMatch07/Discr::get_Tag() - IL_0006: ldc.i4.1 - IL_0007: bne.un.s IL_000b + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: call instance int32 SteppingMatch07/Discr::get_Tag() + IL_0007: ldc.i4.1 + IL_0008: bne.un.s IL_000c - IL_0009: br.s IL_0016 + IL_000a: br.s IL_0017 .line 8,8 : 13,35 '' - IL_000b: ldstr "A" - IL_0010: call void [mscorlib]System.Console::WriteLine(string) - IL_0015: ret + IL_000c: ldstr "A" + IL_0011: call void [mscorlib]System.Console::WriteLine(string) + IL_0016: ret .line 10,10 : 13,35 '' - IL_0016: ldstr "B" - IL_001b: call void [mscorlib]System.Console::WriteLine(string) - IL_0020: ret + IL_0017: ldstr "B" + IL_001c: call void [mscorlib]System.Console::WriteLine(string) + IL_0021: ret } // end of method SteppingMatch07::funcE } // end of class SteppingMatch07 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch08.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch08.il.bsl index 76a265460b..53a1dcd156 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch08.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch08.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001E0 Length: 0x00000079 } .module SteppingMatch08.dll -// MVID: {60B68B90-F238-BA3A-A745-0383908BB660} +// MVID: {611C4D99-F238-BA3A-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00E20000 +// Image base: 0x05A00000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,30 +53,32 @@ .custom 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 test(int32 x) cil managed { - // Code size 20 (0x14) + // Code size 21 (0x15) .maxstack 3 .locals init ([0] int32 b) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 5,5 : 9,21 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\SteppingMatch\\SteppingMatch08.fs' - IL_0000: ldarg.0 - IL_0001: switch ( - IL_000c) - IL_000a: br.s IL_0010 + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: switch ( + IL_000d) + IL_000b: br.s IL_0011 .line 6,6 : 16,17 '' - IL_000c: ldc.i4.2 + IL_000d: ldc.i4.2 .line 100001,100001 : 0,0 '' - IL_000d: nop - IL_000e: br.s IL_0012 + IL_000e: nop + IL_000f: br.s IL_0013 .line 7,7 : 18,19 '' - IL_0010: ldc.i4.0 + IL_0011: ldc.i4.0 .line 100001,100001 : 0,0 '' - IL_0011: nop + IL_0012: nop .line 100001,100001 : 0,0 '' - IL_0012: stloc.0 + IL_0013: stloc.0 .line 10,10 : 5,38 '' - IL_0013: ret + IL_0014: ret } // end of method SteppingMatch08::test } // end of class SteppingMatch08 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch09.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch09.il.bsl index 3d11c8b1b6..0a66e66438 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch09.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch09.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000310 Length: 0x000000EB } .module SteppingMatch09.dll -// MVID: {60B68B90-4935-D6AC-A745-0383908BB660} +// MVID: {611C4D99-4935-D6AC-A745-0383994D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A70000 +// Image base: 0x07080000 // =============== CLASS MEMBERS DECLARATION =================== @@ -121,7 +121,7 @@ .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed { - // Code size 19 (0x13) + // Code size 20 (0x14) .maxstack 6 .locals init ([0] class SteppingMatch09/GenericInner@15 V_0) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' @@ -129,17 +129,19 @@ IL_0000: ldarg.0 IL_0001: ldfld class SteppingMatch09/GenericInner@15 class SteppingMatch09/GenericInner@15T::self0@ IL_0006: stloc.0 - IL_0007: ldarg.1 - IL_0008: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_000d: brtrue.s IL_0011 + IL_0007: nop + .line 100001,100001 : 0,0 '' + IL_0008: ldarg.1 + IL_0009: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_000e: brtrue.s IL_0012 .line 17,17 : 14,15 '' - IL_000f: ldc.i4.1 - IL_0010: ret + IL_0010: ldc.i4.1 + IL_0011: ret .line 18,18 : 13,14 '' - IL_0011: ldc.i4.2 - IL_0012: ret + IL_0012: ldc.i4.2 + IL_0013: ret } // end of method GenericInner@15T::Invoke } // end of class GenericInner@15T @@ -163,20 +165,22 @@ .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed { - // Code size 12 (0xc) + // Code size 13 (0xd) .maxstack 8 .line 25,25 : 6,21 '' - 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: brtrue.s IL_000a + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.1 + IL_0002: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0007: brtrue.s IL_000b .line 26,26 : 14,15 '' - IL_0008: ldc.i4.1 - IL_0009: ret + IL_0009: ldc.i4.1 + IL_000a: ret .line 27,27 : 13,14 '' - IL_000a: ldc.i4.2 - IL_000b: ret + IL_000b: ldc.i4.2 + IL_000c: ret } // end of method NonGenericInner@25::Invoke .method private specialname rtspecialname static @@ -213,21 +217,23 @@ .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed { - // Code size 17 (0x11) + // Code size 18 (0x12) .maxstack 8 .line 34,34 : 6,21 '' - 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: brtrue.s IL_000a + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.1 + IL_0002: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0007: brtrue.s IL_000b .line 35,35 : 14,15 '' - IL_0008: ldc.i4.1 - IL_0009: ret + IL_0009: ldc.i4.1 + IL_000a: ret .line 36,36 : 13,14 '' - IL_000a: ldarg.0 - IL_000b: ldfld int32 SteppingMatch09/NonGenericInnerWithCapture@34::x - IL_0010: ret + IL_000b: ldarg.0 + IL_000c: ldfld int32 SteppingMatch09/NonGenericInnerWithCapture@34::x + IL_0011: ret } // end of method NonGenericInnerWithCapture@34::Invoke } // end of class NonGenericInnerWithCapture@34 @@ -235,30 +241,32 @@ .method public static class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 funcA(int32 n) cil managed { - // Code size 36 (0x24) + // Code size 37 (0x25) .maxstack 8 .line 5,5 : 9,21 '' - IL_0000: ldarg.0 - IL_0001: ldc.i4.1 - IL_0002: sub - IL_0003: switch ( - IL_0012, - IL_001a) - IL_0010: br.s IL_001c + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldc.i4.1 + IL_0003: sub + IL_0004: switch ( + IL_0013, + IL_001b) + IL_0011: br.s IL_001d .line 7,7 : 13,21 '' - IL_0012: ldc.i4.s 10 - IL_0014: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) - IL_0019: ret + IL_0013: ldc.i4.s 10 + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_001a: ret .line 9,9 : 13,17 '' - IL_001a: ldnull - IL_001b: ret + IL_001b: ldnull + IL_001c: ret .line 11,11 : 20,34 '' - IL_001c: ldc.i4.s 22 - IL_001e: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) - IL_0023: ret + IL_001d: ldc.i4.s 22 + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0024: ret } // end of method SteppingMatch09::funcA .method public static int32 OuterWithGenericInner(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.bsl index 25a67922af..053da8e2bc 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000688 Length: 0x000001CD } .module TestFunction16.exe -// MVID: {60B68B97-A624-45C5-A745-0383978BB660} +// MVID: {611C52B3-A624-45C5-A745-0383B3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00E30000 +// Image base: 0x07120000 // =============== CLASS MEMBERS DECLARATION =================== @@ -174,7 +174,7 @@ instance int32 CompareTo(class TestFunction16/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 120 (0x78) + // Code size 121 (0x79) .maxstack 4 .locals init ([0] class TestFunction16/U V_0, [1] class TestFunction16/U V_1, @@ -186,109 +186,114 @@ [7] int32 V_7, [8] int32 V_8) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction16.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006e + .line 4,4 : 6,7 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction16.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006f .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006c + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006d .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 TestFunction16/U::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 TestFunction16/U::item1 + IL_0027: stloc.s V_5 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 TestFunction16/U::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 TestFunction16/U::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 100001,100001 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 100001,100001 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 100001,100001 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 100001,100001 : 0,0 '' - IL_0038: nop + IL_0039: nop + .line 100001,100001 : 0,0 '' + IL_003a: stloc.2 .line 100001,100001 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 100001,100001 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 100001,100001 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 100001,100001 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 100001,100001 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.s V_6 - IL_004d: ldloc.0 - IL_004e: ldfld int32 TestFunction16/U::item2 - IL_0053: stloc.s V_7 - IL_0055: ldloc.1 - IL_0056: ldfld int32 TestFunction16/U::item2 - IL_005b: stloc.s V_8 - IL_005d: ldloc.s V_7 - IL_005f: ldloc.s V_8 - IL_0061: bge.s IL_0065 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.s V_6 + IL_004e: ldloc.0 + IL_004f: ldfld int32 TestFunction16/U::item2 + IL_0054: stloc.s V_7 + IL_0056: ldloc.1 + IL_0057: ldfld int32 TestFunction16/U::item2 + IL_005c: stloc.s V_8 + .line 100001,100001 : 0,0 '' + IL_005e: ldloc.s V_7 + IL_0060: ldloc.s V_8 + IL_0062: bge.s IL_0066 .line 100001,100001 : 0,0 '' - IL_0063: ldc.i4.m1 - IL_0064: ret + IL_0064: ldc.i4.m1 + IL_0065: ret .line 100001,100001 : 0,0 '' - IL_0065: ldloc.s V_7 - IL_0067: ldloc.s V_8 - IL_0069: cgt - IL_006b: ret + IL_0066: ldloc.s V_7 + IL_0068: ldloc.s V_8 + IL_006a: cgt + IL_006c: ret .line 100001,100001 : 0,0 '' - IL_006c: ldc.i4.1 - IL_006d: ret + IL_006d: ldc.i4.1 + IL_006e: ret .line 100001,100001 : 0,0 '' - IL_006e: ldarg.1 - IL_006f: ldnull - IL_0070: cgt.un - IL_0072: brfalse.s IL_0076 + IL_006f: ldarg.1 + IL_0070: ldnull + IL_0071: cgt.un + IL_0073: brfalse.s IL_0077 .line 100001,100001 : 0,0 '' - IL_0074: ldc.i4.m1 - IL_0075: ret + IL_0075: ldc.i4.m1 + IL_0076: ret .line 100001,100001 : 0,0 '' - IL_0076: ldc.i4.0 - IL_0077: ret + IL_0077: ldc.i4.0 + IL_0078: ret } // end of method U::CompareTo .method public hidebysig virtual final @@ -326,6 +331,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any TestFunction16/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -354,6 +360,7 @@ IL_0029: ldloc.2 IL_002a: ldfld int32 TestFunction16/U::item1 IL_002f: stloc.s V_6 + .line 100001,100001 : 0,0 '' IL_0031: ldloc.s V_5 IL_0033: ldloc.s V_6 IL_0035: bge.s IL_003b @@ -372,6 +379,7 @@ IL_0041: nop .line 100001,100001 : 0,0 '' IL_0042: stloc.3 + .line 100001,100001 : 0,0 '' IL_0043: ldloc.3 IL_0044: ldc.i4.0 IL_0045: bge.s IL_0049 @@ -398,6 +406,7 @@ IL_005a: ldloc.2 IL_005b: ldfld int32 TestFunction16/U::item2 IL_0060: stloc.s V_9 + .line 100001,100001 : 0,0 '' IL_0062: ldloc.s V_8 IL_0064: ldloc.s V_9 IL_0066: bge.s IL_006a @@ -436,64 +445,67 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 7 .locals init ([0] int32 V_0, [1] class TestFunction16/U V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2, [3] class [mscorlib]System.Collections.IEqualityComparer V_3) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003e + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 TestFunction16/U::item2 - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 TestFunction16/U::item2 + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldc.i4 0x9e3779b9 - IL_002a: ldarg.1 - IL_002b: stloc.3 - IL_002c: ldloc.1 - IL_002d: ldfld int32 TestFunction16/U::item1 - IL_0032: ldloc.0 - IL_0033: ldc.i4.6 - IL_0034: shl - IL_0035: ldloc.0 - IL_0036: ldc.i4.2 - IL_0037: shr - IL_0038: add + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldc.i4 0x9e3779b9 + IL_002b: ldarg.1 + IL_002c: stloc.3 + IL_002d: ldloc.1 + IL_002e: ldfld int32 TestFunction16/U::item1 + IL_0033: ldloc.0 + IL_0034: ldc.i4.6 + IL_0035: shl + IL_0036: ldloc.0 + IL_0037: ldc.i4.2 + IL_0038: shr IL_0039: add IL_003a: add - IL_003b: stloc.0 - IL_003c: ldloc.0 - IL_003d: ret + IL_003b: add + IL_003c: stloc.0 + IL_003d: ldloc.0 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method U::GetHashCode .method public hidebysig virtual final @@ -514,7 +526,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 73 (0x49) + // Code size 74 (0x4a) .maxstack 4 .locals init ([0] class TestFunction16/U V_0, [1] class TestFunction16/U V_1, @@ -522,122 +534,130 @@ [3] class TestFunction16/U V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4, [5] class [mscorlib]System.Collections.IEqualityComparer V_5) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0041 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0042 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst TestFunction16/U - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_003f + IL_0007: ldarg.1 + IL_0008: isinst TestFunction16/U + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0040 .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 TestFunction16/U::item1 - IL_0021: ldloc.3 - IL_0022: ldfld int32 TestFunction16/U::item1 - IL_0027: ceq - IL_0029: brfalse.s IL_003d + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 TestFunction16/U::item1 + IL_0022: ldloc.3 + IL_0023: ldfld int32 TestFunction16/U::item1 + IL_0028: ceq + IL_002a: brfalse.s IL_003e .line 100001,100001 : 0,0 '' - IL_002b: ldarg.2 - IL_002c: stloc.s V_5 - IL_002e: ldloc.2 - IL_002f: ldfld int32 TestFunction16/U::item2 - IL_0034: ldloc.3 - IL_0035: ldfld int32 TestFunction16/U::item2 - IL_003a: ceq - IL_003c: ret + IL_002c: ldarg.2 + IL_002d: stloc.s V_5 + IL_002f: ldloc.2 + IL_0030: ldfld int32 TestFunction16/U::item2 + IL_0035: ldloc.3 + IL_0036: ldfld int32 TestFunction16/U::item2 + IL_003b: ceq + IL_003d: ret .line 100001,100001 : 0,0 '' - IL_003d: ldc.i4.0 - IL_003e: ret + IL_003e: ldc.i4.0 + IL_003f: ret .line 100001,100001 : 0,0 '' - IL_003f: ldc.i4.0 - IL_0040: ret + IL_0040: ldc.i4.0 + IL_0041: ret .line 100001,100001 : 0,0 '' - IL_0041: ldarg.1 - IL_0042: ldnull - IL_0043: cgt.un - IL_0045: ldc.i4.0 - IL_0046: ceq - IL_0048: ret + IL_0042: ldarg.1 + IL_0043: ldnull + IL_0044: cgt.un + IL_0046: ldc.i4.0 + IL_0047: ceq + IL_0049: ret } // end of method U::Equals .method public hidebysig virtual final instance bool Equals(class TestFunction16/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class TestFunction16/U V_0, [1] class TestFunction16/U V_1) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 TestFunction16/U::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 TestFunction16/U::item1 - IL_001e: bne.un.s IL_002f + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld int32 TestFunction16/U::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 TestFunction16/U::item1 + IL_001f: bne.un.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 TestFunction16/U::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 TestFunction16/U::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 TestFunction16/U::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 TestFunction16/U::item2 + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method U::Equals .method public hidebysig virtual final @@ -651,6 +671,7 @@ IL_0000: ldarg.1 IL_0001: isinst TestFunction16/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction17.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction17.il.bsl index 02a8fa3356..5b097b711f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction17.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction17.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000678 Length: 0x000001CD } .module TestFunction17.exe -// MVID: {60B68B97-A624-45A8-A745-0383978BB660} +// MVID: {611C52B3-A624-45A8-A745-0383B3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AA0000 +// Image base: 0x06B30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -119,7 +119,7 @@ instance int32 CompareTo(class TestFunction17/R obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 108 (0x6c) + // Code size 109 (0x6d) .maxstack 4 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IComparer V_1, @@ -129,102 +129,107 @@ [5] int32 V_5, [6] int32 V_6) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction17.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0062 + .line 4,4 : 6,7 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction17.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0063 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0060 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0061 .line 100001,100001 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 TestFunction17/R::x@ - IL_0018: stloc.2 - IL_0019: ldarg.1 - IL_001a: ldfld int32 TestFunction17/R::x@ - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: bge.s IL_0028 + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 TestFunction17/R::x@ + IL_0019: stloc.2 + IL_001a: ldarg.1 + IL_001b: ldfld int32 TestFunction17/R::x@ + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: bge.s IL_0029 .line 100001,100001 : 0,0 '' - IL_0024: ldc.i4.m1 + IL_0025: ldc.i4.m1 .line 100001,100001 : 0,0 '' - IL_0025: nop - IL_0026: br.s IL_002d + IL_0026: nop + IL_0027: br.s IL_002e .line 100001,100001 : 0,0 '' - IL_0028: ldloc.2 - IL_0029: ldloc.3 - IL_002a: cgt + IL_0029: ldloc.2 + IL_002a: ldloc.3 + IL_002b: cgt + .line 100001,100001 : 0,0 '' + IL_002d: nop .line 100001,100001 : 0,0 '' - IL_002c: nop + IL_002e: stloc.0 .line 100001,100001 : 0,0 '' - IL_002d: stloc.0 - IL_002e: ldloc.0 - IL_002f: ldc.i4.0 - IL_0030: bge.s IL_0034 + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: bge.s IL_0035 .line 100001,100001 : 0,0 '' - IL_0032: ldloc.0 - IL_0033: ret + IL_0033: ldloc.0 + IL_0034: ret .line 100001,100001 : 0,0 '' - IL_0034: ldloc.0 - IL_0035: ldc.i4.0 - IL_0036: ble.s IL_003a + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ble.s IL_003b .line 100001,100001 : 0,0 '' - IL_0038: ldloc.0 - IL_0039: ret + IL_0039: ldloc.0 + IL_003a: ret .line 100001,100001 : 0,0 '' - IL_003a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_003f: stloc.s V_4 - IL_0041: ldarg.0 - IL_0042: ldfld int32 TestFunction17/R::y@ - IL_0047: stloc.s V_5 - IL_0049: ldarg.1 - IL_004a: ldfld int32 TestFunction17/R::y@ - IL_004f: stloc.s V_6 - IL_0051: ldloc.s V_5 - IL_0053: ldloc.s V_6 - IL_0055: bge.s IL_0059 + IL_003b: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0040: stloc.s V_4 + IL_0042: ldarg.0 + IL_0043: ldfld int32 TestFunction17/R::y@ + IL_0048: stloc.s V_5 + IL_004a: ldarg.1 + IL_004b: ldfld int32 TestFunction17/R::y@ + IL_0050: stloc.s V_6 + .line 100001,100001 : 0,0 '' + IL_0052: ldloc.s V_5 + IL_0054: ldloc.s V_6 + IL_0056: bge.s IL_005a .line 100001,100001 : 0,0 '' - IL_0057: ldc.i4.m1 - IL_0058: ret + IL_0058: ldc.i4.m1 + IL_0059: ret .line 100001,100001 : 0,0 '' - IL_0059: ldloc.s V_5 - IL_005b: ldloc.s V_6 - IL_005d: cgt - IL_005f: ret + IL_005a: ldloc.s V_5 + IL_005c: ldloc.s V_6 + IL_005e: cgt + IL_0060: ret .line 100001,100001 : 0,0 '' - IL_0060: ldc.i4.1 - IL_0061: ret + IL_0061: ldc.i4.1 + IL_0062: ret .line 100001,100001 : 0,0 '' - IL_0062: ldarg.1 - IL_0063: ldnull - IL_0064: cgt.un - IL_0066: brfalse.s IL_006a + IL_0063: ldarg.1 + IL_0064: ldnull + IL_0065: cgt.un + IL_0067: brfalse.s IL_006b .line 100001,100001 : 0,0 '' - IL_0068: ldc.i4.m1 - IL_0069: ret + IL_0069: ldc.i4.m1 + IL_006a: ret .line 100001,100001 : 0,0 '' - IL_006a: ldc.i4.0 - IL_006b: ret + IL_006b: ldc.i4.0 + IL_006c: ret } // end of method R::CompareTo .method public hidebysig virtual final @@ -263,6 +268,7 @@ IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: stloc.1 + .line 100001,100001 : 0,0 '' IL_0009: ldarg.0 IL_000a: ldnull IL_000b: cgt.un @@ -284,6 +290,7 @@ IL_0024: ldloc.1 IL_0025: ldfld int32 TestFunction17/R::x@ IL_002a: stloc.s V_5 + .line 100001,100001 : 0,0 '' IL_002c: ldloc.s V_4 IL_002e: ldloc.s V_5 IL_0030: bge.s IL_0036 @@ -302,6 +309,7 @@ IL_003c: nop .line 100001,100001 : 0,0 '' IL_003d: stloc.2 + .line 100001,100001 : 0,0 '' IL_003e: ldloc.2 IL_003f: ldc.i4.0 IL_0040: bge.s IL_0044 @@ -328,6 +336,7 @@ IL_0055: ldloc.1 IL_0056: ldfld int32 TestFunction17/R::y@ IL_005b: stloc.s V_8 + .line 100001,100001 : 0,0 '' IL_005d: ldloc.s V_7 IL_005f: ldloc.s V_8 IL_0061: bge.s IL_0065 @@ -366,56 +375,58 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 58 (0x3a) + // Code size 59 (0x3b) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) - .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0038 - - .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: ldfld int32 TestFunction17/R::y@ - IL_0015: ldloc.0 - IL_0016: ldc.i4.6 - IL_0017: shl - IL_0018: ldloc.0 - IL_0019: ldc.i4.2 - IL_001a: shr - IL_001b: add + .line 4,4 : 6,7 '' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0039 + + .line 100001,100001 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: ldfld int32 TestFunction17/R::y@ + 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: stloc.0 - IL_001f: ldc.i4 0x9e3779b9 - IL_0024: ldarg.1 - IL_0025: stloc.2 - IL_0026: ldarg.0 - IL_0027: ldfld int32 TestFunction17/R::x@ - IL_002c: ldloc.0 - IL_002d: ldc.i4.6 - IL_002e: shl - IL_002f: ldloc.0 - IL_0030: ldc.i4.2 - IL_0031: shr - IL_0032: add + IL_001e: add + IL_001f: stloc.0 + IL_0020: ldc.i4 0x9e3779b9 + IL_0025: ldarg.1 + IL_0026: stloc.2 + IL_0027: ldarg.0 + IL_0028: ldfld int32 TestFunction17/R::x@ + IL_002d: ldloc.0 + IL_002e: ldc.i4.6 + IL_002f: shl + IL_0030: ldloc.0 + IL_0031: ldc.i4.2 + IL_0032: shr IL_0033: add IL_0034: add - IL_0035: stloc.0 - IL_0036: ldloc.0 - IL_0037: ret + IL_0035: add + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ret .line 100001,100001 : 0,0 '' - IL_0038: ldc.i4.0 - IL_0039: ret + IL_0039: ldc.i4.0 + IL_003a: ret } // end of method R::GetHashCode .method public hidebysig virtual final @@ -436,112 +447,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 65 (0x41) + // Code size 66 (0x42) .maxstack 4 .locals init ([0] class TestFunction17/R V_0, [1] class TestFunction17/R V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2, [3] class [mscorlib]System.Collections.IEqualityComparer V_3) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0039 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003a .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst TestFunction17/R - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0037 + IL_0007: ldarg.1 + IL_0008: isinst TestFunction17/R + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0038 .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.2 - IL_0013: stloc.2 - IL_0014: ldarg.0 - IL_0015: ldfld int32 TestFunction17/R::x@ - IL_001a: ldloc.1 - IL_001b: ldfld int32 TestFunction17/R::x@ - IL_0020: ceq - IL_0022: brfalse.s IL_0035 + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 100001,100001 : 0,0 '' + IL_0013: ldarg.2 + IL_0014: stloc.2 + IL_0015: ldarg.0 + IL_0016: ldfld int32 TestFunction17/R::x@ + IL_001b: ldloc.1 + IL_001c: ldfld int32 TestFunction17/R::x@ + IL_0021: ceq + IL_0023: brfalse.s IL_0036 .line 100001,100001 : 0,0 '' - IL_0024: ldarg.2 - IL_0025: stloc.3 - IL_0026: ldarg.0 - IL_0027: ldfld int32 TestFunction17/R::y@ - IL_002c: ldloc.1 - IL_002d: ldfld int32 TestFunction17/R::y@ - IL_0032: ceq - IL_0034: ret + IL_0025: ldarg.2 + IL_0026: stloc.3 + IL_0027: ldarg.0 + IL_0028: ldfld int32 TestFunction17/R::y@ + IL_002d: ldloc.1 + IL_002e: ldfld int32 TestFunction17/R::y@ + IL_0033: ceq + IL_0035: ret .line 100001,100001 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 100001,100001 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 100001,100001 : 0,0 '' - IL_0039: ldarg.1 - IL_003a: ldnull - IL_003b: cgt.un - IL_003d: ldc.i4.0 - IL_003e: ceq - IL_0040: ret + IL_003a: ldarg.1 + IL_003b: ldnull + IL_003c: cgt.un + IL_003e: ldc.i4.0 + IL_003f: ceq + IL_0041: ret } // end of method R::Equals .method public hidebysig virtual final instance bool Equals(class TestFunction17/R obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 53 (0x35) + // Code size 54 (0x36) .maxstack 8 + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002e .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_002b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002c .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 TestFunction17/R::x@ - IL_0012: ldarg.1 - IL_0013: ldfld int32 TestFunction17/R::x@ - IL_0018: bne.un.s IL_0029 + IL_000d: ldarg.0 + IL_000e: ldfld int32 TestFunction17/R::x@ + IL_0013: ldarg.1 + IL_0014: ldfld int32 TestFunction17/R::x@ + IL_0019: bne.un.s IL_002a .line 100001,100001 : 0,0 '' - IL_001a: ldarg.0 - IL_001b: ldfld int32 TestFunction17/R::y@ - IL_0020: ldarg.1 - IL_0021: ldfld int32 TestFunction17/R::y@ - IL_0026: ceq - IL_0028: ret + IL_001b: ldarg.0 + IL_001c: ldfld int32 TestFunction17/R::y@ + IL_0021: ldarg.1 + IL_0022: ldfld int32 TestFunction17/R::y@ + IL_0027: ceq + IL_0029: ret .line 100001,100001 : 0,0 '' - IL_0029: ldc.i4.0 - IL_002a: ret + IL_002a: ldc.i4.0 + IL_002b: ret .line 100001,100001 : 0,0 '' - IL_002b: ldc.i4.0 - IL_002c: ret + IL_002c: ldc.i4.0 + IL_002d: ret .line 100001,100001 : 0,0 '' - IL_002d: ldarg.1 - IL_002e: ldnull - IL_002f: cgt.un - IL_0031: ldc.i4.0 - IL_0032: ceq - IL_0034: ret + IL_002e: ldarg.1 + IL_002f: ldnull + IL_0030: cgt.un + IL_0032: ldc.i4.0 + IL_0033: ceq + IL_0035: ret } // end of method R::Equals .method public hidebysig virtual final @@ -555,6 +572,7 @@ IL_0000: ldarg.1 IL_0001: isinst TestFunction17/R IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.bsl index 752ef0b375..3b768e614e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000680 Length: 0x000001CD } .module TestFunction21.exe -// MVID: {60B68B97-A643-45E6-A745-0383978BB660} +// MVID: {611C52B3-A643-45E6-A745-0383B3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05500000 +// Image base: 0x06DD0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -174,7 +174,7 @@ instance int32 CompareTo(class TestFunction21/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 120 (0x78) + // Code size 121 (0x79) .maxstack 4 .locals init ([0] class TestFunction21/U V_0, [1] class TestFunction21/U V_1, @@ -186,109 +186,114 @@ [7] int32 V_7, [8] int32 V_8) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction21.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006e + .line 4,4 : 6,7 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction21.fs' + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006f .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006c + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006d .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 TestFunction21/U::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 TestFunction21/U::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 TestFunction21/U::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 TestFunction21/U::item1 + IL_0027: stloc.s V_5 + .line 100001,100001 : 0,0 '' + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 100001,100001 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 100001,100001 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 100001,100001 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 100001,100001 : 0,0 '' - IL_0038: nop + IL_0039: nop + .line 100001,100001 : 0,0 '' + IL_003a: stloc.2 .line 100001,100001 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 100001,100001 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 100001,100001 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 100001,100001 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 100001,100001 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.s V_6 - IL_004d: ldloc.0 - IL_004e: ldfld int32 TestFunction21/U::item2 - IL_0053: stloc.s V_7 - IL_0055: ldloc.1 - IL_0056: ldfld int32 TestFunction21/U::item2 - IL_005b: stloc.s V_8 - IL_005d: ldloc.s V_7 - IL_005f: ldloc.s V_8 - IL_0061: bge.s IL_0065 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.s V_6 + IL_004e: ldloc.0 + IL_004f: ldfld int32 TestFunction21/U::item2 + IL_0054: stloc.s V_7 + IL_0056: ldloc.1 + IL_0057: ldfld int32 TestFunction21/U::item2 + IL_005c: stloc.s V_8 + .line 100001,100001 : 0,0 '' + IL_005e: ldloc.s V_7 + IL_0060: ldloc.s V_8 + IL_0062: bge.s IL_0066 .line 100001,100001 : 0,0 '' - IL_0063: ldc.i4.m1 - IL_0064: ret + IL_0064: ldc.i4.m1 + IL_0065: ret .line 100001,100001 : 0,0 '' - IL_0065: ldloc.s V_7 - IL_0067: ldloc.s V_8 - IL_0069: cgt - IL_006b: ret + IL_0066: ldloc.s V_7 + IL_0068: ldloc.s V_8 + IL_006a: cgt + IL_006c: ret .line 100001,100001 : 0,0 '' - IL_006c: ldc.i4.1 - IL_006d: ret + IL_006d: ldc.i4.1 + IL_006e: ret .line 100001,100001 : 0,0 '' - IL_006e: ldarg.1 - IL_006f: ldnull - IL_0070: cgt.un - IL_0072: brfalse.s IL_0076 + IL_006f: ldarg.1 + IL_0070: ldnull + IL_0071: cgt.un + IL_0073: brfalse.s IL_0077 .line 100001,100001 : 0,0 '' - IL_0074: ldc.i4.m1 - IL_0075: ret + IL_0075: ldc.i4.m1 + IL_0076: ret .line 100001,100001 : 0,0 '' - IL_0076: ldc.i4.0 - IL_0077: ret + IL_0077: ldc.i4.0 + IL_0078: ret } // end of method U::CompareTo .method public hidebysig virtual final @@ -326,6 +331,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any TestFunction21/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -354,6 +360,7 @@ IL_0029: ldloc.2 IL_002a: ldfld int32 TestFunction21/U::item1 IL_002f: stloc.s V_6 + .line 100001,100001 : 0,0 '' IL_0031: ldloc.s V_5 IL_0033: ldloc.s V_6 IL_0035: bge.s IL_003b @@ -372,6 +379,7 @@ IL_0041: nop .line 100001,100001 : 0,0 '' IL_0042: stloc.3 + .line 100001,100001 : 0,0 '' IL_0043: ldloc.3 IL_0044: ldc.i4.0 IL_0045: bge.s IL_0049 @@ -398,6 +406,7 @@ IL_005a: ldloc.2 IL_005b: ldfld int32 TestFunction21/U::item2 IL_0060: stloc.s V_9 + .line 100001,100001 : 0,0 '' IL_0062: ldloc.s V_8 IL_0064: ldloc.s V_9 IL_0066: bge.s IL_006a @@ -436,64 +445,67 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 64 (0x40) + // Code size 65 (0x41) .maxstack 7 .locals init ([0] int32 V_0, [1] class TestFunction21/U V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2, [3] class [mscorlib]System.Collections.IEqualityComparer V_3) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003e + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003f .line 100001,100001 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop + IL_0007: ldc.i4.0 + IL_0008: stloc.0 .line 100001,100001 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldarg.1 - IL_0014: stloc.2 - IL_0015: ldloc.1 - IL_0016: ldfld int32 TestFunction21/U::item2 - 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_0009: ldarg.0 + IL_000a: pop + .line 100001,100001 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldarg.1 + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 TestFunction21/U::item2 + IL_001c: ldloc.0 + IL_001d: ldc.i4.6 + IL_001e: shl + IL_001f: ldloc.0 + IL_0020: ldc.i4.2 + IL_0021: shr IL_0022: add IL_0023: add - IL_0024: stloc.0 - IL_0025: ldc.i4 0x9e3779b9 - IL_002a: ldarg.1 - IL_002b: stloc.3 - IL_002c: ldloc.1 - IL_002d: ldfld int32 TestFunction21/U::item1 - IL_0032: ldloc.0 - IL_0033: ldc.i4.6 - IL_0034: shl - IL_0035: ldloc.0 - IL_0036: ldc.i4.2 - IL_0037: shr - IL_0038: add + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldc.i4 0x9e3779b9 + IL_002b: ldarg.1 + IL_002c: stloc.3 + IL_002d: ldloc.1 + IL_002e: ldfld int32 TestFunction21/U::item1 + IL_0033: ldloc.0 + IL_0034: ldc.i4.6 + IL_0035: shl + IL_0036: ldloc.0 + IL_0037: ldc.i4.2 + IL_0038: shr IL_0039: add IL_003a: add - IL_003b: stloc.0 - IL_003c: ldloc.0 - IL_003d: ret + IL_003b: add + IL_003c: stloc.0 + IL_003d: ldloc.0 + IL_003e: ret .line 100001,100001 : 0,0 '' - IL_003e: ldc.i4.0 - IL_003f: ret + IL_003f: ldc.i4.0 + IL_0040: ret } // end of method U::GetHashCode .method public hidebysig virtual final @@ -514,7 +526,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 73 (0x49) + // Code size 74 (0x4a) .maxstack 4 .locals init ([0] class TestFunction21/U V_0, [1] class TestFunction21/U V_1, @@ -522,122 +534,130 @@ [3] class TestFunction21/U V_3, [4] class [mscorlib]System.Collections.IEqualityComparer V_4, [5] class [mscorlib]System.Collections.IEqualityComparer V_5) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0041 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0042 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst TestFunction21/U - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_003f + IL_0007: ldarg.1 + IL_0008: isinst TestFunction21/U + IL_000d: stloc.0 + .line 100001,100001 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0040 .line 100001,100001 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: pop + IL_0011: ldloc.0 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: stloc.3 - IL_0018: ldarg.2 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldfld int32 TestFunction21/U::item1 - IL_0021: ldloc.3 - IL_0022: ldfld int32 TestFunction21/U::item1 - IL_0027: ceq - IL_0029: brfalse.s IL_003d + IL_0013: ldarg.0 + IL_0014: pop + .line 100001,100001 : 0,0 '' + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.1 + IL_0018: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0019: ldarg.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.2 + IL_001d: ldfld int32 TestFunction21/U::item1 + IL_0022: ldloc.3 + IL_0023: ldfld int32 TestFunction21/U::item1 + IL_0028: ceq + IL_002a: brfalse.s IL_003e .line 100001,100001 : 0,0 '' - IL_002b: ldarg.2 - IL_002c: stloc.s V_5 - IL_002e: ldloc.2 - IL_002f: ldfld int32 TestFunction21/U::item2 - IL_0034: ldloc.3 - IL_0035: ldfld int32 TestFunction21/U::item2 - IL_003a: ceq - IL_003c: ret + IL_002c: ldarg.2 + IL_002d: stloc.s V_5 + IL_002f: ldloc.2 + IL_0030: ldfld int32 TestFunction21/U::item2 + IL_0035: ldloc.3 + IL_0036: ldfld int32 TestFunction21/U::item2 + IL_003b: ceq + IL_003d: ret .line 100001,100001 : 0,0 '' - IL_003d: ldc.i4.0 - IL_003e: ret + IL_003e: ldc.i4.0 + IL_003f: ret .line 100001,100001 : 0,0 '' - IL_003f: ldc.i4.0 - IL_0040: ret + IL_0040: ldc.i4.0 + IL_0041: ret .line 100001,100001 : 0,0 '' - IL_0041: ldarg.1 - IL_0042: ldnull - IL_0043: cgt.un - IL_0045: ldc.i4.0 - IL_0046: ceq - IL_0048: ret + IL_0042: ldarg.1 + IL_0043: ldnull + IL_0044: cgt.un + IL_0046: ldc.i4.0 + IL_0047: ceq + IL_0049: ret } // end of method U::Equals .method public hidebysig virtual final instance bool Equals(class TestFunction21/U obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class TestFunction21/U V_0, [1] class TestFunction21/U V_1) + .line 4,4 : 6,7 '' + IL_0000: nop .line 100001,100001 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 100001,100001 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 100001,100001 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 100001,100001 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 .line 100001,100001 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 TestFunction21/U::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 TestFunction21/U::item1 - IL_001e: bne.un.s IL_002f + IL_0013: ldloc.0 + IL_0014: ldfld int32 TestFunction21/U::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 TestFunction21/U::item1 + IL_001f: bne.un.s IL_0030 .line 100001,100001 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 TestFunction21/U::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 TestFunction21/U::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 TestFunction21/U::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 TestFunction21/U::item2 + IL_002d: ceq + IL_002f: ret .line 100001,100001 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 100001,100001 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 100001,100001 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method U::Equals .method public hidebysig virtual final @@ -651,6 +671,7 @@ IL_0000: ldarg.1 IL_0001: isinst TestFunction21/U IL_0006: stloc.0 + .line 100001,100001 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction24.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction24.il.bsl index 1063152863..d946a530d8 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction24.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction24.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000748 Length: 0x00000228 } .module TestFunction24.exe -// MVID: {60B68B97-A643-4587-A745-0383978BB660} +// MVID: {611C52B3-A643-4587-A745-0383B3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06EA0000 +// Image base: 0x07110000 // =============== CLASS MEMBERS DECLARATION =================== @@ -141,7 +141,7 @@ instance int32 CompareTo(class TestFunction24/Point obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 108 (0x6c) + // Code size 109 (0x6d) .maxstack 4 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IComparer V_1, @@ -151,102 +151,107 @@ [5] int32 V_5, [6] int32 V_6) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction24.fs' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0062 + .line 4,4 : 6,11 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction24.fs' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0063 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0060 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0061 .line 16707566,16707566 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 TestFunction24/Point::x@ - IL_0018: stloc.2 - IL_0019: ldarg.1 - IL_001a: ldfld int32 TestFunction24/Point::x@ - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: bge.s IL_0028 + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 TestFunction24/Point::x@ + IL_0019: stloc.2 + IL_001a: ldarg.1 + IL_001b: ldfld int32 TestFunction24/Point::x@ + IL_0020: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: bge.s IL_0029 .line 16707566,16707566 : 0,0 '' - IL_0024: ldc.i4.m1 + IL_0025: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_0025: nop - IL_0026: br.s IL_002d + IL_0026: nop + IL_0027: br.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0028: ldloc.2 - IL_0029: ldloc.3 - IL_002a: cgt + IL_0029: ldloc.2 + IL_002a: ldloc.3 + IL_002b: cgt + .line 16707566,16707566 : 0,0 '' + IL_002d: nop .line 16707566,16707566 : 0,0 '' - IL_002c: nop + IL_002e: stloc.0 .line 16707566,16707566 : 0,0 '' - IL_002d: stloc.0 - IL_002e: ldloc.0 - IL_002f: ldc.i4.0 - IL_0030: bge.s IL_0034 + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: bge.s IL_0035 .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.0 - IL_0033: ret + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldloc.0 - IL_0035: ldc.i4.0 - IL_0036: ble.s IL_003a + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ble.s IL_003b .line 16707566,16707566 : 0,0 '' - IL_0038: ldloc.0 - IL_0039: ret + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_003f: stloc.s V_4 - IL_0041: ldarg.0 - IL_0042: ldfld int32 TestFunction24/Point::y@ - IL_0047: stloc.s V_5 - IL_0049: ldarg.1 - IL_004a: ldfld int32 TestFunction24/Point::y@ - IL_004f: stloc.s V_6 - IL_0051: ldloc.s V_5 - IL_0053: ldloc.s V_6 - IL_0055: bge.s IL_0059 + IL_003b: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0040: stloc.s V_4 + IL_0042: ldarg.0 + IL_0043: ldfld int32 TestFunction24/Point::y@ + IL_0048: stloc.s V_5 + IL_004a: ldarg.1 + IL_004b: ldfld int32 TestFunction24/Point::y@ + IL_0050: stloc.s V_6 + .line 16707566,16707566 : 0,0 '' + IL_0052: ldloc.s V_5 + IL_0054: ldloc.s V_6 + IL_0056: bge.s IL_005a .line 16707566,16707566 : 0,0 '' - IL_0057: ldc.i4.m1 - IL_0058: ret + IL_0058: ldc.i4.m1 + IL_0059: ret .line 16707566,16707566 : 0,0 '' - IL_0059: ldloc.s V_5 - IL_005b: ldloc.s V_6 - IL_005d: cgt - IL_005f: ret + IL_005a: ldloc.s V_5 + IL_005c: ldloc.s V_6 + IL_005e: cgt + IL_0060: ret .line 16707566,16707566 : 0,0 '' - IL_0060: ldc.i4.1 - IL_0061: ret + IL_0061: ldc.i4.1 + IL_0062: ret .line 16707566,16707566 : 0,0 '' - IL_0062: ldarg.1 - IL_0063: ldnull - IL_0064: cgt.un - IL_0066: brfalse.s IL_006a + IL_0063: ldarg.1 + IL_0064: ldnull + IL_0065: cgt.un + IL_0067: brfalse.s IL_006b .line 16707566,16707566 : 0,0 '' - IL_0068: ldc.i4.m1 - IL_0069: ret + IL_0069: ldc.i4.m1 + IL_006a: ret .line 16707566,16707566 : 0,0 '' - IL_006a: ldc.i4.0 - IL_006b: ret + IL_006b: ldc.i4.0 + IL_006c: ret } // end of method Point::CompareTo .method public hidebysig virtual final @@ -285,6 +290,7 @@ IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: stloc.1 + .line 16707566,16707566 : 0,0 '' IL_0009: ldarg.0 IL_000a: ldnull IL_000b: cgt.un @@ -306,6 +312,7 @@ IL_0024: ldloc.1 IL_0025: ldfld int32 TestFunction24/Point::x@ IL_002a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002c: ldloc.s V_4 IL_002e: ldloc.s V_5 IL_0030: bge.s IL_0036 @@ -324,6 +331,7 @@ IL_003c: nop .line 16707566,16707566 : 0,0 '' IL_003d: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_003e: ldloc.2 IL_003f: ldc.i4.0 IL_0040: bge.s IL_0044 @@ -350,6 +358,7 @@ IL_0055: ldloc.1 IL_0056: ldfld int32 TestFunction24/Point::y@ IL_005b: stloc.s V_8 + .line 16707566,16707566 : 0,0 '' IL_005d: ldloc.s V_7 IL_005f: ldloc.s V_8 IL_0061: bge.s IL_0065 @@ -388,56 +397,58 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 58 (0x3a) + // Code size 59 (0x3b) .maxstack 7 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IEqualityComparer V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0038 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.1 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: ldfld int32 TestFunction24/Point::y@ - IL_0015: ldloc.0 - IL_0016: ldc.i4.6 - IL_0017: shl - IL_0018: ldloc.0 - IL_0019: ldc.i4.2 - IL_001a: shr - IL_001b: add + .line 4,4 : 6,11 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0039 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.1 + IL_000f: stloc.1 + IL_0010: ldarg.0 + IL_0011: ldfld int32 TestFunction24/Point::y@ + 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: stloc.0 - IL_001f: ldc.i4 0x9e3779b9 - IL_0024: ldarg.1 - IL_0025: stloc.2 - IL_0026: ldarg.0 - IL_0027: ldfld int32 TestFunction24/Point::x@ - IL_002c: ldloc.0 - IL_002d: ldc.i4.6 - IL_002e: shl - IL_002f: ldloc.0 - IL_0030: ldc.i4.2 - IL_0031: shr - IL_0032: add + IL_001e: add + IL_001f: stloc.0 + IL_0020: ldc.i4 0x9e3779b9 + IL_0025: ldarg.1 + IL_0026: stloc.2 + IL_0027: ldarg.0 + IL_0028: ldfld int32 TestFunction24/Point::x@ + IL_002d: ldloc.0 + IL_002e: ldc.i4.6 + IL_002f: shl + IL_0030: ldloc.0 + IL_0031: ldc.i4.2 + IL_0032: shr IL_0033: add IL_0034: add - IL_0035: stloc.0 - IL_0036: ldloc.0 - IL_0037: ret + IL_0035: add + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ret .line 16707566,16707566 : 0,0 '' - IL_0038: ldc.i4.0 - IL_0039: ret + IL_0039: ldc.i4.0 + IL_003a: ret } // end of method Point::GetHashCode .method public hidebysig virtual final @@ -458,112 +469,118 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 65 (0x41) + // Code size 66 (0x42) .maxstack 4 .locals init ([0] class TestFunction24/Point V_0, [1] class TestFunction24/Point V_1, [2] class [mscorlib]System.Collections.IEqualityComparer V_2, [3] class [mscorlib]System.Collections.IEqualityComparer V_3) + .line 4,4 : 6,11 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0039 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst TestFunction24/Point - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0037 + IL_0007: ldarg.1 + IL_0008: isinst TestFunction24/Point + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.2 - IL_0013: stloc.2 - IL_0014: ldarg.0 - IL_0015: ldfld int32 TestFunction24/Point::x@ - IL_001a: ldloc.1 - IL_001b: ldfld int32 TestFunction24/Point::x@ - IL_0020: ceq - IL_0022: brfalse.s IL_0035 + IL_0011: ldloc.0 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.2 + IL_0014: stloc.2 + IL_0015: ldarg.0 + IL_0016: ldfld int32 TestFunction24/Point::x@ + IL_001b: ldloc.1 + IL_001c: ldfld int32 TestFunction24/Point::x@ + IL_0021: ceq + IL_0023: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0024: ldarg.2 - IL_0025: stloc.3 - IL_0026: ldarg.0 - IL_0027: ldfld int32 TestFunction24/Point::y@ - IL_002c: ldloc.1 - IL_002d: ldfld int32 TestFunction24/Point::y@ - IL_0032: ceq - IL_0034: ret + IL_0025: ldarg.2 + IL_0026: stloc.3 + IL_0027: ldarg.0 + IL_0028: ldfld int32 TestFunction24/Point::y@ + IL_002d: ldloc.1 + IL_002e: ldfld int32 TestFunction24/Point::y@ + IL_0033: ceq + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldc.i4.0 - IL_0038: ret + IL_0038: ldc.i4.0 + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldarg.1 - IL_003a: ldnull - IL_003b: cgt.un - IL_003d: ldc.i4.0 - IL_003e: ceq - IL_0040: ret + IL_003a: ldarg.1 + IL_003b: ldnull + IL_003c: cgt.un + IL_003e: ldc.i4.0 + IL_003f: ceq + IL_0041: ret } // end of method Point::Equals .method public hidebysig virtual final instance bool Equals(class TestFunction24/Point obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 53 (0x35) + // Code size 54 (0x36) .maxstack 8 + .line 4,4 : 6,11 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_002b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 TestFunction24/Point::x@ - IL_0012: ldarg.1 - IL_0013: ldfld int32 TestFunction24/Point::x@ - IL_0018: bne.un.s IL_0029 + IL_000d: ldarg.0 + IL_000e: ldfld int32 TestFunction24/Point::x@ + IL_0013: ldarg.1 + IL_0014: ldfld int32 TestFunction24/Point::x@ + IL_0019: bne.un.s IL_002a .line 16707566,16707566 : 0,0 '' - IL_001a: ldarg.0 - IL_001b: ldfld int32 TestFunction24/Point::y@ - IL_0020: ldarg.1 - IL_0021: ldfld int32 TestFunction24/Point::y@ - IL_0026: ceq - IL_0028: ret + IL_001b: ldarg.0 + IL_001c: ldfld int32 TestFunction24/Point::y@ + IL_0021: ldarg.1 + IL_0022: ldfld int32 TestFunction24/Point::y@ + IL_0027: ceq + IL_0029: ret .line 16707566,16707566 : 0,0 '' - IL_0029: ldc.i4.0 - IL_002a: ret + IL_002a: ldc.i4.0 + IL_002b: ret .line 16707566,16707566 : 0,0 '' - IL_002b: ldc.i4.0 - IL_002c: ret + IL_002c: ldc.i4.0 + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldarg.1 - IL_002e: ldnull - IL_002f: cgt.un - IL_0031: ldc.i4.0 - IL_0032: ceq - IL_0034: ret + IL_002e: ldarg.1 + IL_002f: ldnull + IL_0030: cgt.un + IL_0032: ldc.i4.0 + IL_0033: ceq + IL_0035: ret } // end of method Point::Equals .method public hidebysig virtual final @@ -577,6 +594,7 @@ IL_0000: ldarg.1 IL_0001: isinst TestFunction24/Point IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -728,6 +746,7 @@ .line 18,18 : 5,23 '' IL_0067: ldloc.0 IL_0068: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_0069: ldloc.2 IL_006a: brfalse.s IL_0086 @@ -880,6 +899,7 @@ .line 30,30 : 5,26 '' IL_0006: ldloc.0 IL_0007: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_0008: ldloc.2 IL_0009: brfalse.s IL_0016 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3b.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3b.il.bsl index 89eb054091..605bb5ca37 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3b.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3b.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000200 Length: 0x0000008A } .module TestFunction3b.exe -// MVID: {60BD473A-A662-4FC9-A745-03833A47BD60} +// MVID: {611C4D9E-A662-4FC9-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x059B0000 +// Image base: 0x053D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -75,53 +75,56 @@ .method public static void TestFunction3b() cil managed { - // Code size 65 (0x41) + // Code size 66 (0x42) .maxstack 3 .locals init ([0] int32 x, [1] string V_1, [2] class [mscorlib]System.Exception V_2, [3] class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) - .line 11,11 : 8,31 '' + .line 10,10 : 5,8 '' .try { - IL_0000: call int32 TestFunction3b::TestFunction1() - IL_0005: stloc.0 + IL_0000: nop + .line 11,11 : 8,31 '' + IL_0001: call int32 TestFunction3b::TestFunction1() + IL_0006: stloc.0 .line 12,12 : 8,24 '' - IL_0006: ldstr "hello" - IL_000b: stloc.1 - IL_000c: ldloc.1 - IL_000d: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_0012: throw + IL_0007: ldstr "hello" + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_0013: throw .line 13,13 : 5,9 '' } // end .try catch [mscorlib]System.Object { - IL_0013: castclass [mscorlib]System.Exception - IL_0018: stloc.2 - IL_0019: ldloc.2 - IL_001a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [mscorlib]System.Exception) - IL_001f: stloc.3 - IL_0020: ldloc.3 - IL_0021: brfalse.s IL_0035 + IL_0014: castclass [mscorlib]System.Exception + IL_0019: stloc.2 + IL_001a: ldloc.2 + IL_001b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [mscorlib]System.Exception) + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.3 + IL_0022: brfalse.s IL_0036 .line 14,14 : 8,23 '' - IL_0023: ldstr "World" - IL_0028: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_002d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0032: pop - IL_0033: leave.s IL_0040 + IL_0024: ldstr "World" + IL_0029: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_002e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0033: pop + IL_0034: leave.s IL_0041 .line 100001,100001 : 0,0 '' - IL_0035: rethrow - IL_0037: ldnull - IL_0038: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit - IL_003d: pop - IL_003e: leave.s IL_0040 + IL_0036: rethrow + IL_0038: ldnull + IL_0039: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_003e: pop + IL_003f: leave.s IL_0041 .line 100001,100001 : 0,0 '' } // end handler - IL_0040: ret + IL_0041: ret } // end of method TestFunction3b::TestFunction3b } // end of class TestFunction3b diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3c.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3c.il.bsl index b30fe1df23..6662393865 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3c.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction3c.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000200 Length: 0x0000008A } .module TestFunction3c.exe -// MVID: {60BD4158-A662-4FAC-A745-03835841BD60} +// MVID: {611C4D9E-A662-4FAC-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06570000 +// Image base: 0x06740000 // =============== CLASS MEMBERS DECLARATION =================== @@ -80,7 +80,7 @@ .method public static void TestFunction3c() cil managed { - // Code size 95 (0x5f) + // Code size 97 (0x61) .maxstack 4 .locals init ([0] int32 x, [1] string V_1, @@ -88,59 +88,66 @@ [3] class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3, [4] string msg, [5] string V_5) - .line 11,11 : 8,31 '' + .line 10,10 : 5,8 '' .try { - IL_0000: call int32 TestFunction3c::TestFunction1() - IL_0005: stloc.0 + IL_0000: nop + .line 11,11 : 8,31 '' + IL_0001: call int32 TestFunction3c::TestFunction1() + IL_0006: stloc.0 .line 12,12 : 8,24 '' - IL_0006: ldstr "hello" - IL_000b: stloc.1 - IL_000c: ldloc.1 - IL_000d: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_0012: throw + IL_0007: ldstr "hello" + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: call class [mscorlib]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_0013: throw .line 13,13 : 5,9 '' } // end .try catch [mscorlib]System.Object { - IL_0013: castclass [mscorlib]System.Exception - IL_0018: stloc.2 - IL_0019: ldloc.2 - IL_001a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [mscorlib]System.Exception) - IL_001f: stloc.3 - IL_0020: ldloc.3 - IL_0021: brfalse.s IL_0053 - - IL_0023: ldloc.3 - IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() - IL_0029: stloc.s msg - IL_002b: ldloc.s msg - IL_002d: ldstr "hello" - IL_0032: call bool [netstandard]System.String::Equals(string, + IL_0014: castclass [mscorlib]System.Exception + IL_0019: stloc.2 + IL_001a: ldloc.2 + IL_001b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [mscorlib]System.Exception) + IL_0020: stloc.3 + .line 100001,100001 : 0,0 '' + IL_0021: ldloc.3 + IL_0022: brfalse.s IL_0055 + + .line 13,13 : 27,40 '' + IL_0024: nop + .line 100001,100001 : 0,0 '' + IL_0025: ldloc.3 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_002b: stloc.s msg + IL_002d: ldloc.s msg + IL_002f: ldstr "hello" + IL_0034: call bool [netstandard]System.String::Equals(string, string) - IL_0037: brfalse.s IL_0053 + IL_0039: brfalse.s IL_0055 - IL_0039: ldloc.3 - IL_003a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() - IL_003f: stloc.s V_5 + .line 100001,100001 : 0,0 '' + IL_003b: ldloc.3 + IL_003c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0041: stloc.s V_5 .line 14,14 : 8,23 '' - IL_0041: ldstr "World" - IL_0046: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_004b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0050: pop - IL_0051: leave.s IL_005e + IL_0043: ldstr "World" + IL_0048: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_004d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0052: pop + IL_0053: leave.s IL_0060 .line 100001,100001 : 0,0 '' - IL_0053: rethrow - IL_0055: ldnull - IL_0056: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit - IL_005b: pop - IL_005c: leave.s IL_005e + IL_0055: rethrow + IL_0057: ldnull + IL_0058: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005d: pop + IL_005e: leave.s IL_0060 .line 100001,100001 : 0,0 '' } // end handler - IL_005e: ret + IL_0060: ret } // end of method TestFunction3c::TestFunction3c } // end of class TestFunction3c diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction9b4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction9b4.il.bsl index 3c3c35b89a..1aede1f2c2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction9b4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction9b4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000248 Length: 0x00000085 } .module TestFunction9b4.exe -// MVID: {60B68B97-A091-56C1-A745-0383978BB660} +// MVID: {611C4D9E-A091-56C1-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06CC0000 +// Image base: 0x07100000 // =============== CLASS MEMBERS DECLARATION =================== @@ -90,33 +90,35 @@ .method public static void main@() cil managed { .entrypoint - // Code size 42 (0x2a) + // Code size 43 (0x2b) .maxstack 3 .locals init ([0] int32 x) .line 10,10 : 1,10 '' IL_0000: call int32 TestFunction9b4::get_x() IL_0005: stloc.0 .line 12,12 : 1,17 '' - IL_0006: call int32 TestFunction9b4::get_x() - IL_000b: box [mscorlib]System.Int32 - IL_0010: brfalse.s IL_0014 + IL_0006: nop + .line 100001,100001 : 0,0 '' + IL_0007: call int32 TestFunction9b4::get_x() + IL_000c: box [mscorlib]System.Int32 + IL_0011: brfalse.s IL_0015 - IL_0012: br.s IL_0027 + IL_0013: br.s IL_0028 .line 13,13 : 13,30 '' - IL_0014: ldstr "Is null" - IL_0019: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_001e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0023: pop + IL_0015: ldstr "Is null" + IL_001a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0024: pop .line 100001,100001 : 0,0 '' - IL_0024: nop - IL_0025: br.s IL_0029 + IL_0025: nop + IL_0026: br.s IL_002a .line 14,14 : 10,12 '' - IL_0027: nop - .line 100001,100001 : 0,0 '' IL_0028: nop - IL_0029: ret + .line 100001,100001 : 0,0 '' + IL_0029: nop + IL_002a: ret } // end of method $TestFunction9b4::main@ } // end of class ''.$TestFunction9b4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22f.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22f.il.bsl index 1e52b73176..1d17863b46 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22f.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22f.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000160 Length: 0x00000056 } .module Testfunction22f.exe -// MVID: {60B68B97-C040-2523-A745-0383978BB660} +// MVID: {611C4D9E-C040-2523-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DC0000 +// Image base: 0x04D20000 // =============== CLASS MEMBERS DECLARATION =================== @@ -75,6 +75,7 @@ .line 3,3 : 1,15 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22f.fs' IL_0000: ldstr "A" IL_0005: stloc.0 + .line 100001,100001 : 0,0 '' IL_0006: ldloc.0 IL_0007: ldstr "A" IL_000c: call bool [netstandard]System.String::Equals(string, diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22g.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22g.il.bsl index 9553805a4c..67305e6544 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22g.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22g.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000160 Length: 0x00000056 } .module Testfunction22g.exe -// MVID: {60B68B97-CA89-74DB-A745-0383978BB660} +// MVID: {611C4D9E-CA89-74DB-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06FA0000 +// Image base: 0x04D30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -63,24 +63,26 @@ .method public static void main@() cil managed { .entrypoint - // Code size 18 (0x12) + // Code size 19 (0x13) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 3,3 : 1,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22g.fs' - IL_0000: ldc.i4.1 - IL_0001: brfalse.s IL_000b + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldc.i4.1 + IL_0002: brfalse.s IL_000c .line 3,3 : 14,40 '' - IL_0003: call void [mscorlib]System.Console::WriteLine() + IL_0004: call void [mscorlib]System.Console::WriteLine() .line 100001,100001 : 0,0 '' - IL_0008: nop - IL_0009: br.s IL_0011 + IL_0009: nop + IL_000a: br.s IL_0012 .line 3,3 : 46,72 '' - IL_000b: call void [mscorlib]System.Console::WriteLine() + IL_000c: call void [mscorlib]System.Console::WriteLine() .line 100001,100001 : 0,0 '' - IL_0010: nop - IL_0011: ret + IL_0011: nop + IL_0012: ret } // end of method $Testfunction22g::main@ } // end of class ''.$Testfunction22g diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22h.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22h.il.bsl index 467c097219..48655e7bed 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22h.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction22h.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000160 Length: 0x00000056 } .module Testfunction22h.exe -// MVID: {60BD4158-0266-39F6-A745-03835841BD60} +// MVID: {611C4D9E-0266-39F6-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07240000 +// Image base: 0x066F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -63,29 +63,31 @@ .method public static void main@() cil managed { .entrypoint - // Code size 21 (0x15) + // Code size 22 (0x16) .maxstack 3 .locals init ([0] class [mscorlib]System.Exception V_0) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 4,4 : 4,30 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22h.fs' + .line 3,3 : 1,4 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22h.fs' .try { - IL_0000: call void [mscorlib]System.Console::WriteLine() - IL_0005: leave.s IL_0014 + IL_0000: nop + .line 4,4 : 4,30 '' + IL_0001: call void [mscorlib]System.Console::WriteLine() + IL_0006: leave.s IL_0015 .line 5,5 : 1,5 '' } // end .try catch [mscorlib]System.Object { - IL_0007: castclass [mscorlib]System.Exception - IL_000c: stloc.0 + IL_0008: castclass [mscorlib]System.Exception + IL_000d: stloc.0 .line 6,6 : 11,37 '' - IL_000d: call void [mscorlib]System.Console::WriteLine() - IL_0012: leave.s IL_0014 + IL_000e: call void [mscorlib]System.Console::WriteLine() + IL_0013: leave.s IL_0015 .line 100001,100001 : 0,0 '' } // end handler - IL_0014: ret + IL_0015: ret } // end of method $Testfunction22h::main@ } // end of class ''.$Testfunction22h diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction3.il.bsl index fe0c97e48f..35c8295e14 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000200 Length: 0x00000088 } .module TestFunction3.exe -// MVID: {60BD4158-663A-8929-A745-03835841BD60} +// MVID: {611C4D9E-663A-8929-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x050D0000 +// Image base: 0x07360000 // =============== CLASS MEMBERS DECLARATION =================== @@ -75,38 +75,40 @@ .method public static void TestFunction3() cil managed { - // Code size 49 (0x31) + // Code size 50 (0x32) .maxstack 3 .locals init ([0] int32 x, [1] class [mscorlib]System.Exception V_1) - .line 11,11 : 8,31 '' + .line 10,10 : 5,8 '' .try { - IL_0000: call int32 TestFunction3::TestFunction1() - IL_0005: stloc.0 + IL_0000: nop + .line 11,11 : 8,31 '' + IL_0001: call int32 TestFunction3::TestFunction1() + IL_0006: stloc.0 .line 12,12 : 8,23 '' - IL_0006: ldstr "Hello" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: pop - IL_0016: leave.s IL_0030 + IL_0007: ldstr "Hello" + IL_000c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0016: pop + IL_0017: leave.s IL_0031 .line 13,13 : 5,9 '' } // end .try catch [mscorlib]System.Object { - IL_0018: castclass [mscorlib]System.Exception - IL_001d: stloc.1 + IL_0019: castclass [mscorlib]System.Exception + IL_001e: stloc.1 .line 14,14 : 8,23 '' - IL_001e: ldstr "World" - IL_0023: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0028: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_002d: pop - IL_002e: leave.s IL_0030 + IL_001f: ldstr "World" + IL_0024: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0029: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002e: pop + IL_002f: leave.s IL_0031 .line 100001,100001 : 0,0 '' } // end handler - IL_0030: ret + IL_0031: ret } // end of method TestFunction3::TestFunction3 } // end of class TestFunction3 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction4.il.bsl index 799c175fb4..d2e49c8e9d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction4.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction4.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000200 Length: 0x00000088 } .module TestFunction4.exe -// MVID: {60BD4158-665B-8929-A745-03835841BD60} +// MVID: {611C4D9E-665B-8929-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04B90000 +// Image base: 0x067E0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -75,35 +75,37 @@ .method public static void TestFunction4() cil managed { - // Code size 43 (0x2b) + // Code size 44 (0x2c) .maxstack 3 .locals init ([0] int32 x) - .line 11,11 : 8,31 '' + .line 10,10 : 5,8 '' .try { - IL_0000: call int32 TestFunction4::TestFunction1() - IL_0005: stloc.0 + IL_0000: nop + .line 11,11 : 8,31 '' + IL_0001: call int32 TestFunction4::TestFunction1() + IL_0006: stloc.0 .line 12,12 : 8,23 '' - IL_0006: ldstr "Hello" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: pop - IL_0016: leave.s IL_002a + IL_0007: ldstr "Hello" + IL_000c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0016: pop + IL_0017: leave.s IL_002b .line 13,13 : 5,12 '' } // end .try finally { - IL_0018: nop + IL_0019: nop .line 14,14 : 8,23 '' - IL_0019: ldstr "World" - 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: endfinally + IL_001a: ldstr "World" + 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: endfinally .line 100001,100001 : 0,0 '' } // end handler - IL_002a: ret + IL_002b: ret } // end of method TestFunction4::TestFunction4 } // end of class TestFunction4 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction8.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction8.il.bsl index 75cd37c665..4cb5c39cf6 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction8.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction8.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001C8 Length: 0x00000070 } .module TestFunction8.exe -// MVID: {60B68B97-65CF-8929-A745-0383978BB660} +// MVID: {611C4D9E-65CF-8929-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07330000 +// Image base: 0x06DC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,25 +53,27 @@ .custom 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 TestFunction8(int32 x) cil managed { - // Code size 12 (0xc) + // Code size 13 (0xd) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 5,5 : 5,18 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction8.fs' - IL_0000: ldarg.0 - IL_0001: ldc.i4.3 - IL_0002: ble.s IL_0008 + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldc.i4.3 + IL_0003: ble.s IL_0009 .line 6,6 : 9,12 '' - IL_0004: ldarg.0 - IL_0005: ldc.i4.4 - IL_0006: add - IL_0007: ret + IL_0005: ldarg.0 + IL_0006: ldc.i4.4 + IL_0007: add + IL_0008: ret .line 7,7 : 10,13 '' - IL_0008: ldarg.0 - IL_0009: ldc.i4.4 - IL_000a: sub - IL_000b: ret + IL_0009: ldarg.0 + IL_000a: ldc.i4.4 + IL_000b: sub + IL_000c: ret } // end of method TestFunction8::TestFunction8 } // end of class TestFunction8 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9.il.bsl index aa1372d9a4..85f0521e67 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001D8 Length: 0x00000070 } .module TestFunction9.exe -// MVID: {60B68B97-64F4-8929-A745-0383978BB660} +// MVID: {611C4D9E-64F4-8929-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06B70000 +// Image base: 0x05890000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,29 +53,31 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .method public static string TestFunction9(int32 x) cil managed { - // Code size 36 (0x24) + // Code size 37 (0x25) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' .line 5,5 : 5,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction9.fs' - IL_0000: ldarg.0 - IL_0001: ldc.i4.3 - IL_0002: sub - IL_0003: switch ( - IL_0012, - IL_0018) - IL_0010: br.s IL_001e + IL_0000: nop + .line 100001,100001 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldc.i4.3 + IL_0003: sub + IL_0004: switch ( + IL_0013, + IL_0019) + IL_0011: br.s IL_001f .line 6,6 : 12,19 '' - IL_0012: ldstr "three" - IL_0017: ret + IL_0013: ldstr "three" + IL_0018: ret .line 7,7 : 12,18 '' - IL_0018: ldstr "four" - IL_001d: ret + IL_0019: ldstr "four" + IL_001e: ret .line 8,8 : 12,18 '' - IL_001e: ldstr "five" - IL_0023: ret + IL_001f: ldstr "five" + IL_0024: ret } // end of method TestFunction9::TestFunction9 } // end of class TestFunction9 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b.il.bsl index 49d2757735..f9085d417d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000001F8 Length: 0x00000072 } .module TestFunction9b.exe -// MVID: {60B68B97-A52C-4FC9-A745-0383978BB660} +// MVID: {611C4D9E-A52C-4FC9-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00DB0000 +// Image base: 0x06EC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,7 +53,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .method public static string TestFunction9b(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 x) cil managed { - // Code size 409 (0x199) + // Code size 412 (0x19c) .maxstack 4 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, @@ -72,166 +72,190 @@ .line 5,5 : 5,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction9b.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,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 IL_0193 + IL_0008: brfalse IL_0196 IL_000d: ldloc.0 IL_000e: stloc.1 + .line 100001,100001 : 0,0 '' IL_000f: ldloc.1 IL_0010: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0015: ldc.i4.1 IL_0016: sub IL_0017: switch ( - IL_00fd) + IL_00ff) + .line 100001,100001 : 0,0 '' IL_0020: ldloc.1 IL_0021: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0026: ldc.i4.3 IL_0027: sub IL_0028: switch ( - IL_0078) + IL_0079) + .line 100001,100001 : 0,0 '' IL_0031: ldloc.1 IL_0032: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003c: brfalse IL_0193 + IL_003c: brfalse IL_0196 IL_0041: ldloc.1 IL_0042: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0047: stloc.2 + .line 100001,100001 : 0,0 '' IL_0048: ldloc.2 IL_0049: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_004e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0053: brtrue IL_0193 - - IL_0058: ldloc.2 - IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_005e: stloc.3 - IL_005f: ldloc.1 - IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0065: stloc.s a - IL_0067: ldloc.s a - IL_0069: ldloc.3 - IL_006a: add - IL_006b: ldc.i4.4 - IL_006c: ceq - IL_006e: brfalse IL_0193 - - IL_0073: br IL_017d - - IL_0078: ldloc.1 - IL_0079: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_007e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0083: brfalse IL_0193 - - IL_0088: ldloc.1 - IL_0089: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_008e: stloc.s V_7 - IL_0090: ldloc.s V_7 - IL_0092: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0097: ldc.i4.4 - IL_0098: sub - IL_0099: switch ( - IL_00e7) - IL_00a2: ldloc.s V_7 - IL_00a4: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00a9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ae: brtrue IL_0193 - - IL_00b3: ldloc.s V_7 - IL_00b5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00ba: stloc.s V_8 - IL_00bc: ldloc.1 - IL_00bd: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00c2: stloc.s V_9 - IL_00c4: ldloc.s V_9 - IL_00c6: ldloc.s V_8 - IL_00c8: add - IL_00c9: ldc.i4.4 - IL_00ca: ceq - IL_00cc: brfalse IL_0193 - - IL_00d1: ldloc.s V_7 - IL_00d3: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00d8: ldloc.1 - IL_00d9: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00de: stloc.s V_6 - IL_00e0: stloc.s V_5 - IL_00e2: br IL_018d - - IL_00e7: ldloc.s V_7 - IL_00e9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ee: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00f3: brtrue IL_0193 - - IL_00f8: br IL_0177 - - IL_00fd: ldloc.1 - IL_00fe: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0103: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0108: brfalse IL_0193 - - IL_010d: ldloc.1 - IL_010e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0113: stloc.s V_10 - IL_0115: ldloc.s V_10 - IL_0117: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_011c: ldc.i4.2 - IL_011d: sub - IL_011e: switch ( - IL_0163) - IL_0127: ldloc.s V_10 - IL_0129: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_012e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0133: brtrue.s IL_0193 - - IL_0135: ldloc.s V_10 - IL_0137: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_013c: stloc.s V_11 - IL_013e: ldloc.1 - IL_013f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0144: stloc.s V_12 - IL_0146: ldloc.s V_12 - IL_0148: ldloc.s V_11 - IL_014a: add - IL_014b: ldc.i4.4 - IL_014c: ceq - IL_014e: brfalse.s IL_0193 - - IL_0150: ldloc.s V_10 - IL_0152: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0157: ldloc.1 - IL_0158: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_015d: stloc.s V_6 - IL_015f: stloc.s V_5 - IL_0161: br.s IL_018d - - IL_0163: ldloc.s V_10 - IL_0165: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016f: brtrue.s IL_0193 + IL_0053: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_0058: nop + .line 100001,100001 : 0,0 '' + IL_0059: ldloc.2 + IL_005a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_005f: stloc.3 + IL_0060: ldloc.1 + IL_0061: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0066: stloc.s a + IL_0068: ldloc.s a + IL_006a: ldloc.3 + IL_006b: add + IL_006c: ldc.i4.4 + IL_006d: ceq + IL_006f: brfalse IL_0196 + + IL_0074: br IL_0180 + + .line 100001,100001 : 0,0 '' + IL_0079: ldloc.1 + IL_007a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_007f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0084: brfalse IL_0196 + + IL_0089: ldloc.1 + IL_008a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_008f: stloc.s V_7 + .line 100001,100001 : 0,0 '' + IL_0091: ldloc.s V_7 + IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0098: ldc.i4.4 + IL_0099: sub + IL_009a: switch ( + IL_00e9) + .line 100001,100001 : 0,0 '' + IL_00a3: ldloc.s V_7 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00af: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_00b4: nop + .line 100001,100001 : 0,0 '' + IL_00b5: ldloc.s V_7 + IL_00b7: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00bc: stloc.s V_8 + IL_00be: ldloc.1 + IL_00bf: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00c4: stloc.s V_9 + IL_00c6: ldloc.s V_9 + IL_00c8: ldloc.s V_8 + IL_00ca: add + IL_00cb: ldc.i4.4 + IL_00cc: ceq + IL_00ce: brfalse IL_0196 + + .line 100001,100001 : 0,0 '' + IL_00d3: ldloc.s V_7 + IL_00d5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00da: ldloc.1 + IL_00db: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00e0: stloc.s V_6 + IL_00e2: stloc.s V_5 + IL_00e4: br IL_0190 + + .line 100001,100001 : 0,0 '' + IL_00e9: ldloc.s V_7 + IL_00eb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f0: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f5: brtrue IL_0196 + + IL_00fa: br IL_017a + + .line 100001,100001 : 0,0 '' + IL_00ff: ldloc.1 + IL_0100: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0105: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_010a: brfalse IL_0196 + + IL_010f: ldloc.1 + IL_0110: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0115: stloc.s V_10 + .line 100001,100001 : 0,0 '' + IL_0117: ldloc.s V_10 + IL_0119: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_011e: ldc.i4.2 + IL_011f: sub + IL_0120: switch ( + IL_0166) + .line 100001,100001 : 0,0 '' + IL_0129: ldloc.s V_10 + IL_012b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0130: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0135: brtrue.s IL_0196 + + .line 8,8 : 18,25 '' + IL_0137: nop + .line 100001,100001 : 0,0 '' + IL_0138: ldloc.s V_10 + IL_013a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_013f: stloc.s V_11 + IL_0141: ldloc.1 + IL_0142: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0147: stloc.s V_12 + IL_0149: ldloc.s V_12 + IL_014b: ldloc.s V_11 + IL_014d: add + IL_014e: ldc.i4.4 + IL_014f: ceq + IL_0151: brfalse.s IL_0196 + + .line 100001,100001 : 0,0 '' + IL_0153: ldloc.s V_10 + IL_0155: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_015a: ldloc.1 + IL_015b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0160: stloc.s V_6 + IL_0162: stloc.s V_5 + IL_0164: br.s IL_0190 + + .line 100001,100001 : 0,0 '' + IL_0166: ldloc.s V_10 + IL_0168: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_016d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0172: brtrue.s IL_0196 .line 6,6 : 16,23 '' - IL_0171: ldstr "three" - IL_0176: ret + IL_0174: ldstr "three" + IL_0179: ret .line 7,7 : 16,23 '' - IL_0177: ldstr "seven" - IL_017c: ret - - .line 5,5 : 5,17 '' - IL_017d: ldloc.2 - IL_017e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0183: stloc.s V_5 - IL_0185: ldloc.1 - IL_0186: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_018b: stloc.s V_6 + IL_017a: ldstr "seven" + IL_017f: ret + + .line 100001,100001 : 0,0 '' + IL_0180: ldloc.2 + IL_0181: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0186: stloc.s V_5 + IL_0188: ldloc.1 + IL_0189: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_018e: stloc.s V_6 .line 8,8 : 29,35 '' - IL_018d: ldstr "four" - IL_0192: ret + IL_0190: ldstr "four" + IL_0195: ret .line 9,9 : 12,17 '' - IL_0193: ldstr "big" - IL_0198: ret + IL_0196: ldstr "big" + IL_019b: ret } // end of method TestFunction9b::TestFunction9b } // end of class TestFunction9b diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b1.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b1.il.bsl index 03e2dd2971..1c6f085474 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b1.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b1.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000208 Length: 0x00000083 } .module TestFunction9b1.exe -// MVID: {60B68B97-A406-DAF4-A745-0383978BB660} +// MVID: {611C4D9E-A406-DAF4-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x072C0000 +// Image base: 0x052D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,7 +53,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .method public static string TestFunction9b(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 x) cil managed { - // Code size 409 (0x199) + // Code size 412 (0x19c) .maxstack 4 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, @@ -72,166 +72,190 @@ .line 5,5 : 5,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction9b1.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,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 IL_0193 + IL_0008: brfalse IL_0196 IL_000d: ldloc.0 IL_000e: stloc.1 + .line 100001,100001 : 0,0 '' IL_000f: ldloc.1 IL_0010: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0015: ldc.i4.1 IL_0016: sub IL_0017: switch ( - IL_00fd) + IL_00ff) + .line 100001,100001 : 0,0 '' IL_0020: ldloc.1 IL_0021: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0026: ldc.i4.3 IL_0027: sub IL_0028: switch ( - IL_0078) + IL_0079) + .line 100001,100001 : 0,0 '' IL_0031: ldloc.1 IL_0032: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003c: brfalse IL_0193 + IL_003c: brfalse IL_0196 IL_0041: ldloc.1 IL_0042: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0047: stloc.2 + .line 100001,100001 : 0,0 '' IL_0048: ldloc.2 IL_0049: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_004e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0053: brtrue IL_0193 - - IL_0058: ldloc.2 - IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_005e: stloc.3 - IL_005f: ldloc.1 - IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0065: stloc.s a - IL_0067: ldloc.s a - IL_0069: ldloc.3 - IL_006a: add - IL_006b: ldc.i4.4 - IL_006c: ceq - IL_006e: brfalse IL_0193 - - IL_0073: br IL_017d - - IL_0078: ldloc.1 - IL_0079: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_007e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0083: brfalse IL_0193 - - IL_0088: ldloc.1 - IL_0089: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_008e: stloc.s V_7 - IL_0090: ldloc.s V_7 - IL_0092: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0097: ldc.i4.4 - IL_0098: sub - IL_0099: switch ( - IL_00e7) - IL_00a2: ldloc.s V_7 - IL_00a4: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00a9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ae: brtrue IL_0193 - - IL_00b3: ldloc.s V_7 - IL_00b5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00ba: stloc.s V_8 - IL_00bc: ldloc.1 - IL_00bd: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00c2: stloc.s V_9 - IL_00c4: ldloc.s V_9 - IL_00c6: ldloc.s V_8 - IL_00c8: add - IL_00c9: ldc.i4.4 - IL_00ca: ceq - IL_00cc: brfalse IL_0193 - - IL_00d1: ldloc.s V_7 - IL_00d3: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00d8: ldloc.1 - IL_00d9: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00de: stloc.s V_6 - IL_00e0: stloc.s V_5 - IL_00e2: br IL_018d - - IL_00e7: ldloc.s V_7 - IL_00e9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ee: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00f3: brtrue IL_0193 - - IL_00f8: br IL_0177 - - IL_00fd: ldloc.1 - IL_00fe: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0103: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0108: brfalse IL_0193 - - IL_010d: ldloc.1 - IL_010e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0113: stloc.s V_10 - IL_0115: ldloc.s V_10 - IL_0117: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_011c: ldc.i4.2 - IL_011d: sub - IL_011e: switch ( - IL_0163) - IL_0127: ldloc.s V_10 - IL_0129: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_012e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0133: brtrue.s IL_0193 - - IL_0135: ldloc.s V_10 - IL_0137: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_013c: stloc.s V_11 - IL_013e: ldloc.1 - IL_013f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0144: stloc.s V_12 - IL_0146: ldloc.s V_12 - IL_0148: ldloc.s V_11 - IL_014a: add - IL_014b: ldc.i4.4 - IL_014c: ceq - IL_014e: brfalse.s IL_0193 - - IL_0150: ldloc.s V_10 - IL_0152: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0157: ldloc.1 - IL_0158: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_015d: stloc.s V_6 - IL_015f: stloc.s V_5 - IL_0161: br.s IL_018d - - IL_0163: ldloc.s V_10 - IL_0165: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016f: brtrue.s IL_0193 + IL_0053: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_0058: nop + .line 100001,100001 : 0,0 '' + IL_0059: ldloc.2 + IL_005a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_005f: stloc.3 + IL_0060: ldloc.1 + IL_0061: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0066: stloc.s a + IL_0068: ldloc.s a + IL_006a: ldloc.3 + IL_006b: add + IL_006c: ldc.i4.4 + IL_006d: ceq + IL_006f: brfalse IL_0196 + + IL_0074: br IL_0180 + + .line 100001,100001 : 0,0 '' + IL_0079: ldloc.1 + IL_007a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_007f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0084: brfalse IL_0196 + + IL_0089: ldloc.1 + IL_008a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_008f: stloc.s V_7 + .line 100001,100001 : 0,0 '' + IL_0091: ldloc.s V_7 + IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0098: ldc.i4.4 + IL_0099: sub + IL_009a: switch ( + IL_00e9) + .line 100001,100001 : 0,0 '' + IL_00a3: ldloc.s V_7 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00af: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_00b4: nop + .line 100001,100001 : 0,0 '' + IL_00b5: ldloc.s V_7 + IL_00b7: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00bc: stloc.s V_8 + IL_00be: ldloc.1 + IL_00bf: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00c4: stloc.s V_9 + IL_00c6: ldloc.s V_9 + IL_00c8: ldloc.s V_8 + IL_00ca: add + IL_00cb: ldc.i4.4 + IL_00cc: ceq + IL_00ce: brfalse IL_0196 + + .line 100001,100001 : 0,0 '' + IL_00d3: ldloc.s V_7 + IL_00d5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00da: ldloc.1 + IL_00db: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00e0: stloc.s V_6 + IL_00e2: stloc.s V_5 + IL_00e4: br IL_0190 + + .line 100001,100001 : 0,0 '' + IL_00e9: ldloc.s V_7 + IL_00eb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f0: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f5: brtrue IL_0196 + + IL_00fa: br IL_017a + + .line 100001,100001 : 0,0 '' + IL_00ff: ldloc.1 + IL_0100: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0105: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_010a: brfalse IL_0196 + + IL_010f: ldloc.1 + IL_0110: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0115: stloc.s V_10 + .line 100001,100001 : 0,0 '' + IL_0117: ldloc.s V_10 + IL_0119: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_011e: ldc.i4.2 + IL_011f: sub + IL_0120: switch ( + IL_0166) + .line 100001,100001 : 0,0 '' + IL_0129: ldloc.s V_10 + IL_012b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0130: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0135: brtrue.s IL_0196 + + .line 8,8 : 18,25 '' + IL_0137: nop + .line 100001,100001 : 0,0 '' + IL_0138: ldloc.s V_10 + IL_013a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_013f: stloc.s V_11 + IL_0141: ldloc.1 + IL_0142: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0147: stloc.s V_12 + IL_0149: ldloc.s V_12 + IL_014b: ldloc.s V_11 + IL_014d: add + IL_014e: ldc.i4.4 + IL_014f: ceq + IL_0151: brfalse.s IL_0196 + + .line 100001,100001 : 0,0 '' + IL_0153: ldloc.s V_10 + IL_0155: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_015a: ldloc.1 + IL_015b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0160: stloc.s V_6 + IL_0162: stloc.s V_5 + IL_0164: br.s IL_0190 + + .line 100001,100001 : 0,0 '' + IL_0166: ldloc.s V_10 + IL_0168: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_016d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0172: brtrue.s IL_0196 .line 6,6 : 16,23 '' - IL_0171: ldstr "three" - IL_0176: ret + IL_0174: ldstr "three" + IL_0179: ret .line 7,7 : 16,23 '' - IL_0177: ldstr "seven" - IL_017c: ret - - .line 5,5 : 5,17 '' - IL_017d: ldloc.2 - IL_017e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0183: stloc.s V_5 - IL_0185: ldloc.1 - IL_0186: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_018b: stloc.s V_6 + IL_017a: ldstr "seven" + IL_017f: ret + + .line 100001,100001 : 0,0 '' + IL_0180: ldloc.2 + IL_0181: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0186: stloc.s V_5 + IL_0188: ldloc.1 + IL_0189: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_018e: stloc.s V_6 .line 8,8 : 29,35 '' - IL_018d: ldstr "four" - IL_0192: ret + IL_0190: ldstr "four" + IL_0195: ret .line 9,9 : 12,17 '' - IL_0193: ldstr "big" - IL_0198: ret + IL_0196: ldstr "big" + IL_019b: ret } // end of method TestFunction9b1::TestFunction9b } // end of class TestFunction9b1 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b2.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b2.il.bsl index 1fa79b615e..2552f87ab2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b2.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b2.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000208 Length: 0x00000083 } .module TestFunction9b2.exe -// MVID: {60B68B97-9C0B-E35E-A745-0383978BB660} +// MVID: {611C4D9E-9C0B-E35E-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07220000 +// Image base: 0x06C20000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,7 +53,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .method public static string TestFunction9b(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 x) cil managed { - // Code size 409 (0x199) + // Code size 412 (0x19c) .maxstack 4 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, @@ -72,166 +72,190 @@ .line 5,5 : 5,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction9b2.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,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 IL_0193 + IL_0008: brfalse IL_0196 IL_000d: ldloc.0 IL_000e: stloc.1 + .line 100001,100001 : 0,0 '' IL_000f: ldloc.1 IL_0010: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0015: ldc.i4.1 IL_0016: sub IL_0017: switch ( - IL_00fd) + IL_00ff) + .line 100001,100001 : 0,0 '' IL_0020: ldloc.1 IL_0021: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0026: ldc.i4.3 IL_0027: sub IL_0028: switch ( - IL_0078) + IL_0079) + .line 100001,100001 : 0,0 '' IL_0031: ldloc.1 IL_0032: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003c: brfalse IL_0193 + IL_003c: brfalse IL_0196 IL_0041: ldloc.1 IL_0042: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0047: stloc.2 + .line 100001,100001 : 0,0 '' IL_0048: ldloc.2 IL_0049: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_004e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0053: brtrue IL_0193 - - IL_0058: ldloc.2 - IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_005e: stloc.3 - IL_005f: ldloc.1 - IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0065: stloc.s a - IL_0067: ldloc.s a - IL_0069: ldloc.3 - IL_006a: add - IL_006b: ldc.i4.4 - IL_006c: ceq - IL_006e: brfalse IL_0193 - - IL_0073: br IL_017d - - IL_0078: ldloc.1 - IL_0079: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_007e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0083: brfalse IL_0193 - - IL_0088: ldloc.1 - IL_0089: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_008e: stloc.s V_7 - IL_0090: ldloc.s V_7 - IL_0092: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0097: ldc.i4.4 - IL_0098: sub - IL_0099: switch ( - IL_00e7) - IL_00a2: ldloc.s V_7 - IL_00a4: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00a9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ae: brtrue IL_0193 - - IL_00b3: ldloc.s V_7 - IL_00b5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00ba: stloc.s V_8 - IL_00bc: ldloc.1 - IL_00bd: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00c2: stloc.s V_9 - IL_00c4: ldloc.s V_9 - IL_00c6: ldloc.s V_8 - IL_00c8: add - IL_00c9: ldc.i4.4 - IL_00ca: ceq - IL_00cc: brfalse IL_0193 - - IL_00d1: ldloc.s V_7 - IL_00d3: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00d8: ldloc.1 - IL_00d9: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00de: stloc.s V_6 - IL_00e0: stloc.s V_5 - IL_00e2: br IL_018d - - IL_00e7: ldloc.s V_7 - IL_00e9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ee: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00f3: brtrue IL_0193 - - IL_00f8: br IL_0177 - - IL_00fd: ldloc.1 - IL_00fe: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0103: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0108: brfalse IL_0193 - - IL_010d: ldloc.1 - IL_010e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0113: stloc.s V_10 - IL_0115: ldloc.s V_10 - IL_0117: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_011c: ldc.i4.2 - IL_011d: sub - IL_011e: switch ( - IL_0163) - IL_0127: ldloc.s V_10 - IL_0129: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_012e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0133: brtrue.s IL_0193 - - IL_0135: ldloc.s V_10 - IL_0137: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_013c: stloc.s V_11 - IL_013e: ldloc.1 - IL_013f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0144: stloc.s V_12 - IL_0146: ldloc.s V_12 - IL_0148: ldloc.s V_11 - IL_014a: add - IL_014b: ldc.i4.4 - IL_014c: ceq - IL_014e: brfalse.s IL_0193 - - IL_0150: ldloc.s V_10 - IL_0152: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0157: ldloc.1 - IL_0158: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_015d: stloc.s V_6 - IL_015f: stloc.s V_5 - IL_0161: br.s IL_018d - - IL_0163: ldloc.s V_10 - IL_0165: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016f: brtrue.s IL_0193 + IL_0053: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_0058: nop + .line 100001,100001 : 0,0 '' + IL_0059: ldloc.2 + IL_005a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_005f: stloc.3 + IL_0060: ldloc.1 + IL_0061: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0066: stloc.s a + IL_0068: ldloc.s a + IL_006a: ldloc.3 + IL_006b: add + IL_006c: ldc.i4.4 + IL_006d: ceq + IL_006f: brfalse IL_0196 + + IL_0074: br IL_0180 + + .line 100001,100001 : 0,0 '' + IL_0079: ldloc.1 + IL_007a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_007f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0084: brfalse IL_0196 + + IL_0089: ldloc.1 + IL_008a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_008f: stloc.s V_7 + .line 100001,100001 : 0,0 '' + IL_0091: ldloc.s V_7 + IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0098: ldc.i4.4 + IL_0099: sub + IL_009a: switch ( + IL_00e9) + .line 100001,100001 : 0,0 '' + IL_00a3: ldloc.s V_7 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00af: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_00b4: nop + .line 100001,100001 : 0,0 '' + IL_00b5: ldloc.s V_7 + IL_00b7: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00bc: stloc.s V_8 + IL_00be: ldloc.1 + IL_00bf: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00c4: stloc.s V_9 + IL_00c6: ldloc.s V_9 + IL_00c8: ldloc.s V_8 + IL_00ca: add + IL_00cb: ldc.i4.4 + IL_00cc: ceq + IL_00ce: brfalse IL_0196 + + .line 100001,100001 : 0,0 '' + IL_00d3: ldloc.s V_7 + IL_00d5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00da: ldloc.1 + IL_00db: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00e0: stloc.s V_6 + IL_00e2: stloc.s V_5 + IL_00e4: br IL_0190 + + .line 100001,100001 : 0,0 '' + IL_00e9: ldloc.s V_7 + IL_00eb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f0: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f5: brtrue IL_0196 + + IL_00fa: br IL_017a + + .line 100001,100001 : 0,0 '' + IL_00ff: ldloc.1 + IL_0100: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0105: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_010a: brfalse IL_0196 + + IL_010f: ldloc.1 + IL_0110: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0115: stloc.s V_10 + .line 100001,100001 : 0,0 '' + IL_0117: ldloc.s V_10 + IL_0119: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_011e: ldc.i4.2 + IL_011f: sub + IL_0120: switch ( + IL_0166) + .line 100001,100001 : 0,0 '' + IL_0129: ldloc.s V_10 + IL_012b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0130: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0135: brtrue.s IL_0196 + + .line 8,8 : 18,25 '' + IL_0137: nop + .line 100001,100001 : 0,0 '' + IL_0138: ldloc.s V_10 + IL_013a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_013f: stloc.s V_11 + IL_0141: ldloc.1 + IL_0142: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0147: stloc.s V_12 + IL_0149: ldloc.s V_12 + IL_014b: ldloc.s V_11 + IL_014d: add + IL_014e: ldc.i4.4 + IL_014f: ceq + IL_0151: brfalse.s IL_0196 + + .line 100001,100001 : 0,0 '' + IL_0153: ldloc.s V_10 + IL_0155: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_015a: ldloc.1 + IL_015b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0160: stloc.s V_6 + IL_0162: stloc.s V_5 + IL_0164: br.s IL_0190 + + .line 100001,100001 : 0,0 '' + IL_0166: ldloc.s V_10 + IL_0168: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_016d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0172: brtrue.s IL_0196 .line 6,6 : 16,23 '' - IL_0171: ldstr "three" - IL_0176: ret + IL_0174: ldstr "three" + IL_0179: ret .line 7,7 : 16,23 '' - IL_0177: ldstr "seven" - IL_017c: ret - - .line 5,5 : 5,17 '' - IL_017d: ldloc.2 - IL_017e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0183: stloc.s V_5 - IL_0185: ldloc.1 - IL_0186: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_018b: stloc.s V_6 + IL_017a: ldstr "seven" + IL_017f: ret + + .line 100001,100001 : 0,0 '' + IL_0180: ldloc.2 + IL_0181: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0186: stloc.s V_5 + IL_0188: ldloc.1 + IL_0189: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_018e: stloc.s V_6 .line 8,8 : 29,35 '' - IL_018d: ldstr "four" - IL_0192: ret + IL_0190: ldstr "four" + IL_0195: ret .line 9,9 : 12,17 '' - IL_0193: ldstr "big" - IL_0198: ret + IL_0196: ldstr "big" + IL_019b: ret } // end of method TestFunction9b2::TestFunction9b } // end of class TestFunction9b2 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b3.il.bsl index 855fe60eaf..27c44babf3 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b3.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction9b3.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000208 Length: 0x00000083 } .module TestFunction9b3.exe -// MVID: {60B68B97-C1A4-612A-A745-0383978BB660} +// MVID: {611C4D9E-C1A4-612A-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x068C0000 +// Image base: 0x06690000 // =============== CLASS MEMBERS DECLARATION =================== @@ -53,7 +53,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .method public static string TestFunction9b(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 x) cil managed { - // Code size 409 (0x199) + // Code size 412 (0x19c) .maxstack 4 .locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, [1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, @@ -72,166 +72,190 @@ .line 5,5 : 5,17 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction9b3.fs' IL_0000: ldarg.0 IL_0001: stloc.0 + .line 100001,100001 : 0,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 IL_0193 + IL_0008: brfalse IL_0196 IL_000d: ldloc.0 IL_000e: stloc.1 + .line 100001,100001 : 0,0 '' IL_000f: ldloc.1 IL_0010: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0015: ldc.i4.1 IL_0016: sub IL_0017: switch ( - IL_00fd) + IL_00ff) + .line 100001,100001 : 0,0 '' IL_0020: ldloc.1 IL_0021: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() IL_0026: ldc.i4.3 IL_0027: sub IL_0028: switch ( - IL_0078) + IL_0079) + .line 100001,100001 : 0,0 '' IL_0031: ldloc.1 IL_0032: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003c: brfalse IL_0193 + IL_003c: brfalse IL_0196 IL_0041: ldloc.1 IL_0042: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0047: stloc.2 + .line 100001,100001 : 0,0 '' IL_0048: ldloc.2 IL_0049: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_004e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0053: brtrue IL_0193 - - IL_0058: ldloc.2 - IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_005e: stloc.3 - IL_005f: ldloc.1 - IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0065: stloc.s a - IL_0067: ldloc.s a - IL_0069: ldloc.3 - IL_006a: add - IL_006b: ldc.i4.4 - IL_006c: ceq - IL_006e: brfalse IL_0193 - - IL_0073: br IL_017d - - IL_0078: ldloc.1 - IL_0079: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_007e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0083: brfalse IL_0193 - - IL_0088: ldloc.1 - IL_0089: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_008e: stloc.s V_7 - IL_0090: ldloc.s V_7 - IL_0092: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0097: ldc.i4.4 - IL_0098: sub - IL_0099: switch ( - IL_00e7) - IL_00a2: ldloc.s V_7 - IL_00a4: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00a9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ae: brtrue IL_0193 - - IL_00b3: ldloc.s V_7 - IL_00b5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00ba: stloc.s V_8 - IL_00bc: ldloc.1 - IL_00bd: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00c2: stloc.s V_9 - IL_00c4: ldloc.s V_9 - IL_00c6: ldloc.s V_8 - IL_00c8: add - IL_00c9: ldc.i4.4 - IL_00ca: ceq - IL_00cc: brfalse IL_0193 - - IL_00d1: ldloc.s V_7 - IL_00d3: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00d8: ldloc.1 - IL_00d9: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_00de: stloc.s V_6 - IL_00e0: stloc.s V_5 - IL_00e2: br IL_018d - - IL_00e7: ldloc.s V_7 - IL_00e9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00ee: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00f3: brtrue IL_0193 - - IL_00f8: br IL_0177 - - IL_00fd: ldloc.1 - IL_00fe: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0103: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0108: brfalse IL_0193 - - IL_010d: ldloc.1 - IL_010e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0113: stloc.s V_10 - IL_0115: ldloc.s V_10 - IL_0117: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_011c: ldc.i4.2 - IL_011d: sub - IL_011e: switch ( - IL_0163) - IL_0127: ldloc.s V_10 - IL_0129: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_012e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0133: brtrue.s IL_0193 - - IL_0135: ldloc.s V_10 - IL_0137: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_013c: stloc.s V_11 - IL_013e: ldloc.1 - IL_013f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0144: stloc.s V_12 - IL_0146: ldloc.s V_12 - IL_0148: ldloc.s V_11 - IL_014a: add - IL_014b: ldc.i4.4 - IL_014c: ceq - IL_014e: brfalse.s IL_0193 - - IL_0150: ldloc.s V_10 - IL_0152: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0157: ldloc.1 - IL_0158: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_015d: stloc.s V_6 - IL_015f: stloc.s V_5 - IL_0161: br.s IL_018d - - IL_0163: ldloc.s V_10 - IL_0165: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_016f: brtrue.s IL_0193 + IL_0053: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_0058: nop + .line 100001,100001 : 0,0 '' + IL_0059: ldloc.2 + IL_005a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_005f: stloc.3 + IL_0060: ldloc.1 + IL_0061: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0066: stloc.s a + IL_0068: ldloc.s a + IL_006a: ldloc.3 + IL_006b: add + IL_006c: ldc.i4.4 + IL_006d: ceq + IL_006f: brfalse IL_0196 + + IL_0074: br IL_0180 + + .line 100001,100001 : 0,0 '' + IL_0079: ldloc.1 + IL_007a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_007f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0084: brfalse IL_0196 + + IL_0089: ldloc.1 + IL_008a: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_008f: stloc.s V_7 + .line 100001,100001 : 0,0 '' + IL_0091: ldloc.s V_7 + IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0098: ldc.i4.4 + IL_0099: sub + IL_009a: switch ( + IL_00e9) + .line 100001,100001 : 0,0 '' + IL_00a3: ldloc.s V_7 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00af: brtrue IL_0196 + + .line 8,8 : 18,25 '' + IL_00b4: nop + .line 100001,100001 : 0,0 '' + IL_00b5: ldloc.s V_7 + IL_00b7: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00bc: stloc.s V_8 + IL_00be: ldloc.1 + IL_00bf: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00c4: stloc.s V_9 + IL_00c6: ldloc.s V_9 + IL_00c8: ldloc.s V_8 + IL_00ca: add + IL_00cb: ldc.i4.4 + IL_00cc: ceq + IL_00ce: brfalse IL_0196 + + .line 100001,100001 : 0,0 '' + IL_00d3: ldloc.s V_7 + IL_00d5: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00da: ldloc.1 + IL_00db: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_00e0: stloc.s V_6 + IL_00e2: stloc.s V_5 + IL_00e4: br IL_0190 + + .line 100001,100001 : 0,0 '' + IL_00e9: ldloc.s V_7 + IL_00eb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f0: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00f5: brtrue IL_0196 + + IL_00fa: br IL_017a + + .line 100001,100001 : 0,0 '' + IL_00ff: ldloc.1 + IL_0100: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0105: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_010a: brfalse IL_0196 + + IL_010f: ldloc.1 + IL_0110: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0115: stloc.s V_10 + .line 100001,100001 : 0,0 '' + IL_0117: ldloc.s V_10 + IL_0119: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_011e: ldc.i4.2 + IL_011f: sub + IL_0120: switch ( + IL_0166) + .line 100001,100001 : 0,0 '' + IL_0129: ldloc.s V_10 + IL_012b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0130: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0135: brtrue.s IL_0196 + + .line 8,8 : 18,25 '' + IL_0137: nop + .line 100001,100001 : 0,0 '' + IL_0138: ldloc.s V_10 + IL_013a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_013f: stloc.s V_11 + IL_0141: ldloc.1 + IL_0142: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0147: stloc.s V_12 + IL_0149: ldloc.s V_12 + IL_014b: ldloc.s V_11 + IL_014d: add + IL_014e: ldc.i4.4 + IL_014f: ceq + IL_0151: brfalse.s IL_0196 + + .line 100001,100001 : 0,0 '' + IL_0153: ldloc.s V_10 + IL_0155: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_015a: ldloc.1 + IL_015b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0160: stloc.s V_6 + IL_0162: stloc.s V_5 + IL_0164: br.s IL_0190 + + .line 100001,100001 : 0,0 '' + IL_0166: ldloc.s V_10 + IL_0168: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_016d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0172: brtrue.s IL_0196 .line 6,6 : 16,23 '' - IL_0171: ldstr "three" - IL_0176: ret + IL_0174: ldstr "three" + IL_0179: ret .line 7,7 : 16,23 '' - IL_0177: ldstr "seven" - IL_017c: ret - - .line 5,5 : 5,17 '' - IL_017d: ldloc.2 - IL_017e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0183: stloc.s V_5 - IL_0185: ldloc.1 - IL_0186: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_018b: stloc.s V_6 + IL_017a: ldstr "seven" + IL_017f: ret + + .line 100001,100001 : 0,0 '' + IL_0180: ldloc.2 + IL_0181: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0186: stloc.s V_5 + IL_0188: ldloc.1 + IL_0189: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_018e: stloc.s V_6 .line 8,8 : 29,35 '' - IL_018d: ldstr "four" - IL_0192: ret + IL_0190: ldstr "four" + IL_0195: ret .line 9,9 : 12,17 '' - IL_0193: ldstr "big" - IL_0198: ret + IL_0196: ldstr "big" + IL_019b: ret } // end of method TestFunction9b3::TestFunction9b } // end of class TestFunction9b3 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/OptionalArg01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/OptionalArg01.il.bsl index 1a3ed26f34..96b5fb284f 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/OptionalArg01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/OptionalArg01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000460 Length: 0x00000445 } .module OptionalArg01.exe -// MVID: {60EDBC4B-4F48-B5AF-A745-03834BBCED60} +// MVID: {611C4D9E-4F48-B5AF-A745-03839E4D1C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07190000 +// Image base: 0x064B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -98,7 +98,7 @@ .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 ) - // Code size 91 (0x5b) + // Code size 93 (0x5d) .maxstack 4 .locals init ([0] int32 count, [1] int32 V_1, @@ -106,96 +106,102 @@ [3] class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3, [4] class OptionalArg01/A v2) .line 10,10 : 9,44 '' - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0005 + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: brfalse.s IL_0006 - IL_0003: br.s IL_0009 + IL_0004: br.s IL_000a .line 8,8 : 43,48 '' - IL_0005: ldc.i4.0 + IL_0006: ldc.i4.0 .line 16707566,16707566 : 0,0 '' - IL_0006: nop - IL_0007: br.s IL_000b + IL_0007: nop + IL_0008: br.s IL_000c .line 8,8 : 61,70 '' - IL_0009: ldc.i4.1 + IL_000a: ldc.i4.1 .line 16707566,16707566 : 0,0 '' - IL_000a: nop + IL_000b: nop .line 16707566,16707566 : 0,0 '' - IL_000b: stloc.0 + IL_000c: stloc.0 .line 10,10 : 9,44 '' - IL_000c: ldarg.1 - IL_000d: brfalse.s IL_0011 + IL_000d: nop + .line 16707566,16707566 : 0,0 '' + IL_000e: ldarg.1 + IL_000f: brfalse.s IL_0013 - IL_000f: br.s IL_0015 + IL_0011: br.s IL_0017 .line 9,9 : 43,48 '' - IL_0011: ldloc.0 + IL_0013: ldloc.0 .line 16707566,16707566 : 0,0 '' - IL_0012: nop - IL_0013: br.s IL_0019 + IL_0014: nop + IL_0015: br.s IL_001b .line 9,9 : 61,70 '' - IL_0015: ldloc.0 - IL_0016: ldc.i4.1 - IL_0017: add + IL_0017: ldloc.0 + IL_0018: ldc.i4.1 + IL_0019: add .line 16707566,16707566 : 0,0 '' - IL_0018: nop + IL_001a: nop .line 16707566,16707566 : 0,0 '' - IL_0019: stloc.1 + IL_001b: stloc.1 .line 10,10 : 9,44 '' - IL_001a: ldloc.1 - IL_001b: newobj instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) - IL_0020: stloc.2 - IL_0021: ldarg.0 - IL_0022: brfalse.s IL_0026 + IL_001c: ldloc.1 + IL_001d: newobj instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) + IL_0022: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0023: ldarg.0 + IL_0024: brfalse.s IL_0028 - IL_0024: br.s IL_002a + IL_0026: br.s IL_002c .line 11,11 : 31,33 '' - IL_0026: nop + IL_0028: nop .line 16707566,16707566 : 0,0 '' - IL_0027: nop - IL_0028: br.s IL_003d + IL_0029: nop + IL_002a: br.s IL_003f - .line 10,10 : 9,44 '' - IL_002a: ldarg.0 - IL_002b: stloc.3 - IL_002c: ldloc.3 - IL_002d: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() - IL_0032: stloc.s v2 + .line 16707566,16707566 : 0,0 '' + IL_002c: ldarg.0 + IL_002d: stloc.3 + IL_002e: ldloc.3 + IL_002f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0034: stloc.s v2 .line 11,11 : 47,62 '' - IL_0034: ldloc.2 - IL_0035: ldloc.s v2 - IL_0037: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0036: ldloc.2 + IL_0037: ldloc.s v2 + IL_0039: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + .line 16707566,16707566 : 0,0 '' + IL_003e: nop .line 16707566,16707566 : 0,0 '' - IL_003c: nop - IL_003d: ldarg.1 - IL_003e: brfalse.s IL_0042 + IL_003f: ldarg.1 + IL_0040: brfalse.s IL_0044 - IL_0040: br.s IL_0046 + IL_0042: br.s IL_0048 .line 12,12 : 31,33 '' - IL_0042: nop + IL_0044: nop .line 16707566,16707566 : 0,0 '' - IL_0043: nop - IL_0044: br.s IL_0059 + IL_0045: nop + IL_0046: br.s IL_005b - .line 11,11 : 47,62 '' - IL_0046: ldarg.1 - IL_0047: stloc.3 - IL_0048: ldloc.3 - IL_0049: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() - IL_004e: stloc.s v2 + .line 16707566,16707566 : 0,0 '' + IL_0048: ldarg.1 + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0050: stloc.s v2 .line 12,12 : 47,62 '' - IL_0050: ldloc.2 - IL_0051: ldloc.s v2 - IL_0053: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0052: ldloc.2 + IL_0053: ldloc.s v2 + IL_0055: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) .line 16707566,16707566 : 0,0 '' - IL_0058: nop + IL_005a: nop .line 13,13 : 9,16 '' - IL_0059: ldloc.2 - IL_005a: ret + IL_005b: ldloc.2 + IL_005c: ret } // end of method C::F } // end of class C diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/TupleElimination.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/TupleElimination.il.bsl index 32383a15ef..56515db102 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/TupleElimination.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Tuples/TupleElimination.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000230 Length: 0x0000007B } .module TupleElimination.exe -// MVID: {60EF4161-DFDD-92DF-A745-03836141EF60} +// MVID: {611C52B3-DFDD-92DF-A745-0383B3521C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x065E0000 +// Image base: 0x050E0000 // =============== CLASS MEMBERS DECLARATION =================== diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare01.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare01.il.bsl index 74527f0d70..3b7ce52448 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare01.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare01.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000228 Length: 0x000000B2 } .module Compare01.dll -// MVID: {60BE1F16-04A0-F88E-A745-0383161FBE60} +// MVID: {611C550D-04A0-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05230000 +// Image base: 0x09070000 // =============== CLASS MEMBERS DECLARATION =================== @@ -76,6 +76,7 @@ IL_0007: ldc.i4.1 IL_0008: cgt IL_000a: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_000b: ldloc.2 IL_000c: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare02.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare02.il.bsl index 035762e696..f9763f7b1b 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare02.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare02.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000230 Length: 0x000000B9 } .module Compare02.dll -// MVID: {60BE1F16-0481-F88E-A745-0383161FBE60} +// MVID: {611C550D-0481-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07180000 +// Image base: 0x05530000 // =============== CLASS MEMBERS DECLARATION =================== @@ -77,6 +77,7 @@ IL_0007: ldc.i4.1 IL_0008: cgt IL_000a: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_000b: ldloc.2 IL_000c: brfalse.s IL_0012 @@ -91,6 +92,7 @@ IL_0013: ldc.i4.2 IL_0014: cgt IL_0016: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0017: ldloc.3 IL_0018: brfalse.s IL_001e diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare03.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare03.il.bsl index f4542c7837..2c32497fb4 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare03.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare03.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000238 Length: 0x000000B9 } .module Compare03.dll -// MVID: {60BE1F16-0562-F88E-A745-0383161FBE60} +// MVID: {611C550D-0562-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x09540000 +// Image base: 0x05000000 // =============== CLASS MEMBERS DECLARATION =================== @@ -83,6 +83,7 @@ IL_0007: ldc.i4.1 IL_0008: cgt IL_000a: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_000b: ldloc.2 IL_000c: brfalse.s IL_0012 @@ -97,6 +98,7 @@ IL_0013: ldc.i4.2 IL_0014: cgt IL_0016: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0017: ldloc.3 IL_0018: brfalse.s IL_001e @@ -111,6 +113,7 @@ IL_001f: ldc.i4.4 IL_0020: cgt IL_0022: stloc.s V_4 + .line 16707566,16707566 : 0,0 '' IL_0024: ldloc.s V_4 IL_0026: brfalse.s IL_002d diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare04.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare04.il.bsl index 3c703ad046..81438746bf 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare04.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare04.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000238 Length: 0x000000B9 } .module Compare04.dll -// MVID: {60BE1F16-053B-F88E-A745-0383161FBE60} +// MVID: {611C550D-053B-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x04FB0000 +// Image base: 0x071C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -84,6 +84,7 @@ IL_000a: ldc.i4.1 IL_000b: cgt IL_000d: stloc.2 + .line 16707566,16707566 : 0,0 '' IL_000e: ldloc.2 IL_000f: brfalse.s IL_0018 @@ -98,6 +99,7 @@ IL_0019: ldc.i4.2 IL_001a: cgt IL_001c: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_001d: ldloc.3 IL_001e: brfalse.s IL_0027 @@ -112,6 +114,7 @@ IL_0028: ldc.i4.4 IL_0029: cgt IL_002b: stloc.s V_4 + .line 16707566,16707566 : 0,0 '' IL_002d: ldloc.s V_4 IL_002f: brfalse.s IL_0039 @@ -127,6 +130,7 @@ IL_0043: call int32 [netstandard]System.String::CompareOrdinal(string, string) IL_0048: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_004a: ldloc.s V_5 IL_004c: brfalse.s IL_0053 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.bsl index 5bf6d5ccbd..7920cf478b 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006E0 Length: 0x000003BA } .module Compare05.dll -// MVID: {60BE1F16-051C-F88E-A745-0383161FBE60} +// MVID: {611C550D-051C-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06AE0000 +// Image base: 0x070E0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Compare05/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare05.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare05.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Compare05/CompareMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_1, [2] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Compare05/CompareMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Compare05/CompareMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0017: ldloc.1 + IL_0018: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Compare05/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare05/CompareMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_0013: ldloc.0 + IL_0014: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Compare05/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Compare05/CompareMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare06.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare06.il.bsl index f79e000a95..0e4e347ea0 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare06.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare06.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006D8 Length: 0x000003BC } .module Compare06.dll -// MVID: {60BE1F16-04FD-F88E-A745-0383161FBE60} +// MVID: {611C550D-04FD-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A50000 +// Image base: 0x04F30000 // =============== CLASS MEMBERS DECLARATION =================== @@ -123,109 +123,114 @@ instance int32 CompareTo(class Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 101 (0x65) + // Code size 102 (0x66) .maxstack 4 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IComparer V_1, [2] int32 V_2, [3] int32 V_3) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare06.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_005b + .line 4,4 : 10,14 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare06.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_005c .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0059 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_005a .line 16707566,16707566 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: stloc.2 - IL_0019: ldarg.1 - IL_001a: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: bge.s IL_0028 + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: stloc.2 + IL_001a: ldarg.1 + IL_001b: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0020: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: bge.s IL_0029 .line 16707566,16707566 : 0,0 '' - IL_0024: ldc.i4.m1 + IL_0025: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_0025: nop - IL_0026: br.s IL_002d + IL_0026: nop + IL_0027: br.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0028: ldloc.2 - IL_0029: ldloc.3 - IL_002a: cgt + IL_0029: ldloc.2 + IL_002a: ldloc.3 + IL_002b: cgt .line 16707566,16707566 : 0,0 '' - IL_002c: nop + IL_002d: nop .line 16707566,16707566 : 0,0 '' - IL_002d: stloc.0 - IL_002e: ldloc.0 - IL_002f: ldc.i4.0 - IL_0030: bge.s IL_0034 + IL_002e: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: bge.s IL_0035 .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.0 - IL_0033: ret + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldloc.0 - IL_0035: ldc.i4.0 - IL_0036: ble.s IL_003a + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ble.s IL_003b .line 16707566,16707566 : 0,0 '' - IL_0038: ldloc.0 - IL_0039: ret + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_003f: stloc.1 - IL_0040: ldarg.0 - IL_0041: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0046: stloc.2 - IL_0047: ldarg.1 - IL_0048: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_004d: stloc.3 - IL_004e: ldloc.2 - IL_004f: ldloc.3 - IL_0050: bge.s IL_0054 + IL_003b: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0040: stloc.1 + IL_0041: ldarg.0 + IL_0042: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0047: stloc.2 + IL_0048: ldarg.1 + IL_0049: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_004e: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_004f: ldloc.2 + IL_0050: ldloc.3 + IL_0051: bge.s IL_0055 .line 16707566,16707566 : 0,0 '' - IL_0052: ldc.i4.m1 - IL_0053: ret + IL_0053: ldc.i4.m1 + IL_0054: ret .line 16707566,16707566 : 0,0 '' - IL_0054: ldloc.2 - IL_0055: ldloc.3 - IL_0056: cgt - IL_0058: ret + IL_0055: ldloc.2 + IL_0056: ldloc.3 + IL_0057: cgt + IL_0059: ret .line 16707566,16707566 : 0,0 '' - IL_0059: ldc.i4.1 - IL_005a: ret + IL_005a: ldc.i4.1 + IL_005b: ret .line 16707566,16707566 : 0,0 '' - IL_005b: ldarg.1 - IL_005c: ldnull - IL_005d: cgt.un - IL_005f: brfalse.s IL_0063 + IL_005c: ldarg.1 + IL_005d: ldnull + IL_005e: cgt.un + IL_0060: brfalse.s IL_0064 .line 16707566,16707566 : 0,0 '' - IL_0061: ldc.i4.m1 - IL_0062: ret + IL_0062: ldc.i4.m1 + IL_0063: ret .line 16707566,16707566 : 0,0 '' - IL_0063: ldc.i4.0 - IL_0064: ret + IL_0064: ldc.i4.0 + IL_0065: ret } // end of method KeyR::CompareTo .method public hidebysig virtual final @@ -257,6 +262,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -276,6 +282,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ IL_0025: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0026: ldloc.2 IL_0027: ldloc.3 IL_0028: bge.s IL_002e @@ -294,6 +301,7 @@ IL_0032: nop .line 16707566,16707566 : 0,0 '' IL_0033: stloc.1 + .line 16707566,16707566 : 0,0 '' IL_0034: ldloc.1 IL_0035: ldc.i4.0 IL_0036: bge.s IL_003a @@ -318,6 +326,7 @@ IL_0047: ldloc.0 IL_0048: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ IL_004d: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_004e: ldloc.2 IL_004f: ldloc.3 IL_0050: bge.s IL_0054 @@ -356,50 +365,52 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 54 (0x36) + // Code size 55 (0x37) .maxstack 7 .locals init ([0] int32 V_0) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0034 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.0 - IL_000e: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - 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 + .line 4,4 : 10,14 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0035 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.0 + IL_000f: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0014: ldloc.0 + IL_0015: ldc.i4.6 + IL_0016: shl + IL_0017: ldloc.0 + IL_0018: ldc.i4.2 + IL_0019: shr IL_001a: add IL_001b: add - IL_001c: stloc.0 - IL_001d: ldc.i4 0x9e3779b9 - IL_0022: ldarg.0 - IL_0023: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - 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_001c: add + IL_001d: stloc.0 + IL_001e: ldc.i4 0x9e3779b9 + IL_0023: ldarg.0 + IL_0024: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0029: ldloc.0 + IL_002a: ldc.i4.6 + IL_002b: shl + IL_002c: ldloc.0 + IL_002d: ldc.i4.2 + IL_002e: shr IL_002f: add IL_0030: add - IL_0031: stloc.0 - IL_0032: ldloc.0 - IL_0033: ret + IL_0031: add + IL_0032: stloc.0 + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldc.i4.0 - IL_0035: ret + IL_0035: ldc.i4.0 + IL_0036: ret } // end of method KeyR::GetHashCode .method public hidebysig virtual final @@ -420,102 +431,107 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 57 (0x39) + // Code size 58 (0x3a) .maxstack 4 .locals init ([0] class Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR V_0) + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0031 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002f + IL_0007: ldarg.1 + IL_0008: isinst Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0016: ldloc.0 - IL_0017: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001c: bne.un.s IL_002d + IL_0011: ldarg.0 + IL_0012: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0017: ldloc.0 + IL_0018: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_001d: bne.un.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_001e: ldarg.0 - IL_001f: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0024: ldloc.0 - IL_0025: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_002a: ceq - IL_002c: ret + IL_001f: ldarg.0 + IL_0020: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0025: ldloc.0 + IL_0026: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_002b: ceq + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldc.i4.0 - IL_002e: ret + IL_002e: ldc.i4.0 + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldarg.1 - IL_0032: ldnull - IL_0033: cgt.un - IL_0035: ldc.i4.0 - IL_0036: ceq - IL_0038: ret + IL_0032: ldarg.1 + IL_0033: ldnull + IL_0034: cgt.un + IL_0036: ldc.i4.0 + IL_0037: ceq + IL_0039: ret } // end of method KeyR::Equals .method public hidebysig virtual final instance bool Equals(class Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 53 (0x35) + // Code size 54 (0x36) .maxstack 8 + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_002b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0012: ldarg.1 - IL_0013: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: bne.un.s IL_0029 + IL_000d: ldarg.0 + IL_000e: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0013: ldarg.1 + IL_0014: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: bne.un.s IL_002a .line 16707566,16707566 : 0,0 '' - IL_001a: ldarg.0 - IL_001b: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0020: ldarg.1 - IL_0021: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0026: ceq - IL_0028: ret + IL_001b: ldarg.0 + IL_001c: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0021: ldarg.1 + IL_0022: ldfld int32 Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0027: ceq + IL_0029: ret .line 16707566,16707566 : 0,0 '' - IL_0029: ldc.i4.0 - IL_002a: ret + IL_002a: ldc.i4.0 + IL_002b: ret .line 16707566,16707566 : 0,0 '' - IL_002b: ldc.i4.0 - IL_002c: ret + IL_002c: ldc.i4.0 + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldarg.1 - IL_002e: ldnull - IL_002f: cgt.un - IL_0031: ldc.i4.0 - IL_0032: ceq - IL_0034: ret + IL_002e: ldarg.1 + IL_002f: ldnull + IL_0030: cgt.un + IL_0032: ldc.i4.0 + IL_0033: ceq + IL_0035: ret } // end of method KeyR::Equals .method public hidebysig virtual final @@ -529,6 +545,7 @@ IL_0000: ldarg.1 IL_0001: isinst Compare06/CompareMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.bsl index 9effce1baf..400de5cfc7 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000890 Length: 0x0000068C } .module Compare07.dll -// MVID: {60BE1F16-05DE-F88E-A745-0383161FBE60} +// MVID: {611C550D-05DE-F88E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05810000 +// Image base: 0x058A0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 110 (0x6e) + // Code size 111 (0x6f) .maxstack 5 .locals init ([0] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, @@ -187,93 +187,96 @@ [4] !a V_4, [5] !a V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare07.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0064 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0062 - - .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop - .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldloc.s V_5 - IL_002d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + .line 4,4 : 10,20 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare07.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0065 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0063 + + .line 16707566,16707566 : 0,0 '' + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0032: stloc.2 - IL_0033: ldloc.2 - IL_0034: ldc.i4.0 - IL_0035: bge.s IL_0039 + IL_0033: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0034: ldloc.2 + IL_0035: ldc.i4.0 + IL_0036: bge.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0037: ldloc.2 - IL_0038: ret + IL_0038: ldloc.2 + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: ble.s IL_003f + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ble.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0044: stloc.3 - IL_0045: ldloc.0 - IL_0046: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_004b: stloc.s V_4 - IL_004d: ldloc.1 - IL_004e: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0053: stloc.s V_5 - IL_0055: ldloc.3 - IL_0056: ldloc.s V_4 - IL_0058: ldloc.s V_5 - IL_005a: tail. - IL_005c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + IL_0040: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0045: stloc.3 + IL_0046: ldloc.0 + IL_0047: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_004c: stloc.s V_4 + IL_004e: ldloc.1 + IL_004f: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0054: stloc.s V_5 + IL_0056: ldloc.3 + IL_0057: ldloc.s V_4 + IL_0059: ldloc.s V_5 + IL_005b: tail. + IL_005d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0061: ret + IL_0062: ret .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.1 - IL_0063: ret + IL_0063: ldc.i4.1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldarg.1 - IL_0065: ldnull - IL_0066: cgt.un - IL_0068: brfalse.s IL_006c + IL_0065: ldarg.1 + IL_0066: ldnull + IL_0067: cgt.un + IL_0069: brfalse.s IL_006d .line 16707566,16707566 : 0,0 '' - IL_006a: ldc.i4.m1 - IL_006b: ret + IL_006b: ldc.i4.m1 + IL_006c: ret .line 16707566,16707566 : 0,0 '' - IL_006c: ldc.i4.0 - IL_006d: ret + IL_006d: ldc.i4.0 + IL_006e: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -308,6 +311,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -341,6 +345,7 @@ !!0, !!0) IL_0038: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0039: ldloc.3 IL_003a: ldc.i4.0 IL_003b: bge.s IL_003f @@ -398,69 +403,72 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 76 (0x4c) + // Code size 77 (0x4d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0019: stloc.2 - IL_001a: ldarg.1 - IL_001b: ldloc.2 - IL_001c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + .line 4,4 : 10,20 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_004b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_001a: stloc.2 + IL_001b: ldarg.1 + IL_001c: ldloc.2 + IL_001d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_0021: ldloc.0 - IL_0022: ldc.i4.6 - IL_0023: shl - IL_0024: ldloc.0 - IL_0025: ldc.i4.2 - IL_0026: shr - IL_0027: add + IL_0022: ldloc.0 + IL_0023: ldc.i4.6 + IL_0024: shl + IL_0025: ldloc.0 + IL_0026: ldc.i4.2 + IL_0027: shr IL_0028: add IL_0029: add - IL_002a: stloc.0 - IL_002b: ldc.i4 0x9e3779b9 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0036: stloc.2 - IL_0037: ldarg.1 - IL_0038: ldloc.2 - IL_0039: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002a: add + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0037: stloc.2 + IL_0038: ldarg.1 + IL_0039: ldloc.2 + IL_003a: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_003e: ldloc.0 - IL_003f: ldc.i4.6 - IL_0040: shl - IL_0041: ldloc.0 - IL_0042: ldc.i4.2 - IL_0043: shr - IL_0044: add + IL_003f: ldloc.0 + IL_0040: ldc.i4.6 + IL_0041: shl + IL_0042: ldloc.0 + IL_0043: ldc.i4.2 + IL_0044: shr IL_0045: add IL_0046: add - IL_0047: stloc.0 - IL_0048: ldloc.0 - IL_0049: ret + IL_0047: add + IL_0048: stloc.0 + IL_0049: ldloc.0 + IL_004a: ret .line 16707566,16707566 : 0,0 '' - IL_004a: ldc.i4.0 - IL_004b: ret + IL_004b: ldc.i4.0 + IL_004c: ret } // end of method GenericKey`1::GetHashCode .method public hidebysig virtual final @@ -481,152 +489,159 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 87 (0x57) + // Code size 88 (0x58) .maxstack 5 .locals init ([0] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_2, [3] !a V_3, [4] !a V_4) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004f - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_004d - - .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop - .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001c: stloc.3 - IL_001d: ldloc.2 - IL_001e: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0023: stloc.s V_4 - IL_0025: ldarg.2 - IL_0026: ldloc.3 - IL_0027: ldloc.s V_4 - IL_0029: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0050 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: isinst class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_004e + + .line 16707566,16707566 : 0,0 '' + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001d: stloc.3 + IL_001e: ldloc.2 + IL_001f: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0024: stloc.s V_4 + IL_0026: ldarg.2 + IL_0027: ldloc.3 + IL_0028: ldloc.s V_4 + IL_002a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_002e: brfalse.s IL_004b - - .line 16707566,16707566 : 0,0 '' - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_003d: stloc.s V_4 - IL_003f: ldarg.2 - IL_0040: ldloc.3 - IL_0041: ldloc.s V_4 - IL_0043: tail. - IL_0045: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002f: brfalse.s IL_004c + + .line 16707566,16707566 : 0,0 '' + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_003e: stloc.s V_4 + IL_0040: ldarg.2 + IL_0041: ldloc.3 + IL_0042: ldloc.s V_4 + IL_0044: tail. + IL_0046: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_004a: ret + IL_004b: ret .line 16707566,16707566 : 0,0 '' - IL_004b: ldc.i4.0 - IL_004c: ret + IL_004c: ldc.i4.0 + IL_004d: ret .line 16707566,16707566 : 0,0 '' - IL_004d: ldc.i4.0 - IL_004e: ret + IL_004e: ldc.i4.0 + IL_004f: ret .line 16707566,16707566 : 0,0 '' - IL_004f: ldarg.1 - IL_0050: ldnull - IL_0051: cgt.un - IL_0053: ldc.i4.0 - IL_0054: ceq - IL_0056: ret + IL_0050: ldarg.1 + IL_0051: ldnull + IL_0052: cgt.un + IL_0054: ldc.i4.0 + IL_0055: ceq + IL_0057: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final instance bool Equals(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 77 (0x4d) + // Code size 78 (0x4e) .maxstack 4 .locals init ([0] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2, [3] !a V_3) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0045 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0043 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0044 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0027: brfalse.s IL_0041 - - .line 16707566,16707566 : 0,0 '' - IL_0029: ldloc.0 - IL_002a: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_002f: stloc.2 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldloc.3 - IL_0039: tail. - IL_003b: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_0028: brfalse.s IL_0042 + + .line 16707566,16707566 : 0,0 '' + IL_002a: ldloc.0 + IL_002b: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0030: stloc.2 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldloc.3 + IL_003a: tail. + IL_003c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0040: ret + IL_0041: ret .line 16707566,16707566 : 0,0 '' - IL_0041: ldc.i4.0 - IL_0042: ret + IL_0042: ldc.i4.0 + IL_0043: ret .line 16707566,16707566 : 0,0 '' - IL_0043: ldc.i4.0 - IL_0044: ret + IL_0044: ldc.i4.0 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: ldarg.1 - IL_0046: ldnull - IL_0047: cgt.un - IL_0049: ldc.i4.0 - IL_004a: ceq - IL_004c: ret + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final @@ -640,6 +655,7 @@ IL_0000: ldarg.1 IL_0001: isinst class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.bsl index 5b5491417d..8184984cca 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000A98 Length: 0x0000058E } .module Compare10.dll -// MVID: {60BE1F16-04BF-1753-A745-0383161FBE60} +// MVID: {611C550D-04BF-1753-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06C00000 +// Image base: 0x07060000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Compare10/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare10.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare10.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Compare10/CompareMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_1, [2] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Compare10/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -792,7 +812,7 @@ instance int32 CompareTo(class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 169 (0xa9) + // Code size 170 (0xaa) .maxstack 5 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -805,116 +825,120 @@ [8] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_8, [9] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_9, [10] int32 V_10) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_009f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_00a0 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: ldnull - IL_000b: cgt.un - IL_000d: brfalse IL_009d + IL_000a: ldarg.1 + IL_000b: ldnull + IL_000c: cgt.un + IL_000e: brfalse IL_009e .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: pop + IL_0013: ldarg.0 + IL_0014: pop .line 16707566,16707566 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.0 - IL_0016: ldarg.1 - IL_0017: stloc.1 - IL_0018: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_001d: stloc.3 - IL_001e: ldloc.0 - IL_001f: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0024: stloc.s V_4 - IL_0026: ldloc.1 - IL_0027: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_002c: stloc.s V_5 - IL_002e: ldloc.s V_4 - IL_0030: ldloc.s V_5 - IL_0032: ldloc.3 - IL_0033: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0015: ldarg.0 + IL_0016: stloc.0 + IL_0017: ldarg.1 + IL_0018: stloc.1 + IL_0019: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_001e: stloc.3 + IL_001f: ldloc.0 + IL_0020: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0025: stloc.s V_4 + IL_0027: ldloc.1 + IL_0028: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_002d: stloc.s V_5 + IL_002f: ldloc.s V_4 + IL_0031: ldloc.s V_5 + IL_0033: ldloc.3 + IL_0034: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0038: stloc.2 - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: bge.s IL_003f + IL_0039: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: bge.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: ldloc.2 - IL_0040: ldc.i4.0 - IL_0041: ble.s IL_0045 + IL_0040: ldloc.2 + IL_0041: ldc.i4.0 + IL_0042: ble.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0043: ldloc.2 - IL_0044: ret + IL_0044: ldloc.2 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004a: stloc.3 - IL_004b: ldloc.0 - IL_004c: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0051: stloc.s V_6 - IL_0053: ldloc.1 - IL_0054: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0059: stloc.s V_7 - IL_005b: ldloc.s V_6 - IL_005d: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0062: stloc.s V_4 - IL_0064: ldloc.s V_6 - IL_0066: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_006b: stloc.s V_5 - IL_006d: ldloc.s V_7 - IL_006f: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0074: stloc.s V_8 - IL_0076: ldloc.s V_7 - IL_0078: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_007d: stloc.s V_9 - IL_007f: ldloc.s V_4 - IL_0081: ldloc.s V_8 - IL_0083: ldloc.3 - IL_0084: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004b: stloc.3 + IL_004c: ldloc.0 + IL_004d: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0052: stloc.s V_6 + IL_0054: ldloc.1 + IL_0055: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_005a: stloc.s V_7 + IL_005c: ldloc.s V_6 + IL_005e: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0063: stloc.s V_4 + IL_0065: ldloc.s V_6 + IL_0067: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_006c: stloc.s V_5 + IL_006e: ldloc.s V_7 + IL_0070: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0075: stloc.s V_8 + IL_0077: ldloc.s V_7 + IL_0079: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_007e: stloc.s V_9 + IL_0080: ldloc.s V_4 + IL_0082: ldloc.s V_8 + IL_0084: ldloc.3 + IL_0085: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0089: stloc.s V_10 - IL_008b: ldloc.s V_10 - IL_008d: brfalse.s IL_0092 + IL_008a: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' + IL_008c: ldloc.s V_10 + IL_008e: brfalse.s IL_0093 .line 16707566,16707566 : 0,0 '' - IL_008f: ldloc.s V_10 - IL_0091: ret + IL_0090: ldloc.s V_10 + IL_0092: ret .line 16707566,16707566 : 0,0 '' - IL_0092: ldloc.s V_5 - IL_0094: ldloc.s V_9 - IL_0096: ldloc.3 - IL_0097: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0093: ldloc.s V_5 + IL_0095: ldloc.s V_9 + IL_0097: ldloc.3 + IL_0098: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_009c: ret + IL_009d: ret .line 16707566,16707566 : 0,0 '' - IL_009d: ldc.i4.1 - IL_009e: ret + IL_009e: ldc.i4.1 + IL_009f: ret .line 16707566,16707566 : 0,0 '' - IL_009f: ldarg.1 - IL_00a0: ldnull - IL_00a1: cgt.un - IL_00a3: brfalse.s IL_00a7 + IL_00a0: ldarg.1 + IL_00a1: ldnull + IL_00a2: cgt.un + IL_00a4: brfalse.s IL_00a8 .line 16707566,16707566 : 0,0 '' - IL_00a5: ldc.i4.m1 - IL_00a6: ret + IL_00a6: ldc.i4.m1 + IL_00a7: ret .line 16707566,16707566 : 0,0 '' - IL_00a7: ldc.i4.0 - IL_00a8: ret + IL_00a8: ldc.i4.0 + IL_00a9: ret } // end of method KeyWithInnerKeys::CompareTo .method public hidebysig virtual final @@ -953,6 +977,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -985,6 +1010,7 @@ IL_0039: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_003e: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_003f: ldloc.3 IL_0040: ldc.i4.0 IL_0041: bge.s IL_0045 @@ -1027,6 +1053,7 @@ IL_0084: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_0089: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' IL_008b: ldloc.s V_10 IL_008d: brfalse.s IL_0092 @@ -1066,7 +1093,7 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 107 (0x6b) + // Code size 108 (0x6c) .maxstack 7 .locals init ([0] int32 V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1074,76 +1101,79 @@ [3] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_3, [4] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_4, [5] int32 V_5) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0069 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0019: stloc.2 - IL_001a: ldloc.2 - IL_001b: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0020: stloc.3 - IL_0021: ldloc.2 - IL_0022: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0027: stloc.s V_4 - IL_0029: ldloc.3 - IL_002a: ldarg.1 - IL_002b: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0030: stloc.s V_5 - IL_0032: ldloc.s V_5 - IL_0034: ldc.i4.5 - IL_0035: shl - IL_0036: ldloc.s V_5 - IL_0038: add - IL_0039: ldloc.s V_4 - IL_003b: ldarg.1 - IL_003c: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0041: xor - IL_0042: ldloc.0 - IL_0043: ldc.i4.6 - IL_0044: shl - IL_0045: ldloc.0 - IL_0046: ldc.i4.2 - IL_0047: shr - IL_0048: add + .line 5,5 : 10,26 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006a + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_001a: stloc.2 + IL_001b: ldloc.2 + IL_001c: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0028: stloc.s V_4 + IL_002a: ldloc.3 + IL_002b: ldarg.1 + IL_002c: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0031: stloc.s V_5 + IL_0033: ldloc.s V_5 + IL_0035: ldc.i4.5 + IL_0036: shl + IL_0037: ldloc.s V_5 + IL_0039: add + IL_003a: ldloc.s V_4 + IL_003c: ldarg.1 + IL_003d: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0042: xor + IL_0043: ldloc.0 + IL_0044: ldc.i4.6 + IL_0045: shl + IL_0046: ldloc.0 + IL_0047: ldc.i4.2 + IL_0048: shr IL_0049: add IL_004a: add - IL_004b: stloc.0 - IL_004c: ldc.i4 0x9e3779b9 - IL_0051: ldloc.1 - IL_0052: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0057: ldarg.1 - IL_0058: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_005d: ldloc.0 - IL_005e: ldc.i4.6 - IL_005f: shl - IL_0060: ldloc.0 - IL_0061: ldc.i4.2 - IL_0062: shr - IL_0063: add + IL_004b: add + IL_004c: stloc.0 + IL_004d: ldc.i4 0x9e3779b9 + IL_0052: ldloc.1 + IL_0053: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0058: ldarg.1 + IL_0059: callvirt instance int32 Compare10/CompareMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_005e: ldloc.0 + IL_005f: ldc.i4.6 + IL_0060: shl + IL_0061: ldloc.0 + IL_0062: ldc.i4.2 + IL_0063: shr IL_0064: add IL_0065: add - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ret + IL_0066: add + IL_0067: stloc.0 + IL_0068: ldloc.0 + IL_0069: ret .line 16707566,16707566 : 0,0 '' - IL_0069: ldc.i4.0 - IL_006a: ret + IL_006a: ldc.i4.0 + IL_006b: ret } // end of method KeyWithInnerKeys::GetHashCode .method public hidebysig virtual final @@ -1164,7 +1194,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 138 (0x8a) + // Code size 139 (0x8b) .maxstack 5 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1175,155 +1205,163 @@ [6] class [mscorlib]System.Tuple`2 V_6, [7] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_7, [8] class Compare10/CompareMicroPerfAndCodeGenerationTests/Key V_8) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_0082 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_0083 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys - IL_000f: stloc.0 - IL_0010: ldloc.0 - IL_0011: brfalse.s IL_0080 + IL_000a: ldarg.1 + IL_000b: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys + IL_0010: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0011: ldloc.0 + IL_0012: brfalse.s IL_0081 .line 16707566,16707566 : 0,0 '' - IL_0013: ldarg.0 - IL_0014: pop + IL_0014: ldarg.0 + IL_0015: pop .line 16707566,16707566 : 0,0 '' - IL_0015: ldarg.0 - IL_0016: stloc.1 - IL_0017: ldloc.0 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0026: stloc.s V_4 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldarg.2 - IL_002c: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0016: ldarg.0 + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_001a: ldloc.1 + IL_001b: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0027: stloc.s V_4 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldarg.2 + IL_002d: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_0031: brfalse.s IL_007e + IL_0032: brfalse.s IL_007f .line 16707566,16707566 : 0,0 '' - IL_0033: ldloc.1 - IL_0034: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0039: stloc.s V_5 - IL_003b: ldloc.2 - IL_003c: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0041: stloc.s V_6 - IL_0043: ldloc.s V_5 - IL_0045: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_004a: stloc.3 - IL_004b: ldloc.s V_5 - IL_004d: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0052: stloc.s V_4 - IL_0054: ldloc.s V_6 - IL_0056: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_005b: stloc.s V_7 - IL_005d: ldloc.s V_6 - IL_005f: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0064: stloc.s V_8 - IL_0066: ldloc.3 - IL_0067: ldloc.s V_7 - IL_0069: ldarg.2 - IL_006a: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0034: ldloc.1 + IL_0035: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_003a: stloc.s V_5 + IL_003c: ldloc.2 + IL_003d: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0042: stloc.s V_6 + IL_0044: ldloc.s V_5 + IL_0046: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_004b: stloc.3 + IL_004c: ldloc.s V_5 + IL_004e: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0053: stloc.s V_4 + IL_0055: ldloc.s V_6 + IL_0057: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_005c: stloc.s V_7 + IL_005e: ldloc.s V_6 + IL_0060: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0065: stloc.s V_8 + .line 16707566,16707566 : 0,0 '' + IL_0067: ldloc.3 + IL_0068: ldloc.s V_7 + IL_006a: ldarg.2 + IL_006b: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_006f: brfalse.s IL_007c + IL_0070: brfalse.s IL_007d .line 16707566,16707566 : 0,0 '' - IL_0071: ldloc.s V_4 - IL_0073: ldloc.s V_8 - IL_0075: ldarg.2 - IL_0076: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0072: ldloc.s V_4 + IL_0074: ldloc.s V_8 + IL_0076: ldarg.2 + IL_0077: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_007b: ret + IL_007c: ret .line 16707566,16707566 : 0,0 '' - IL_007c: ldc.i4.0 - IL_007d: ret + IL_007d: ldc.i4.0 + IL_007e: ret .line 16707566,16707566 : 0,0 '' - IL_007e: ldc.i4.0 - IL_007f: ret + IL_007f: ldc.i4.0 + IL_0080: ret .line 16707566,16707566 : 0,0 '' - IL_0080: ldc.i4.0 - IL_0081: ret + IL_0081: ldc.i4.0 + IL_0082: ret .line 16707566,16707566 : 0,0 '' - IL_0082: ldarg.1 - IL_0083: ldnull - IL_0084: cgt.un - IL_0086: ldc.i4.0 - IL_0087: ceq - IL_0089: ret + IL_0083: ldarg.1 + IL_0084: ldnull + IL_0085: cgt.un + IL_0087: ldc.i4.0 + IL_0088: ceq + IL_008a: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final instance bool Equals(class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 69 (0x45) + // Code size 70 (0x46) .maxstack 4 .locals init ([0] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_003b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_003c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0018: ldloc.1 - IL_0019: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001e: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(class Compare10/CompareMicroPerfAndCodeGenerationTests/Key) - IL_0023: brfalse.s IL_0039 - - .line 16707566,16707566 : 0,0 '' - IL_0025: ldloc.0 - IL_0026: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_002b: ldloc.1 - IL_002c: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0031: tail. - IL_0033: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0019: ldloc.1 + IL_001a: ldfld class Compare10/CompareMicroPerfAndCodeGenerationTests/Key Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_001f: callvirt instance bool Compare10/CompareMicroPerfAndCodeGenerationTests/Key::Equals(class Compare10/CompareMicroPerfAndCodeGenerationTests/Key) + IL_0024: brfalse.s IL_003a + + .line 16707566,16707566 : 0,0 '' + IL_0026: ldloc.0 + IL_0027: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_002c: ldloc.1 + IL_002d: ldfld class [mscorlib]System.Tuple`2 Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0032: tail. + IL_0034: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, !!0) - IL_0038: ret + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 16707566,16707566 : 0,0 '' - IL_003b: ldc.i4.0 - IL_003c: ret + IL_003c: ldc.i4.0 + IL_003d: ret .line 16707566,16707566 : 0,0 '' - IL_003d: ldarg.1 - IL_003e: ldnull - IL_003f: cgt.un - IL_0041: ldc.i4.0 - IL_0042: ceq - IL_0044: ret + IL_003e: ldarg.1 + IL_003f: ldnull + IL_0040: cgt.un + IL_0042: ldc.i4.0 + IL_0043: ceq + IL_0045: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final @@ -1337,6 +1375,7 @@ IL_0000: ldarg.1 IL_0001: isinst Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals03.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals03.il.bsl index 9942460e50..cc4f7494b6 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals03.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals03.il.bsl @@ -41,13 +41,13 @@ // Offset: 0x00000238 Length: 0x000000B6 } .module Equals03.dll -// MVID: {60BE1F16-0759-3313-A745-0383161FBE60} +// MVID: {611C550D-0759-3313-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05410000 +// Image base: 0x07160000 // =============== CLASS MEMBERS DECLARATION =================== @@ -62,7 +62,7 @@ .custom 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 bool f4_tuple5() cil managed { - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] bool x, [1] int32 i) @@ -73,41 +73,43 @@ .line 8,8 : 8,32 '' IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0035 + IL_0004: br.s IL_0036 .line 9,9 : 12,26 '' - IL_0006: ldstr "5" - IL_000b: ldstr "5" - IL_0010: call bool [netstandard]System.String::Equals(string, + IL_0006: nop + .line 16707566,16707566 : 0,0 '' + IL_0007: ldstr "5" + IL_000c: ldstr "5" + IL_0011: call bool [netstandard]System.String::Equals(string, string) - IL_0015: brfalse.s IL_002e + IL_0016: brfalse.s IL_002f .line 16707566,16707566 : 0,0 '' - IL_0017: ldc.r8 6. - IL_0020: ldc.r8 7. - IL_0029: ceq + IL_0018: ldc.r8 6. + IL_0021: ldc.r8 7. + IL_002a: ceq .line 16707566,16707566 : 0,0 '' - IL_002b: nop - IL_002c: br.s IL_0030 + IL_002c: nop + IL_002d: br.s IL_0031 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.0 + IL_002f: ldc.i4.0 .line 16707566,16707566 : 0,0 '' - IL_002f: nop + IL_0030: nop .line 16707566,16707566 : 0,0 '' - IL_0030: stloc.0 - IL_0031: ldloc.1 - IL_0032: ldc.i4.1 - IL_0033: add - IL_0034: stloc.1 + IL_0031: stloc.0 + IL_0032: ldloc.1 + IL_0033: ldc.i4.1 + IL_0034: add + IL_0035: stloc.1 .line 8,8 : 8,32 '' - IL_0035: ldloc.1 - IL_0036: ldc.i4 0x989681 - IL_003b: blt.s IL_0006 + IL_0036: ldloc.1 + IL_0037: ldc.i4 0x989681 + IL_003c: blt.s IL_0006 .line 10,10 : 8,9 '' - IL_003d: ldloc.0 - IL_003e: ret + IL_003e: ldloc.0 + IL_003f: ret } // end of method EqualsMicroPerfAndCodeGenerationTests::f4_tuple5 } // end of class EqualsMicroPerfAndCodeGenerationTests diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.bsl index f250eab638..b2b49483a4 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006E0 Length: 0x000003B7 } .module Equals04.dll -// MVID: {60BE1F16-0759-EA8A-A745-0383161FBE60} +// MVID: {611C550D-0759-EA8A-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x07050000 +// Image base: 0x071F0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals04.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals04.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Equals04/EqualsMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_1, [2] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Equals04/EqualsMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Equals04/EqualsMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0017: ldloc.1 + IL_0018: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_0013: ldloc.0 + IL_0014: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Equals04/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Equals04/EqualsMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals05.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals05.il.bsl index 0c1255075b..6bdcdf1022 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals05.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals05.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006D0 Length: 0x000003B9 } .module Equals05.dll -// MVID: {60BE1F16-0759-CBC5-A745-0383161FBE60} +// MVID: {611C550D-0759-CBC5-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x067E0000 +// Image base: 0x053D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -123,109 +123,114 @@ instance int32 CompareTo(class Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 101 (0x65) + // Code size 102 (0x66) .maxstack 4 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IComparer V_1, [2] int32 V_2, [3] int32 V_3) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals05.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_005b + .line 4,4 : 10,14 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals05.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_005c .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0059 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_005a .line 16707566,16707566 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: stloc.2 - IL_0019: ldarg.1 - IL_001a: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: bge.s IL_0028 + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: stloc.2 + IL_001a: ldarg.1 + IL_001b: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0020: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: bge.s IL_0029 .line 16707566,16707566 : 0,0 '' - IL_0024: ldc.i4.m1 + IL_0025: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_0025: nop - IL_0026: br.s IL_002d + IL_0026: nop + IL_0027: br.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0028: ldloc.2 - IL_0029: ldloc.3 - IL_002a: cgt + IL_0029: ldloc.2 + IL_002a: ldloc.3 + IL_002b: cgt .line 16707566,16707566 : 0,0 '' - IL_002c: nop + IL_002d: nop .line 16707566,16707566 : 0,0 '' - IL_002d: stloc.0 - IL_002e: ldloc.0 - IL_002f: ldc.i4.0 - IL_0030: bge.s IL_0034 + IL_002e: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: bge.s IL_0035 .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.0 - IL_0033: ret + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldloc.0 - IL_0035: ldc.i4.0 - IL_0036: ble.s IL_003a + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ble.s IL_003b .line 16707566,16707566 : 0,0 '' - IL_0038: ldloc.0 - IL_0039: ret + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_003f: stloc.1 - IL_0040: ldarg.0 - IL_0041: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0046: stloc.2 - IL_0047: ldarg.1 - IL_0048: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_004d: stloc.3 - IL_004e: ldloc.2 - IL_004f: ldloc.3 - IL_0050: bge.s IL_0054 + IL_003b: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0040: stloc.1 + IL_0041: ldarg.0 + IL_0042: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0047: stloc.2 + IL_0048: ldarg.1 + IL_0049: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_004e: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_004f: ldloc.2 + IL_0050: ldloc.3 + IL_0051: bge.s IL_0055 .line 16707566,16707566 : 0,0 '' - IL_0052: ldc.i4.m1 - IL_0053: ret + IL_0053: ldc.i4.m1 + IL_0054: ret .line 16707566,16707566 : 0,0 '' - IL_0054: ldloc.2 - IL_0055: ldloc.3 - IL_0056: cgt - IL_0058: ret + IL_0055: ldloc.2 + IL_0056: ldloc.3 + IL_0057: cgt + IL_0059: ret .line 16707566,16707566 : 0,0 '' - IL_0059: ldc.i4.1 - IL_005a: ret + IL_005a: ldc.i4.1 + IL_005b: ret .line 16707566,16707566 : 0,0 '' - IL_005b: ldarg.1 - IL_005c: ldnull - IL_005d: cgt.un - IL_005f: brfalse.s IL_0063 + IL_005c: ldarg.1 + IL_005d: ldnull + IL_005e: cgt.un + IL_0060: brfalse.s IL_0064 .line 16707566,16707566 : 0,0 '' - IL_0061: ldc.i4.m1 - IL_0062: ret + IL_0062: ldc.i4.m1 + IL_0063: ret .line 16707566,16707566 : 0,0 '' - IL_0063: ldc.i4.0 - IL_0064: ret + IL_0064: ldc.i4.0 + IL_0065: ret } // end of method KeyR::CompareTo .method public hidebysig virtual final @@ -257,6 +262,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -276,6 +282,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ IL_0025: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0026: ldloc.2 IL_0027: ldloc.3 IL_0028: bge.s IL_002e @@ -294,6 +301,7 @@ IL_0032: nop .line 16707566,16707566 : 0,0 '' IL_0033: stloc.1 + .line 16707566,16707566 : 0,0 '' IL_0034: ldloc.1 IL_0035: ldc.i4.0 IL_0036: bge.s IL_003a @@ -318,6 +326,7 @@ IL_0047: ldloc.0 IL_0048: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ IL_004d: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_004e: ldloc.2 IL_004f: ldloc.3 IL_0050: bge.s IL_0054 @@ -356,50 +365,52 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 54 (0x36) + // Code size 55 (0x37) .maxstack 7 .locals init ([0] int32 V_0) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0034 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.0 - IL_000e: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - 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 + .line 4,4 : 10,14 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0035 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.0 + IL_000f: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0014: ldloc.0 + IL_0015: ldc.i4.6 + IL_0016: shl + IL_0017: ldloc.0 + IL_0018: ldc.i4.2 + IL_0019: shr IL_001a: add IL_001b: add - IL_001c: stloc.0 - IL_001d: ldc.i4 0x9e3779b9 - IL_0022: ldarg.0 - IL_0023: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - 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_001c: add + IL_001d: stloc.0 + IL_001e: ldc.i4 0x9e3779b9 + IL_0023: ldarg.0 + IL_0024: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0029: ldloc.0 + IL_002a: ldc.i4.6 + IL_002b: shl + IL_002c: ldloc.0 + IL_002d: ldc.i4.2 + IL_002e: shr IL_002f: add IL_0030: add - IL_0031: stloc.0 - IL_0032: ldloc.0 - IL_0033: ret + IL_0031: add + IL_0032: stloc.0 + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldc.i4.0 - IL_0035: ret + IL_0035: ldc.i4.0 + IL_0036: ret } // end of method KeyR::GetHashCode .method public hidebysig virtual final @@ -420,102 +431,107 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 57 (0x39) + // Code size 58 (0x3a) .maxstack 4 .locals init ([0] class Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR V_0) + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0031 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002f + IL_0007: ldarg.1 + IL_0008: isinst Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0016: ldloc.0 - IL_0017: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001c: bne.un.s IL_002d + IL_0011: ldarg.0 + IL_0012: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0017: ldloc.0 + IL_0018: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_001d: bne.un.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_001e: ldarg.0 - IL_001f: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0024: ldloc.0 - IL_0025: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_002a: ceq - IL_002c: ret + IL_001f: ldarg.0 + IL_0020: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0025: ldloc.0 + IL_0026: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_002b: ceq + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldc.i4.0 - IL_002e: ret + IL_002e: ldc.i4.0 + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldarg.1 - IL_0032: ldnull - IL_0033: cgt.un - IL_0035: ldc.i4.0 - IL_0036: ceq - IL_0038: ret + IL_0032: ldarg.1 + IL_0033: ldnull + IL_0034: cgt.un + IL_0036: ldc.i4.0 + IL_0037: ceq + IL_0039: ret } // end of method KeyR::Equals .method public hidebysig virtual final instance bool Equals(class Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 53 (0x35) + // Code size 54 (0x36) .maxstack 8 + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_002b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0012: ldarg.1 - IL_0013: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: bne.un.s IL_0029 + IL_000d: ldarg.0 + IL_000e: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0013: ldarg.1 + IL_0014: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: bne.un.s IL_002a .line 16707566,16707566 : 0,0 '' - IL_001a: ldarg.0 - IL_001b: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0020: ldarg.1 - IL_0021: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0026: ceq - IL_0028: ret + IL_001b: ldarg.0 + IL_001c: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0021: ldarg.1 + IL_0022: ldfld int32 Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0027: ceq + IL_0029: ret .line 16707566,16707566 : 0,0 '' - IL_0029: ldc.i4.0 - IL_002a: ret + IL_002a: ldc.i4.0 + IL_002b: ret .line 16707566,16707566 : 0,0 '' - IL_002b: ldc.i4.0 - IL_002c: ret + IL_002c: ldc.i4.0 + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldarg.1 - IL_002e: ldnull - IL_002f: cgt.un - IL_0031: ldc.i4.0 - IL_0032: ceq - IL_0034: ret + IL_002e: ldarg.1 + IL_002f: ldnull + IL_0030: cgt.un + IL_0032: ldc.i4.0 + IL_0033: ceq + IL_0035: ret } // end of method KeyR::Equals .method public hidebysig virtual final @@ -529,6 +545,7 @@ IL_0000: ldarg.1 IL_0001: isinst Equals05/EqualsMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.bsl index 0a53da50d6..1aa09e5000 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000890 Length: 0x00000688 } .module Equals06.dll -// MVID: {60BE1F16-0759-31EC-A745-0383161FBE60} +// MVID: {611C550D-0759-31EC-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06DA0000 +// Image base: 0x056C0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 110 (0x6e) + // Code size 111 (0x6f) .maxstack 5 .locals init ([0] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, @@ -187,93 +187,96 @@ [4] !a V_4, [5] !a V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals06.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0064 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0062 - - .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop - .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldloc.s V_5 - IL_002d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + .line 4,4 : 10,20 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals06.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0065 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0063 + + .line 16707566,16707566 : 0,0 '' + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0032: stloc.2 - IL_0033: ldloc.2 - IL_0034: ldc.i4.0 - IL_0035: bge.s IL_0039 + IL_0033: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0034: ldloc.2 + IL_0035: ldc.i4.0 + IL_0036: bge.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0037: ldloc.2 - IL_0038: ret + IL_0038: ldloc.2 + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: ble.s IL_003f + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ble.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0044: stloc.3 - IL_0045: ldloc.0 - IL_0046: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_004b: stloc.s V_4 - IL_004d: ldloc.1 - IL_004e: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0053: stloc.s V_5 - IL_0055: ldloc.3 - IL_0056: ldloc.s V_4 - IL_0058: ldloc.s V_5 - IL_005a: tail. - IL_005c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + IL_0040: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0045: stloc.3 + IL_0046: ldloc.0 + IL_0047: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_004c: stloc.s V_4 + IL_004e: ldloc.1 + IL_004f: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0054: stloc.s V_5 + IL_0056: ldloc.3 + IL_0057: ldloc.s V_4 + IL_0059: ldloc.s V_5 + IL_005b: tail. + IL_005d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0061: ret + IL_0062: ret .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.1 - IL_0063: ret + IL_0063: ldc.i4.1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldarg.1 - IL_0065: ldnull - IL_0066: cgt.un - IL_0068: brfalse.s IL_006c + IL_0065: ldarg.1 + IL_0066: ldnull + IL_0067: cgt.un + IL_0069: brfalse.s IL_006d .line 16707566,16707566 : 0,0 '' - IL_006a: ldc.i4.m1 - IL_006b: ret + IL_006b: ldc.i4.m1 + IL_006c: ret .line 16707566,16707566 : 0,0 '' - IL_006c: ldc.i4.0 - IL_006d: ret + IL_006d: ldc.i4.0 + IL_006e: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -308,6 +311,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -341,6 +345,7 @@ !!0, !!0) IL_0038: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0039: ldloc.3 IL_003a: ldc.i4.0 IL_003b: bge.s IL_003f @@ -398,69 +403,72 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 76 (0x4c) + // Code size 77 (0x4d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0019: stloc.2 - IL_001a: ldarg.1 - IL_001b: ldloc.2 - IL_001c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + .line 4,4 : 10,20 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_004b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_001a: stloc.2 + IL_001b: ldarg.1 + IL_001c: ldloc.2 + IL_001d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_0021: ldloc.0 - IL_0022: ldc.i4.6 - IL_0023: shl - IL_0024: ldloc.0 - IL_0025: ldc.i4.2 - IL_0026: shr - IL_0027: add + IL_0022: ldloc.0 + IL_0023: ldc.i4.6 + IL_0024: shl + IL_0025: ldloc.0 + IL_0026: ldc.i4.2 + IL_0027: shr IL_0028: add IL_0029: add - IL_002a: stloc.0 - IL_002b: ldc.i4 0x9e3779b9 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0036: stloc.2 - IL_0037: ldarg.1 - IL_0038: ldloc.2 - IL_0039: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002a: add + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0037: stloc.2 + IL_0038: ldarg.1 + IL_0039: ldloc.2 + IL_003a: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_003e: ldloc.0 - IL_003f: ldc.i4.6 - IL_0040: shl - IL_0041: ldloc.0 - IL_0042: ldc.i4.2 - IL_0043: shr - IL_0044: add + IL_003f: ldloc.0 + IL_0040: ldc.i4.6 + IL_0041: shl + IL_0042: ldloc.0 + IL_0043: ldc.i4.2 + IL_0044: shr IL_0045: add IL_0046: add - IL_0047: stloc.0 - IL_0048: ldloc.0 - IL_0049: ret + IL_0047: add + IL_0048: stloc.0 + IL_0049: ldloc.0 + IL_004a: ret .line 16707566,16707566 : 0,0 '' - IL_004a: ldc.i4.0 - IL_004b: ret + IL_004b: ldc.i4.0 + IL_004c: ret } // end of method GenericKey`1::GetHashCode .method public hidebysig virtual final @@ -481,152 +489,159 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 87 (0x57) + // Code size 88 (0x58) .maxstack 5 .locals init ([0] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_2, [3] !a V_3, [4] !a V_4) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004f - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_004d - - .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop - .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001c: stloc.3 - IL_001d: ldloc.2 - IL_001e: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0023: stloc.s V_4 - IL_0025: ldarg.2 - IL_0026: ldloc.3 - IL_0027: ldloc.s V_4 - IL_0029: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0050 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: isinst class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_004e + + .line 16707566,16707566 : 0,0 '' + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001d: stloc.3 + IL_001e: ldloc.2 + IL_001f: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0024: stloc.s V_4 + IL_0026: ldarg.2 + IL_0027: ldloc.3 + IL_0028: ldloc.s V_4 + IL_002a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_002e: brfalse.s IL_004b - - .line 16707566,16707566 : 0,0 '' - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_003d: stloc.s V_4 - IL_003f: ldarg.2 - IL_0040: ldloc.3 - IL_0041: ldloc.s V_4 - IL_0043: tail. - IL_0045: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002f: brfalse.s IL_004c + + .line 16707566,16707566 : 0,0 '' + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_003e: stloc.s V_4 + IL_0040: ldarg.2 + IL_0041: ldloc.3 + IL_0042: ldloc.s V_4 + IL_0044: tail. + IL_0046: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_004a: ret + IL_004b: ret .line 16707566,16707566 : 0,0 '' - IL_004b: ldc.i4.0 - IL_004c: ret + IL_004c: ldc.i4.0 + IL_004d: ret .line 16707566,16707566 : 0,0 '' - IL_004d: ldc.i4.0 - IL_004e: ret + IL_004e: ldc.i4.0 + IL_004f: ret .line 16707566,16707566 : 0,0 '' - IL_004f: ldarg.1 - IL_0050: ldnull - IL_0051: cgt.un - IL_0053: ldc.i4.0 - IL_0054: ceq - IL_0056: ret + IL_0050: ldarg.1 + IL_0051: ldnull + IL_0052: cgt.un + IL_0054: ldc.i4.0 + IL_0055: ceq + IL_0057: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final instance bool Equals(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 77 (0x4d) + // Code size 78 (0x4e) .maxstack 4 .locals init ([0] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2, [3] !a V_3) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0045 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0043 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0044 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0027: brfalse.s IL_0041 - - .line 16707566,16707566 : 0,0 '' - IL_0029: ldloc.0 - IL_002a: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_002f: stloc.2 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldloc.3 - IL_0039: tail. - IL_003b: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_0028: brfalse.s IL_0042 + + .line 16707566,16707566 : 0,0 '' + IL_002a: ldloc.0 + IL_002b: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0030: stloc.2 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldloc.3 + IL_003a: tail. + IL_003c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0040: ret + IL_0041: ret .line 16707566,16707566 : 0,0 '' - IL_0041: ldc.i4.0 - IL_0042: ret + IL_0042: ldc.i4.0 + IL_0043: ret .line 16707566,16707566 : 0,0 '' - IL_0043: ldc.i4.0 - IL_0044: ret + IL_0044: ldc.i4.0 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: ldarg.1 - IL_0046: ldnull - IL_0047: cgt.un - IL_0049: ldc.i4.0 - IL_004a: ceq - IL_004c: ret + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final @@ -640,6 +655,7 @@ IL_0000: ldarg.1 IL_0001: isinst class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.bsl index c22e81d41e..bf09abc529 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000A98 Length: 0x0000058B } .module Equals09.dll -// MVID: {60BE1F16-0759-46D9-A745-0383161FBE60} +// MVID: {611C550D-0759-46D9-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x066B0000 +// Image base: 0x06950000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals09.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals09.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Equals09/EqualsMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_1, [2] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -792,7 +812,7 @@ instance int32 CompareTo(class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 169 (0xa9) + // Code size 170 (0xaa) .maxstack 5 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -805,116 +825,120 @@ [8] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_8, [9] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_9, [10] int32 V_10) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_009f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_00a0 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: ldnull - IL_000b: cgt.un - IL_000d: brfalse IL_009d + IL_000a: ldarg.1 + IL_000b: ldnull + IL_000c: cgt.un + IL_000e: brfalse IL_009e .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: pop + IL_0013: ldarg.0 + IL_0014: pop .line 16707566,16707566 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.0 - IL_0016: ldarg.1 - IL_0017: stloc.1 - IL_0018: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_001d: stloc.3 - IL_001e: ldloc.0 - IL_001f: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0024: stloc.s V_4 - IL_0026: ldloc.1 - IL_0027: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_002c: stloc.s V_5 - IL_002e: ldloc.s V_4 - IL_0030: ldloc.s V_5 - IL_0032: ldloc.3 - IL_0033: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0015: ldarg.0 + IL_0016: stloc.0 + IL_0017: ldarg.1 + IL_0018: stloc.1 + IL_0019: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_001e: stloc.3 + IL_001f: ldloc.0 + IL_0020: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0025: stloc.s V_4 + IL_0027: ldloc.1 + IL_0028: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_002d: stloc.s V_5 + IL_002f: ldloc.s V_4 + IL_0031: ldloc.s V_5 + IL_0033: ldloc.3 + IL_0034: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0038: stloc.2 - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: bge.s IL_003f + IL_0039: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: bge.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: ldloc.2 - IL_0040: ldc.i4.0 - IL_0041: ble.s IL_0045 + IL_0040: ldloc.2 + IL_0041: ldc.i4.0 + IL_0042: ble.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0043: ldloc.2 - IL_0044: ret + IL_0044: ldloc.2 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004a: stloc.3 - IL_004b: ldloc.0 - IL_004c: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0051: stloc.s V_6 - IL_0053: ldloc.1 - IL_0054: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0059: stloc.s V_7 - IL_005b: ldloc.s V_6 - IL_005d: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0062: stloc.s V_4 - IL_0064: ldloc.s V_6 - IL_0066: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_006b: stloc.s V_5 - IL_006d: ldloc.s V_7 - IL_006f: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0074: stloc.s V_8 - IL_0076: ldloc.s V_7 - IL_0078: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_007d: stloc.s V_9 - IL_007f: ldloc.s V_4 - IL_0081: ldloc.s V_8 - IL_0083: ldloc.3 - IL_0084: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004b: stloc.3 + IL_004c: ldloc.0 + IL_004d: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0052: stloc.s V_6 + IL_0054: ldloc.1 + IL_0055: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_005a: stloc.s V_7 + IL_005c: ldloc.s V_6 + IL_005e: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0063: stloc.s V_4 + IL_0065: ldloc.s V_6 + IL_0067: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_006c: stloc.s V_5 + IL_006e: ldloc.s V_7 + IL_0070: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0075: stloc.s V_8 + IL_0077: ldloc.s V_7 + IL_0079: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_007e: stloc.s V_9 + IL_0080: ldloc.s V_4 + IL_0082: ldloc.s V_8 + IL_0084: ldloc.3 + IL_0085: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0089: stloc.s V_10 - IL_008b: ldloc.s V_10 - IL_008d: brfalse.s IL_0092 + IL_008a: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' + IL_008c: ldloc.s V_10 + IL_008e: brfalse.s IL_0093 .line 16707566,16707566 : 0,0 '' - IL_008f: ldloc.s V_10 - IL_0091: ret + IL_0090: ldloc.s V_10 + IL_0092: ret .line 16707566,16707566 : 0,0 '' - IL_0092: ldloc.s V_5 - IL_0094: ldloc.s V_9 - IL_0096: ldloc.3 - IL_0097: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0093: ldloc.s V_5 + IL_0095: ldloc.s V_9 + IL_0097: ldloc.3 + IL_0098: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_009c: ret + IL_009d: ret .line 16707566,16707566 : 0,0 '' - IL_009d: ldc.i4.1 - IL_009e: ret + IL_009e: ldc.i4.1 + IL_009f: ret .line 16707566,16707566 : 0,0 '' - IL_009f: ldarg.1 - IL_00a0: ldnull - IL_00a1: cgt.un - IL_00a3: brfalse.s IL_00a7 + IL_00a0: ldarg.1 + IL_00a1: ldnull + IL_00a2: cgt.un + IL_00a4: brfalse.s IL_00a8 .line 16707566,16707566 : 0,0 '' - IL_00a5: ldc.i4.m1 - IL_00a6: ret + IL_00a6: ldc.i4.m1 + IL_00a7: ret .line 16707566,16707566 : 0,0 '' - IL_00a7: ldc.i4.0 - IL_00a8: ret + IL_00a8: ldc.i4.0 + IL_00a9: ret } // end of method KeyWithInnerKeys::CompareTo .method public hidebysig virtual final @@ -953,6 +977,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -985,6 +1010,7 @@ IL_0039: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_003e: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_003f: ldloc.3 IL_0040: ldc.i4.0 IL_0041: bge.s IL_0045 @@ -1027,6 +1053,7 @@ IL_0084: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_0089: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' IL_008b: ldloc.s V_10 IL_008d: brfalse.s IL_0092 @@ -1066,7 +1093,7 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 107 (0x6b) + // Code size 108 (0x6c) .maxstack 7 .locals init ([0] int32 V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1074,76 +1101,79 @@ [3] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_3, [4] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_4, [5] int32 V_5) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0069 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0019: stloc.2 - IL_001a: ldloc.2 - IL_001b: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0020: stloc.3 - IL_0021: ldloc.2 - IL_0022: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0027: stloc.s V_4 - IL_0029: ldloc.3 - IL_002a: ldarg.1 - IL_002b: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0030: stloc.s V_5 - IL_0032: ldloc.s V_5 - IL_0034: ldc.i4.5 - IL_0035: shl - IL_0036: ldloc.s V_5 - IL_0038: add - IL_0039: ldloc.s V_4 - IL_003b: ldarg.1 - IL_003c: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0041: xor - IL_0042: ldloc.0 - IL_0043: ldc.i4.6 - IL_0044: shl - IL_0045: ldloc.0 - IL_0046: ldc.i4.2 - IL_0047: shr - IL_0048: add + .line 5,5 : 10,26 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006a + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_001a: stloc.2 + IL_001b: ldloc.2 + IL_001c: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0028: stloc.s V_4 + IL_002a: ldloc.3 + IL_002b: ldarg.1 + IL_002c: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0031: stloc.s V_5 + IL_0033: ldloc.s V_5 + IL_0035: ldc.i4.5 + IL_0036: shl + IL_0037: ldloc.s V_5 + IL_0039: add + IL_003a: ldloc.s V_4 + IL_003c: ldarg.1 + IL_003d: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0042: xor + IL_0043: ldloc.0 + IL_0044: ldc.i4.6 + IL_0045: shl + IL_0046: ldloc.0 + IL_0047: ldc.i4.2 + IL_0048: shr IL_0049: add IL_004a: add - IL_004b: stloc.0 - IL_004c: ldc.i4 0x9e3779b9 - IL_0051: ldloc.1 - IL_0052: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0057: ldarg.1 - IL_0058: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_005d: ldloc.0 - IL_005e: ldc.i4.6 - IL_005f: shl - IL_0060: ldloc.0 - IL_0061: ldc.i4.2 - IL_0062: shr - IL_0063: add + IL_004b: add + IL_004c: stloc.0 + IL_004d: ldc.i4 0x9e3779b9 + IL_0052: ldloc.1 + IL_0053: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0058: ldarg.1 + IL_0059: callvirt instance int32 Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_005e: ldloc.0 + IL_005f: ldc.i4.6 + IL_0060: shl + IL_0061: ldloc.0 + IL_0062: ldc.i4.2 + IL_0063: shr IL_0064: add IL_0065: add - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ret + IL_0066: add + IL_0067: stloc.0 + IL_0068: ldloc.0 + IL_0069: ret .line 16707566,16707566 : 0,0 '' - IL_0069: ldc.i4.0 - IL_006a: ret + IL_006a: ldc.i4.0 + IL_006b: ret } // end of method KeyWithInnerKeys::GetHashCode .method public hidebysig virtual final @@ -1164,7 +1194,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 138 (0x8a) + // Code size 139 (0x8b) .maxstack 5 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1175,155 +1205,163 @@ [6] class [mscorlib]System.Tuple`2 V_6, [7] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_7, [8] class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key V_8) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_0082 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_0083 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys - IL_000f: stloc.0 - IL_0010: ldloc.0 - IL_0011: brfalse.s IL_0080 + IL_000a: ldarg.1 + IL_000b: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys + IL_0010: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0011: ldloc.0 + IL_0012: brfalse.s IL_0081 .line 16707566,16707566 : 0,0 '' - IL_0013: ldarg.0 - IL_0014: pop + IL_0014: ldarg.0 + IL_0015: pop .line 16707566,16707566 : 0,0 '' - IL_0015: ldarg.0 - IL_0016: stloc.1 - IL_0017: ldloc.0 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0026: stloc.s V_4 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldarg.2 - IL_002c: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0016: ldarg.0 + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_001a: ldloc.1 + IL_001b: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0027: stloc.s V_4 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldarg.2 + IL_002d: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_0031: brfalse.s IL_007e + IL_0032: brfalse.s IL_007f .line 16707566,16707566 : 0,0 '' - IL_0033: ldloc.1 - IL_0034: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0039: stloc.s V_5 - IL_003b: ldloc.2 - IL_003c: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0041: stloc.s V_6 - IL_0043: ldloc.s V_5 - IL_0045: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_004a: stloc.3 - IL_004b: ldloc.s V_5 - IL_004d: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0052: stloc.s V_4 - IL_0054: ldloc.s V_6 - IL_0056: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_005b: stloc.s V_7 - IL_005d: ldloc.s V_6 - IL_005f: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0064: stloc.s V_8 - IL_0066: ldloc.3 - IL_0067: ldloc.s V_7 - IL_0069: ldarg.2 - IL_006a: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0034: ldloc.1 + IL_0035: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_003a: stloc.s V_5 + IL_003c: ldloc.2 + IL_003d: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0042: stloc.s V_6 + IL_0044: ldloc.s V_5 + IL_0046: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_004b: stloc.3 + IL_004c: ldloc.s V_5 + IL_004e: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0053: stloc.s V_4 + IL_0055: ldloc.s V_6 + IL_0057: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_005c: stloc.s V_7 + IL_005e: ldloc.s V_6 + IL_0060: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0065: stloc.s V_8 + .line 16707566,16707566 : 0,0 '' + IL_0067: ldloc.3 + IL_0068: ldloc.s V_7 + IL_006a: ldarg.2 + IL_006b: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_006f: brfalse.s IL_007c + IL_0070: brfalse.s IL_007d .line 16707566,16707566 : 0,0 '' - IL_0071: ldloc.s V_4 - IL_0073: ldloc.s V_8 - IL_0075: ldarg.2 - IL_0076: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0072: ldloc.s V_4 + IL_0074: ldloc.s V_8 + IL_0076: ldarg.2 + IL_0077: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_007b: ret + IL_007c: ret .line 16707566,16707566 : 0,0 '' - IL_007c: ldc.i4.0 - IL_007d: ret + IL_007d: ldc.i4.0 + IL_007e: ret .line 16707566,16707566 : 0,0 '' - IL_007e: ldc.i4.0 - IL_007f: ret + IL_007f: ldc.i4.0 + IL_0080: ret .line 16707566,16707566 : 0,0 '' - IL_0080: ldc.i4.0 - IL_0081: ret + IL_0081: ldc.i4.0 + IL_0082: ret .line 16707566,16707566 : 0,0 '' - IL_0082: ldarg.1 - IL_0083: ldnull - IL_0084: cgt.un - IL_0086: ldc.i4.0 - IL_0087: ceq - IL_0089: ret + IL_0083: ldarg.1 + IL_0084: ldnull + IL_0085: cgt.un + IL_0087: ldc.i4.0 + IL_0088: ceq + IL_008a: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final instance bool Equals(class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 69 (0x45) + // Code size 70 (0x46) .maxstack 4 .locals init ([0] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_003b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_003c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0018: ldloc.1 - IL_0019: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001e: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key) - IL_0023: brfalse.s IL_0039 - - .line 16707566,16707566 : 0,0 '' - IL_0025: ldloc.0 - IL_0026: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_002b: ldloc.1 - IL_002c: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0031: tail. - IL_0033: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0019: ldloc.1 + IL_001a: ldfld class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_001f: callvirt instance bool Equals09/EqualsMicroPerfAndCodeGenerationTests/Key::Equals(class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key) + IL_0024: brfalse.s IL_003a + + .line 16707566,16707566 : 0,0 '' + IL_0026: ldloc.0 + IL_0027: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_002c: ldloc.1 + IL_002d: ldfld class [mscorlib]System.Tuple`2 Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0032: tail. + IL_0034: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, !!0) - IL_0038: ret + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 16707566,16707566 : 0,0 '' - IL_003b: ldc.i4.0 - IL_003c: ret + IL_003c: ldc.i4.0 + IL_003d: ret .line 16707566,16707566 : 0,0 '' - IL_003d: ldarg.1 - IL_003e: ldnull - IL_003f: cgt.un - IL_0041: ldc.i4.0 - IL_0042: ceq - IL_0044: ret + IL_003e: ldarg.1 + IL_003f: ldnull + IL_0040: cgt.un + IL_0042: ldc.i4.0 + IL_0043: ceq + IL_0045: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final @@ -1337,6 +1375,7 @@ IL_0000: ldarg.1 IL_0001: isinst Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.bsl index c2c0f3a262..aa19d121fe 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006D8 Length: 0x000003B1 } .module Hash05.dll -// MVID: {60BE1F16-9642-7857-A745-0383161FBE60} +// MVID: {611C550D-9642-7857-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x067C0000 +// Image base: 0x06960000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Hash05/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash05.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 5,5 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash05.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Hash05/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 5,5 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_1, [2] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_2) + .line 5,5 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Hash05/HashMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Hash05/HashMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0017: ldloc.1 + IL_0018: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Hash05/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash05/HashMicroPerfAndCodeGenerationTests/Key V_1) + .line 5,5 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_0013: ldloc.0 + IL_0014: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Hash05/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Hash05/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.bsl index e89af0b76f..bad5e3f191 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006D8 Length: 0x000003B2 } .module Hash06.dll -// MVID: {60BE1F16-9642-78F2-A745-0383161FBE60} +// MVID: {611C550D-9642-78F2-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x05280000 +// Image base: 0x06F60000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Hash06/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash06.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash06.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Hash06/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_1, [2] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Hash06/HashMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Hash06/HashMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0017: ldloc.1 + IL_0018: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Hash06/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash06/HashMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_0013: ldloc.0 + IL_0014: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Hash06/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Hash06/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash08.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash08.il.bsl index b2d3f9d1c9..b8dedc27dc 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash08.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash08.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x000006C8 Length: 0x000003B3 } .module Hash08.dll -// MVID: {60BE1F16-9642-77BC-A745-0383161FBE60} +// MVID: {611C550D-9642-77BC-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x06A70000 +// Image base: 0x06580000 // =============== CLASS MEMBERS DECLARATION =================== @@ -123,109 +123,114 @@ instance int32 CompareTo(class Hash08/HashMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 101 (0x65) + // Code size 102 (0x66) .maxstack 4 .locals init ([0] int32 V_0, [1] class [mscorlib]System.Collections.IComparer V_1, [2] int32 V_2, [3] int32 V_3) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash08.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_005b + .line 4,4 : 10,14 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash08.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_005c .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0059 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_005a .line 16707566,16707566 : 0,0 '' - IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: stloc.2 - IL_0019: ldarg.1 - IL_001a: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: bge.s IL_0028 + IL_000d: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0012: stloc.1 + IL_0013: ldarg.0 + IL_0014: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: stloc.2 + IL_001a: ldarg.1 + IL_001b: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0020: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: bge.s IL_0029 .line 16707566,16707566 : 0,0 '' - IL_0024: ldc.i4.m1 + IL_0025: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_0025: nop - IL_0026: br.s IL_002d + IL_0026: nop + IL_0027: br.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0028: ldloc.2 - IL_0029: ldloc.3 - IL_002a: cgt + IL_0029: ldloc.2 + IL_002a: ldloc.3 + IL_002b: cgt .line 16707566,16707566 : 0,0 '' - IL_002c: nop + IL_002d: nop .line 16707566,16707566 : 0,0 '' - IL_002d: stloc.0 - IL_002e: ldloc.0 - IL_002f: ldc.i4.0 - IL_0030: bge.s IL_0034 + IL_002e: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: bge.s IL_0035 .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.0 - IL_0033: ret + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldloc.0 - IL_0035: ldc.i4.0 - IL_0036: ble.s IL_003a + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ble.s IL_003b .line 16707566,16707566 : 0,0 '' - IL_0038: ldloc.0 - IL_0039: ret + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_003f: stloc.1 - IL_0040: ldarg.0 - IL_0041: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0046: stloc.2 - IL_0047: ldarg.1 - IL_0048: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_004d: stloc.3 - IL_004e: ldloc.2 - IL_004f: ldloc.3 - IL_0050: bge.s IL_0054 + IL_003b: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0040: stloc.1 + IL_0041: ldarg.0 + IL_0042: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0047: stloc.2 + IL_0048: ldarg.1 + IL_0049: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_004e: stloc.3 + .line 16707566,16707566 : 0,0 '' + IL_004f: ldloc.2 + IL_0050: ldloc.3 + IL_0051: bge.s IL_0055 .line 16707566,16707566 : 0,0 '' - IL_0052: ldc.i4.m1 - IL_0053: ret + IL_0053: ldc.i4.m1 + IL_0054: ret .line 16707566,16707566 : 0,0 '' - IL_0054: ldloc.2 - IL_0055: ldloc.3 - IL_0056: cgt - IL_0058: ret + IL_0055: ldloc.2 + IL_0056: ldloc.3 + IL_0057: cgt + IL_0059: ret .line 16707566,16707566 : 0,0 '' - IL_0059: ldc.i4.1 - IL_005a: ret + IL_005a: ldc.i4.1 + IL_005b: ret .line 16707566,16707566 : 0,0 '' - IL_005b: ldarg.1 - IL_005c: ldnull - IL_005d: cgt.un - IL_005f: brfalse.s IL_0063 + IL_005c: ldarg.1 + IL_005d: ldnull + IL_005e: cgt.un + IL_0060: brfalse.s IL_0064 .line 16707566,16707566 : 0,0 '' - IL_0061: ldc.i4.m1 - IL_0062: ret + IL_0062: ldc.i4.m1 + IL_0063: ret .line 16707566,16707566 : 0,0 '' - IL_0063: ldc.i4.0 - IL_0064: ret + IL_0064: ldc.i4.0 + IL_0065: ret } // end of method KeyR::CompareTo .method public hidebysig virtual final @@ -257,6 +262,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Hash08/HashMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -276,6 +282,7 @@ IL_001f: ldloc.0 IL_0020: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ IL_0025: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0026: ldloc.2 IL_0027: ldloc.3 IL_0028: bge.s IL_002e @@ -294,6 +301,7 @@ IL_0032: nop .line 16707566,16707566 : 0,0 '' IL_0033: stloc.1 + .line 16707566,16707566 : 0,0 '' IL_0034: ldloc.1 IL_0035: ldc.i4.0 IL_0036: bge.s IL_003a @@ -318,6 +326,7 @@ IL_0047: ldloc.0 IL_0048: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ IL_004d: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_004e: ldloc.2 IL_004f: ldloc.3 IL_0050: bge.s IL_0054 @@ -356,50 +365,52 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 54 (0x36) + // Code size 55 (0x37) .maxstack 7 .locals init ([0] int32 V_0) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0034 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldc.i4 0x9e3779b9 - IL_000d: ldarg.0 - IL_000e: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - 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 + .line 4,4 : 10,14 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0035 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + IL_0009: ldc.i4 0x9e3779b9 + IL_000e: ldarg.0 + IL_000f: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0014: ldloc.0 + IL_0015: ldc.i4.6 + IL_0016: shl + IL_0017: ldloc.0 + IL_0018: ldc.i4.2 + IL_0019: shr IL_001a: add IL_001b: add - IL_001c: stloc.0 - IL_001d: ldc.i4 0x9e3779b9 - IL_0022: ldarg.0 - IL_0023: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - 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_001c: add + IL_001d: stloc.0 + IL_001e: ldc.i4 0x9e3779b9 + IL_0023: ldarg.0 + IL_0024: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0029: ldloc.0 + IL_002a: ldc.i4.6 + IL_002b: shl + IL_002c: ldloc.0 + IL_002d: ldc.i4.2 + IL_002e: shr IL_002f: add IL_0030: add - IL_0031: stloc.0 - IL_0032: ldloc.0 - IL_0033: ret + IL_0031: add + IL_0032: stloc.0 + IL_0033: ldloc.0 + IL_0034: ret .line 16707566,16707566 : 0,0 '' - IL_0034: ldc.i4.0 - IL_0035: ret + IL_0035: ldc.i4.0 + IL_0036: ret } // end of method KeyR::GetHashCode .method public hidebysig virtual final @@ -420,102 +431,107 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 57 (0x39) + // Code size 58 (0x3a) .maxstack 4 .locals init ([0] class Hash08/HashMicroPerfAndCodeGenerationTests/KeyR V_0) + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0031 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Hash08/HashMicroPerfAndCodeGenerationTests/KeyR - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_002f + IL_0007: ldarg.1 + IL_0008: isinst Hash08/HashMicroPerfAndCodeGenerationTests/KeyR + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0016: ldloc.0 - IL_0017: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_001c: bne.un.s IL_002d + IL_0011: ldarg.0 + IL_0012: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0017: ldloc.0 + IL_0018: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_001d: bne.un.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_001e: ldarg.0 - IL_001f: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0024: ldloc.0 - IL_0025: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_002a: ceq - IL_002c: ret + IL_001f: ldarg.0 + IL_0020: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0025: ldloc.0 + IL_0026: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_002b: ceq + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldc.i4.0 - IL_002e: ret + IL_002e: ldc.i4.0 + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldarg.1 - IL_0032: ldnull - IL_0033: cgt.un - IL_0035: ldc.i4.0 - IL_0036: ceq - IL_0038: ret + IL_0032: ldarg.1 + IL_0033: ldnull + IL_0034: cgt.un + IL_0036: ldc.i4.0 + IL_0037: ceq + IL_0039: ret } // end of method KeyR::Equals .method public hidebysig virtual final instance bool Equals(class Hash08/HashMicroPerfAndCodeGenerationTests/KeyR obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 53 (0x35) + // Code size 54 (0x36) .maxstack 8 + .line 4,4 : 10,14 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_002d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_002e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_002b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0012: ldarg.1 - IL_0013: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ - IL_0018: bne.un.s IL_0029 + IL_000d: ldarg.0 + IL_000e: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0013: ldarg.1 + IL_0014: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key1@ + IL_0019: bne.un.s IL_002a .line 16707566,16707566 : 0,0 '' - IL_001a: ldarg.0 - IL_001b: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0020: ldarg.1 - IL_0021: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ - IL_0026: ceq - IL_0028: ret + IL_001b: ldarg.0 + IL_001c: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0021: ldarg.1 + IL_0022: ldfld int32 Hash08/HashMicroPerfAndCodeGenerationTests/KeyR::key2@ + IL_0027: ceq + IL_0029: ret .line 16707566,16707566 : 0,0 '' - IL_0029: ldc.i4.0 - IL_002a: ret + IL_002a: ldc.i4.0 + IL_002b: ret .line 16707566,16707566 : 0,0 '' - IL_002b: ldc.i4.0 - IL_002c: ret + IL_002c: ldc.i4.0 + IL_002d: ret .line 16707566,16707566 : 0,0 '' - IL_002d: ldarg.1 - IL_002e: ldnull - IL_002f: cgt.un - IL_0031: ldc.i4.0 - IL_0032: ceq - IL_0034: ret + IL_002e: ldarg.1 + IL_002f: ldnull + IL_0030: cgt.un + IL_0032: ldc.i4.0 + IL_0033: ceq + IL_0035: ret } // end of method KeyR::Equals .method public hidebysig virtual final @@ -529,6 +545,7 @@ IL_0000: ldarg.1 IL_0001: isinst Hash08/HashMicroPerfAndCodeGenerationTests/KeyR IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.bsl index dec226fde7..1de6d05480 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000888 Length: 0x00000680 } .module Hash09.dll -// MVID: {60BE1F16-9642-77DB-A745-0383161FBE60} +// MVID: {611C550D-9642-77DB-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x071B0000 +// Image base: 0x07230000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 110 (0x6e) + // Code size 111 (0x6f) .maxstack 5 .locals init ([0] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, @@ -187,93 +187,96 @@ [4] !a V_4, [5] !a V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash09.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0064 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0062 - - .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop - .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldloc.s V_5 - IL_002d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + .line 4,4 : 10,20 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash09.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0065 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0063 + + .line 16707566,16707566 : 0,0 '' + IL_000d: ldarg.0 + IL_000e: pop + .line 16707566,16707566 : 0,0 '' + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0032: stloc.2 - IL_0033: ldloc.2 - IL_0034: ldc.i4.0 - IL_0035: bge.s IL_0039 + IL_0033: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0034: ldloc.2 + IL_0035: ldc.i4.0 + IL_0036: bge.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0037: ldloc.2 - IL_0038: ret + IL_0038: ldloc.2 + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: ble.s IL_003f + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ble.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0044: stloc.3 - IL_0045: ldloc.0 - IL_0046: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_004b: stloc.s V_4 - IL_004d: ldloc.1 - IL_004e: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0053: stloc.s V_5 - IL_0055: ldloc.3 - IL_0056: ldloc.s V_4 - IL_0058: ldloc.s V_5 - IL_005a: tail. - IL_005c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, + IL_0040: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0045: stloc.3 + IL_0046: ldloc.0 + IL_0047: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_004c: stloc.s V_4 + IL_004e: ldloc.1 + IL_004f: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0054: stloc.s V_5 + IL_0056: ldloc.3 + IL_0057: ldloc.s V_4 + IL_0059: ldloc.s V_5 + IL_005b: tail. + IL_005d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) - IL_0061: ret + IL_0062: ret .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.1 - IL_0063: ret + IL_0063: ldc.i4.1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldarg.1 - IL_0065: ldnull - IL_0066: cgt.un - IL_0068: brfalse.s IL_006c + IL_0065: ldarg.1 + IL_0066: ldnull + IL_0067: cgt.un + IL_0069: brfalse.s IL_006d .line 16707566,16707566 : 0,0 '' - IL_006a: ldc.i4.m1 - IL_006b: ret + IL_006b: ldc.i4.m1 + IL_006c: ret .line 16707566,16707566 : 0,0 '' - IL_006c: ldc.i4.0 - IL_006d: ret + IL_006d: ldc.i4.0 + IL_006e: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -308,6 +311,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -341,6 +345,7 @@ !!0, !!0) IL_0038: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0039: ldloc.3 IL_003a: ldc.i4.0 IL_003b: bge.s IL_003f @@ -398,69 +403,72 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 76 (0x4c) + // Code size 77 (0x4d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0019: stloc.2 - IL_001a: ldarg.1 - IL_001b: ldloc.2 - IL_001c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + .line 4,4 : 10,20 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_004b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_001a: stloc.2 + IL_001b: ldarg.1 + IL_001c: ldloc.2 + IL_001d: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_0021: ldloc.0 - IL_0022: ldc.i4.6 - IL_0023: shl - IL_0024: ldloc.0 - IL_0025: ldc.i4.2 - IL_0026: shr - IL_0027: add + IL_0022: ldloc.0 + IL_0023: ldc.i4.6 + IL_0024: shl + IL_0025: ldloc.0 + IL_0026: ldc.i4.2 + IL_0027: shr IL_0028: add IL_0029: add - IL_002a: stloc.0 - IL_002b: ldc.i4 0x9e3779b9 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0036: stloc.2 - IL_0037: ldarg.1 - IL_0038: ldloc.2 - IL_0039: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002a: add + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0037: stloc.2 + IL_0038: ldarg.1 + IL_0039: ldloc.2 + IL_003a: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) - IL_003e: ldloc.0 - IL_003f: ldc.i4.6 - IL_0040: shl - IL_0041: ldloc.0 - IL_0042: ldc.i4.2 - IL_0043: shr - IL_0044: add + IL_003f: ldloc.0 + IL_0040: ldc.i4.6 + IL_0041: shl + IL_0042: ldloc.0 + IL_0043: ldc.i4.2 + IL_0044: shr IL_0045: add IL_0046: add - IL_0047: stloc.0 - IL_0048: ldloc.0 - IL_0049: ret + IL_0047: add + IL_0048: stloc.0 + IL_0049: ldloc.0 + IL_004a: ret .line 16707566,16707566 : 0,0 '' - IL_004a: ldc.i4.0 - IL_004b: ret + IL_004b: ldc.i4.0 + IL_004c: ret } // end of method GenericKey`1::GetHashCode .method public hidebysig virtual final @@ -481,152 +489,159 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 87 (0x57) + // Code size 88 (0x58) .maxstack 5 .locals init ([0] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_2, [3] !a V_3, [4] !a V_4) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_004f - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_004d - - .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop - .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001c: stloc.3 - IL_001d: ldloc.2 - IL_001e: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0023: stloc.s V_4 - IL_0025: ldarg.2 - IL_0026: ldloc.3 - IL_0027: ldloc.s V_4 - IL_0029: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0050 + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldarg.1 + IL_0008: isinst class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_004e + + .line 16707566,16707566 : 0,0 '' + IL_0011: ldarg.0 + IL_0012: pop + .line 16707566,16707566 : 0,0 '' + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_001d: stloc.3 + IL_001e: ldloc.2 + IL_001f: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0024: stloc.s V_4 + IL_0026: ldarg.2 + IL_0027: ldloc.3 + IL_0028: ldloc.s V_4 + IL_002a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_002e: brfalse.s IL_004b - - .line 16707566,16707566 : 0,0 '' - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_003d: stloc.s V_4 - IL_003f: ldarg.2 - IL_0040: ldloc.3 - IL_0041: ldloc.s V_4 - IL_0043: tail. - IL_0045: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, + IL_002f: brfalse.s IL_004c + + .line 16707566,16707566 : 0,0 '' + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_003e: stloc.s V_4 + IL_0040: ldarg.2 + IL_0041: ldloc.3 + IL_0042: ldloc.s V_4 + IL_0044: tail. + IL_0046: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0, !!0) - IL_004a: ret + IL_004b: ret .line 16707566,16707566 : 0,0 '' - IL_004b: ldc.i4.0 - IL_004c: ret + IL_004c: ldc.i4.0 + IL_004d: ret .line 16707566,16707566 : 0,0 '' - IL_004d: ldc.i4.0 - IL_004e: ret + IL_004e: ldc.i4.0 + IL_004f: ret .line 16707566,16707566 : 0,0 '' - IL_004f: ldarg.1 - IL_0050: ldnull - IL_0051: cgt.un - IL_0053: ldc.i4.0 - IL_0054: ceq - IL_0056: ret + IL_0050: ldarg.1 + IL_0051: ldnull + IL_0052: cgt.un + IL_0054: ldc.i4.0 + IL_0055: ceq + IL_0057: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final instance bool Equals(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 77 (0x4d) + // Code size 78 (0x4e) .maxstack 4 .locals init ([0] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_0, [1] class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_1, [2] !a V_2, [3] !a V_3) + .line 4,4 : 10,20 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0045 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0043 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0044 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldloc.3 - IL_0022: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0019: stloc.2 + IL_001a: ldloc.1 + IL_001b: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0027: brfalse.s IL_0041 - - .line 16707566,16707566 : 0,0 '' - IL_0029: ldloc.0 - IL_002a: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_002f: stloc.2 - IL_0030: ldloc.1 - IL_0031: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 - IL_0036: stloc.3 - IL_0037: ldloc.2 - IL_0038: ldloc.3 - IL_0039: tail. - IL_003b: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, + IL_0028: brfalse.s IL_0042 + + .line 16707566,16707566 : 0,0 '' + IL_002a: ldloc.0 + IL_002b: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0030: stloc.2 + IL_0031: ldloc.1 + IL_0032: ldfld !0 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::item2 + IL_0037: stloc.3 + IL_0038: ldloc.2 + IL_0039: ldloc.3 + IL_003a: tail. + IL_003c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic(!!0, !!0) - IL_0040: ret + IL_0041: ret .line 16707566,16707566 : 0,0 '' - IL_0041: ldc.i4.0 - IL_0042: ret + IL_0042: ldc.i4.0 + IL_0043: ret .line 16707566,16707566 : 0,0 '' - IL_0043: ldc.i4.0 - IL_0044: ret + IL_0044: ldc.i4.0 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: ldarg.1 - IL_0046: ldnull - IL_0047: cgt.un - IL_0049: ldc.i4.0 - IL_004a: ceq - IL_004c: ret + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret } // end of method GenericKey`1::Equals .method public hidebysig virtual final @@ -640,6 +655,7 @@ IL_0000: ldarg.1 IL_0001: isinst class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.bsl index 458e033bb0..dd4511bb60 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.bsl @@ -36,13 +36,13 @@ // Offset: 0x00000A90 Length: 0x00000585 } .module Hash12.dll -// MVID: {60BE1F16-9661-796E-A745-0383161FBE60} +// MVID: {611C550D-9661-796E-A745-03830D551C61} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00BB0000 +// Image base: 0x05130000 // =============== CLASS MEMBERS DECLARATION =================== @@ -178,7 +178,7 @@ instance int32 CompareTo(class Hash12/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 119 (0x77) + // Code size 120 (0x78) .maxstack 4 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_1, @@ -187,109 +187,114 @@ [4] int32 V_4, [5] int32 V_5) .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 16707566,16707566 : 0,0 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash12.fsx' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_006d + .line 4,4 : 10,13 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash12.fsx' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_006b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_006c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0017: stloc.3 - IL_0018: ldloc.0 - IL_0019: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: stloc.s V_4 - IL_0020: ldloc.1 - IL_0021: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0026: stloc.s V_5 - IL_0028: ldloc.s V_4 - IL_002a: ldloc.s V_5 - IL_002c: bge.s IL_0032 + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + IL_0013: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: stloc.s V_4 + IL_0021: ldloc.1 + IL_0022: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0027: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_0029: ldloc.s V_4 + IL_002b: ldloc.s V_5 + IL_002d: bge.s IL_0033 .line 16707566,16707566 : 0,0 '' - IL_002e: ldc.i4.m1 + IL_002f: ldc.i4.m1 .line 16707566,16707566 : 0,0 '' - IL_002f: nop - IL_0030: br.s IL_0039 + IL_0030: nop + IL_0031: br.s IL_003a .line 16707566,16707566 : 0,0 '' - IL_0032: ldloc.s V_4 - IL_0034: ldloc.s V_5 - IL_0036: cgt + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: cgt .line 16707566,16707566 : 0,0 '' - IL_0038: nop + IL_0039: nop .line 16707566,16707566 : 0,0 '' - IL_0039: stloc.2 - IL_003a: ldloc.2 - IL_003b: ldc.i4.0 - IL_003c: bge.s IL_0040 + IL_003a: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003b: ldloc.2 + IL_003c: ldc.i4.0 + IL_003d: bge.s IL_0041 .line 16707566,16707566 : 0,0 '' - IL_003e: ldloc.2 - IL_003f: ret + IL_003f: ldloc.2 + IL_0040: ret .line 16707566,16707566 : 0,0 '' - IL_0040: ldloc.2 - IL_0041: ldc.i4.0 - IL_0042: ble.s IL_0046 + IL_0041: ldloc.2 + IL_0042: ldc.i4.0 + IL_0043: ble.s IL_0047 .line 16707566,16707566 : 0,0 '' - IL_0044: ldloc.2 - IL_0045: ret + IL_0045: ldloc.2 + IL_0046: ret .line 16707566,16707566 : 0,0 '' - IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.3 - IL_004c: ldloc.0 - IL_004d: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0052: stloc.s V_4 - IL_0054: ldloc.1 - IL_0055: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_005a: stloc.s V_5 - IL_005c: ldloc.s V_4 - IL_005e: ldloc.s V_5 - IL_0060: bge.s IL_0064 + IL_0047: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004c: stloc.3 + IL_004d: ldloc.0 + IL_004e: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0053: stloc.s V_4 + IL_0055: ldloc.1 + IL_0056: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_005b: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' + IL_005d: ldloc.s V_4 + IL_005f: ldloc.s V_5 + IL_0061: bge.s IL_0065 .line 16707566,16707566 : 0,0 '' - IL_0062: ldc.i4.m1 - IL_0063: ret + IL_0063: ldc.i4.m1 + IL_0064: ret .line 16707566,16707566 : 0,0 '' - IL_0064: ldloc.s V_4 - IL_0066: ldloc.s V_5 - IL_0068: cgt - IL_006a: ret + IL_0065: ldloc.s V_4 + IL_0067: ldloc.s V_5 + IL_0069: cgt + IL_006b: ret .line 16707566,16707566 : 0,0 '' - IL_006b: ldc.i4.1 - IL_006c: ret + IL_006c: ldc.i4.1 + IL_006d: ret .line 16707566,16707566 : 0,0 '' - IL_006d: ldarg.1 - IL_006e: ldnull - IL_006f: cgt.un - IL_0071: brfalse.s IL_0075 + IL_006e: ldarg.1 + IL_006f: ldnull + IL_0070: cgt.un + IL_0072: brfalse.s IL_0076 .line 16707566,16707566 : 0,0 '' - IL_0073: ldc.i4.m1 - IL_0074: ret + IL_0074: ldc.i4.m1 + IL_0075: ret .line 16707566,16707566 : 0,0 '' - IL_0075: ldc.i4.0 - IL_0076: ret + IL_0076: ldc.i4.0 + IL_0077: ret } // end of method Key::CompareTo .method public hidebysig virtual final @@ -323,6 +328,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Hash12/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -349,6 +355,7 @@ IL_0026: ldloc.2 IL_0027: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 IL_002c: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_002e: ldloc.s V_4 IL_0030: ldloc.s V_5 IL_0032: bge.s IL_0038 @@ -367,6 +374,7 @@ IL_003e: nop .line 16707566,16707566 : 0,0 '' IL_003f: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_0040: ldloc.3 IL_0041: ldc.i4.0 IL_0042: bge.s IL_0046 @@ -391,6 +399,7 @@ IL_0054: ldloc.2 IL_0055: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 IL_005a: stloc.s V_5 + .line 16707566,16707566 : 0,0 '' IL_005c: ldloc.s V_4 IL_005e: ldloc.s V_5 IL_0060: bge.s IL_0064 @@ -429,58 +438,61 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 60 (0x3c) + // Code size 61 (0x3d) .maxstack 7 .locals init ([0] int32 V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_1) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003a - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0019: ldloc.0 - IL_001a: ldc.i4.6 - IL_001b: shl - IL_001c: ldloc.0 - IL_001d: ldc.i4.2 - IL_001e: shr - IL_001f: add + .line 4,4 : 10,13 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003b + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_001a: ldloc.0 + IL_001b: ldc.i4.6 + IL_001c: shl + IL_001d: ldloc.0 + IL_001e: ldc.i4.2 + IL_001f: shr IL_0020: add IL_0021: add - IL_0022: stloc.0 - IL_0023: ldc.i4 0x9e3779b9 - IL_0028: ldloc.1 - IL_0029: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_002e: ldloc.0 - IL_002f: ldc.i4.6 - IL_0030: shl - IL_0031: ldloc.0 - IL_0032: ldc.i4.2 - IL_0033: shr - IL_0034: add + IL_0022: add + IL_0023: stloc.0 + IL_0024: ldc.i4 0x9e3779b9 + IL_0029: ldloc.1 + IL_002a: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_002f: ldloc.0 + IL_0030: ldc.i4.6 + IL_0031: shl + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: shr IL_0035: add IL_0036: add - IL_0037: stloc.0 - IL_0038: ldloc.0 - IL_0039: ret + IL_0037: add + IL_0038: stloc.0 + IL_0039: ldloc.0 + IL_003a: ret .line 16707566,16707566 : 0,0 '' - IL_003a: ldc.i4.0 - IL_003b: ret + IL_003b: ldc.i4.0 + IL_003c: ret } // end of method Key::GetHashCode .method public hidebysig virtual final @@ -501,120 +513,127 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 63 (0x3f) + // Code size 64 (0x40) .maxstack 4 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_1, [2] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_2) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0037 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0038 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: isinst Hash12/HashMicroPerfAndCodeGenerationTests/Key - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0035 + IL_0007: ldarg.1 + IL_0008: isinst Hash12/HashMicroPerfAndCodeGenerationTests/Key + IL_000d: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0036 .line 16707566,16707566 : 0,0 '' - IL_0010: ldarg.0 - IL_0011: pop + IL_0011: ldarg.0 + IL_0012: pop .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: stloc.1 - IL_0014: ldloc.0 - IL_0015: stloc.2 - IL_0016: ldloc.1 - IL_0017: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001c: ldloc.2 - IL_001d: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0022: bne.un.s IL_0033 + IL_0013: ldarg.0 + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_0017: ldloc.1 + IL_0018: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001d: ldloc.2 + IL_001e: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0023: bne.un.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0024: ldloc.1 - IL_0025: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002a: ldloc.2 - IL_002b: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0030: ceq - IL_0032: ret + IL_0025: ldloc.1 + IL_0026: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002b: ldloc.2 + IL_002c: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0031: ceq + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldc.i4.0 - IL_0034: ret + IL_0034: ldc.i4.0 + IL_0035: ret .line 16707566,16707566 : 0,0 '' - IL_0035: ldc.i4.0 - IL_0036: ret + IL_0036: ldc.i4.0 + IL_0037: ret .line 16707566,16707566 : 0,0 '' - IL_0037: ldarg.1 - IL_0038: ldnull - IL_0039: cgt.un - IL_003b: ldc.i4.0 - IL_003c: ceq - IL_003e: ret + IL_0038: ldarg.1 + IL_0039: ldnull + IL_003a: cgt.un + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret } // end of method Key::Equals .method public hidebysig virtual final instance bool Equals(class Hash12/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 59 (0x3b) + // Code size 60 (0x3c) .maxstack 4 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_1) + .line 4,4 : 10,13 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0033 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_0034 .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_0031 + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0032 .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_0018: ldloc.1 - IL_0019: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 - IL_001e: bne.un.s IL_002f + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_0019: ldloc.1 + IL_001a: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item1 + IL_001f: bne.un.s IL_0030 .line 16707566,16707566 : 0,0 '' - IL_0020: ldloc.0 - IL_0021: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_0026: ldloc.1 - IL_0027: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 - IL_002c: ceq - IL_002e: ret + IL_0021: ldloc.0 + IL_0022: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_0027: ldloc.1 + IL_0028: ldfld int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::item2 + IL_002d: ceq + IL_002f: ret .line 16707566,16707566 : 0,0 '' - IL_002f: ldc.i4.0 - IL_0030: ret + IL_0030: ldc.i4.0 + IL_0031: ret .line 16707566,16707566 : 0,0 '' - IL_0031: ldc.i4.0 - IL_0032: ret + IL_0032: ldc.i4.0 + IL_0033: ret .line 16707566,16707566 : 0,0 '' - IL_0033: ldarg.1 - IL_0034: ldnull - IL_0035: cgt.un - IL_0037: ldc.i4.0 - IL_0038: ceq - IL_003a: ret + IL_0034: ldarg.1 + IL_0035: ldnull + IL_0036: cgt.un + IL_0038: ldc.i4.0 + IL_0039: ceq + IL_003b: ret } // end of method Key::Equals .method public hidebysig virtual final @@ -628,6 +647,7 @@ IL_0000: ldarg.1 IL_0001: isinst Hash12/HashMicroPerfAndCodeGenerationTests/Key IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 @@ -792,7 +812,7 @@ instance int32 CompareTo(class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 169 (0xa9) + // Code size 170 (0xaa) .maxstack 5 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -805,116 +825,120 @@ [8] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_8, [9] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_9, [10] int32 V_10) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_009f + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_00a0 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: ldnull - IL_000b: cgt.un - IL_000d: brfalse IL_009d + IL_000a: ldarg.1 + IL_000b: ldnull + IL_000c: cgt.un + IL_000e: brfalse IL_009e .line 16707566,16707566 : 0,0 '' - IL_0012: ldarg.0 - IL_0013: pop + IL_0013: ldarg.0 + IL_0014: pop .line 16707566,16707566 : 0,0 '' - IL_0014: ldarg.0 - IL_0015: stloc.0 - IL_0016: ldarg.1 - IL_0017: stloc.1 - IL_0018: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_001d: stloc.3 - IL_001e: ldloc.0 - IL_001f: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0024: stloc.s V_4 - IL_0026: ldloc.1 - IL_0027: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_002c: stloc.s V_5 - IL_002e: ldloc.s V_4 - IL_0030: ldloc.s V_5 - IL_0032: ldloc.3 - IL_0033: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0015: ldarg.0 + IL_0016: stloc.0 + IL_0017: ldarg.1 + IL_0018: stloc.1 + IL_0019: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_001e: stloc.3 + IL_001f: ldloc.0 + IL_0020: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0025: stloc.s V_4 + IL_0027: ldloc.1 + IL_0028: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_002d: stloc.s V_5 + IL_002f: ldloc.s V_4 + IL_0031: ldloc.s V_5 + IL_0033: ldloc.3 + IL_0034: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0038: stloc.2 - IL_0039: ldloc.2 - IL_003a: ldc.i4.0 - IL_003b: bge.s IL_003f + IL_0039: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: bge.s IL_0040 .line 16707566,16707566 : 0,0 '' - IL_003d: ldloc.2 - IL_003e: ret + IL_003e: ldloc.2 + IL_003f: ret .line 16707566,16707566 : 0,0 '' - IL_003f: ldloc.2 - IL_0040: ldc.i4.0 - IL_0041: ble.s IL_0045 + IL_0040: ldloc.2 + IL_0041: ldc.i4.0 + IL_0042: ble.s IL_0046 .line 16707566,16707566 : 0,0 '' - IL_0043: ldloc.2 - IL_0044: ret + IL_0044: ldloc.2 + IL_0045: ret .line 16707566,16707566 : 0,0 '' - IL_0045: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004a: stloc.3 - IL_004b: ldloc.0 - IL_004c: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0051: stloc.s V_6 - IL_0053: ldloc.1 - IL_0054: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0059: stloc.s V_7 - IL_005b: ldloc.s V_6 - IL_005d: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0062: stloc.s V_4 - IL_0064: ldloc.s V_6 - IL_0066: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_006b: stloc.s V_5 - IL_006d: ldloc.s V_7 - IL_006f: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0074: stloc.s V_8 - IL_0076: ldloc.s V_7 - IL_0078: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_007d: stloc.s V_9 - IL_007f: ldloc.s V_4 - IL_0081: ldloc.s V_8 - IL_0083: ldloc.3 - IL_0084: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0046: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004b: stloc.3 + IL_004c: ldloc.0 + IL_004d: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0052: stloc.s V_6 + IL_0054: ldloc.1 + IL_0055: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_005a: stloc.s V_7 + IL_005c: ldloc.s V_6 + IL_005e: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0063: stloc.s V_4 + IL_0065: ldloc.s V_6 + IL_0067: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_006c: stloc.s V_5 + IL_006e: ldloc.s V_7 + IL_0070: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0075: stloc.s V_8 + IL_0077: ldloc.s V_7 + IL_0079: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_007e: stloc.s V_9 + IL_0080: ldloc.s V_4 + IL_0082: ldloc.s V_8 + IL_0084: ldloc.3 + IL_0085: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_0089: stloc.s V_10 - IL_008b: ldloc.s V_10 - IL_008d: brfalse.s IL_0092 + IL_008a: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' + IL_008c: ldloc.s V_10 + IL_008e: brfalse.s IL_0093 .line 16707566,16707566 : 0,0 '' - IL_008f: ldloc.s V_10 - IL_0091: ret + IL_0090: ldloc.s V_10 + IL_0092: ret .line 16707566,16707566 : 0,0 '' - IL_0092: ldloc.s V_5 - IL_0094: ldloc.s V_9 - IL_0096: ldloc.3 - IL_0097: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, + IL_0093: ldloc.s V_5 + IL_0095: ldloc.s V_9 + IL_0097: ldloc.3 + IL_0098: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) - IL_009c: ret + IL_009d: ret .line 16707566,16707566 : 0,0 '' - IL_009d: ldc.i4.1 - IL_009e: ret + IL_009e: ldc.i4.1 + IL_009f: ret .line 16707566,16707566 : 0,0 '' - IL_009f: ldarg.1 - IL_00a0: ldnull - IL_00a1: cgt.un - IL_00a3: brfalse.s IL_00a7 + IL_00a0: ldarg.1 + IL_00a1: ldnull + IL_00a2: cgt.un + IL_00a4: brfalse.s IL_00a8 .line 16707566,16707566 : 0,0 '' - IL_00a5: ldc.i4.m1 - IL_00a6: ret + IL_00a6: ldc.i4.m1 + IL_00a7: ret .line 16707566,16707566 : 0,0 '' - IL_00a7: ldc.i4.0 - IL_00a8: ret + IL_00a8: ldc.i4.0 + IL_00a9: ret } // end of method KeyWithInnerKeys::CompareTo .method public hidebysig virtual final @@ -953,6 +977,7 @@ IL_0000: ldarg.1 IL_0001: unbox.any Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldarg.0 IL_0008: ldnull IL_0009: cgt.un @@ -985,6 +1010,7 @@ IL_0039: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_003e: stloc.3 + .line 16707566,16707566 : 0,0 '' IL_003f: ldloc.3 IL_0040: ldc.i4.0 IL_0041: bge.s IL_0045 @@ -1027,6 +1053,7 @@ IL_0084: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::CompareTo(object, class [mscorlib]System.Collections.IComparer) IL_0089: stloc.s V_10 + .line 16707566,16707566 : 0,0 '' IL_008b: ldloc.s V_10 IL_008d: brfalse.s IL_0092 @@ -1066,7 +1093,7 @@ instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 107 (0x6b) + // Code size 108 (0x6c) .maxstack 7 .locals init ([0] int32 V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1074,76 +1101,79 @@ [3] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_3, [4] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_4, [5] int32 V_5) - .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_0069 - - .line 16707566,16707566 : 0,0 '' - IL_0006: ldc.i4.0 - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: pop - .line 16707566,16707566 : 0,0 '' - IL_000a: ldarg.0 - IL_000b: stloc.1 - IL_000c: ldc.i4.0 - IL_000d: stloc.0 - IL_000e: ldc.i4 0x9e3779b9 - IL_0013: ldloc.1 - IL_0014: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0019: stloc.2 - IL_001a: ldloc.2 - IL_001b: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_0020: stloc.3 - IL_0021: ldloc.2 - IL_0022: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0027: stloc.s V_4 - IL_0029: ldloc.3 - IL_002a: ldarg.1 - IL_002b: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0030: stloc.s V_5 - IL_0032: ldloc.s V_5 - IL_0034: ldc.i4.5 - IL_0035: shl - IL_0036: ldloc.s V_5 - IL_0038: add - IL_0039: ldloc.s V_4 - IL_003b: ldarg.1 - IL_003c: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_0041: xor - IL_0042: ldloc.0 - IL_0043: ldc.i4.6 - IL_0044: shl - IL_0045: ldloc.0 - IL_0046: ldc.i4.2 - IL_0047: shr - IL_0048: add + .line 5,5 : 10,26 '' + IL_0000: nop + .line 16707566,16707566 : 0,0 '' + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_006a + + .line 16707566,16707566 : 0,0 '' + IL_0007: ldc.i4.0 + IL_0008: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0009: ldarg.0 + IL_000a: pop + .line 16707566,16707566 : 0,0 '' + IL_000b: ldarg.0 + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.0 + IL_000f: ldc.i4 0x9e3779b9 + IL_0014: ldloc.1 + IL_0015: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_001a: stloc.2 + IL_001b: ldloc.2 + IL_001c: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0028: stloc.s V_4 + IL_002a: ldloc.3 + IL_002b: ldarg.1 + IL_002c: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0031: stloc.s V_5 + IL_0033: ldloc.s V_5 + IL_0035: ldc.i4.5 + IL_0036: shl + IL_0037: ldloc.s V_5 + IL_0039: add + IL_003a: ldloc.s V_4 + IL_003c: ldarg.1 + IL_003d: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_0042: xor + IL_0043: ldloc.0 + IL_0044: ldc.i4.6 + IL_0045: shl + IL_0046: ldloc.0 + IL_0047: ldc.i4.2 + IL_0048: shr IL_0049: add IL_004a: add - IL_004b: stloc.0 - IL_004c: ldc.i4 0x9e3779b9 - IL_0051: ldloc.1 - IL_0052: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0057: ldarg.1 - IL_0058: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) - IL_005d: ldloc.0 - IL_005e: ldc.i4.6 - IL_005f: shl - IL_0060: ldloc.0 - IL_0061: ldc.i4.2 - IL_0062: shr - IL_0063: add + IL_004b: add + IL_004c: stloc.0 + IL_004d: ldc.i4 0x9e3779b9 + IL_0052: ldloc.1 + IL_0053: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0058: ldarg.1 + IL_0059: callvirt instance int32 Hash12/HashMicroPerfAndCodeGenerationTests/Key::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) + IL_005e: ldloc.0 + IL_005f: ldc.i4.6 + IL_0060: shl + IL_0061: ldloc.0 + IL_0062: ldc.i4.2 + IL_0063: shr IL_0064: add IL_0065: add - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ret + IL_0066: add + IL_0067: stloc.0 + IL_0068: ldloc.0 + IL_0069: ret .line 16707566,16707566 : 0,0 '' - IL_0069: ldc.i4.0 - IL_006a: ret + IL_006a: ldc.i4.0 + IL_006b: ret } // end of method KeyWithInnerKeys::GetHashCode .method public hidebysig virtual final @@ -1164,7 +1194,7 @@ class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 138 (0x8a) + // Code size 139 (0x8b) .maxstack 5 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1, @@ -1175,155 +1205,163 @@ [6] class [mscorlib]System.Tuple`2 V_6, [7] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_7, [8] class Hash12/HashMicroPerfAndCodeGenerationTests/Key V_8) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse IL_0082 + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse IL_0083 .line 16707566,16707566 : 0,0 '' - IL_0009: ldarg.1 - IL_000a: isinst Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys - IL_000f: stloc.0 - IL_0010: ldloc.0 - IL_0011: brfalse.s IL_0080 + IL_000a: ldarg.1 + IL_000b: isinst Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys + IL_0010: stloc.0 + .line 16707566,16707566 : 0,0 '' + IL_0011: ldloc.0 + IL_0012: brfalse.s IL_0081 .line 16707566,16707566 : 0,0 '' - IL_0013: ldarg.0 - IL_0014: pop + IL_0014: ldarg.0 + IL_0015: pop .line 16707566,16707566 : 0,0 '' - IL_0015: ldarg.0 - IL_0016: stloc.1 - IL_0017: ldloc.0 - IL_0018: stloc.2 - IL_0019: ldloc.1 - IL_001a: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001f: stloc.3 - IL_0020: ldloc.2 - IL_0021: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0026: stloc.s V_4 - IL_0028: ldloc.3 - IL_0029: ldloc.s V_4 - IL_002b: ldarg.2 - IL_002c: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0016: ldarg.0 + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: stloc.2 + .line 16707566,16707566 : 0,0 '' + IL_001a: ldloc.1 + IL_001b: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0027: stloc.s V_4 + IL_0029: ldloc.3 + IL_002a: ldloc.s V_4 + IL_002c: ldarg.2 + IL_002d: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_0031: brfalse.s IL_007e + IL_0032: brfalse.s IL_007f .line 16707566,16707566 : 0,0 '' - IL_0033: ldloc.1 - IL_0034: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0039: stloc.s V_5 - IL_003b: ldloc.2 - IL_003c: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0041: stloc.s V_6 - IL_0043: ldloc.s V_5 - IL_0045: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_004a: stloc.3 - IL_004b: ldloc.s V_5 - IL_004d: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0052: stloc.s V_4 - IL_0054: ldloc.s V_6 - IL_0056: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() - IL_005b: stloc.s V_7 - IL_005d: ldloc.s V_6 - IL_005f: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() - IL_0064: stloc.s V_8 - IL_0066: ldloc.3 - IL_0067: ldloc.s V_7 - IL_0069: ldarg.2 - IL_006a: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0034: ldloc.1 + IL_0035: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_003a: stloc.s V_5 + IL_003c: ldloc.2 + IL_003d: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0042: stloc.s V_6 + IL_0044: ldloc.s V_5 + IL_0046: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_004b: stloc.3 + IL_004c: ldloc.s V_5 + IL_004e: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0053: stloc.s V_4 + IL_0055: ldloc.s V_6 + IL_0057: call instance !0 class [mscorlib]System.Tuple`2::get_Item1() + IL_005c: stloc.s V_7 + IL_005e: ldloc.s V_6 + IL_0060: call instance !1 class [mscorlib]System.Tuple`2::get_Item2() + IL_0065: stloc.s V_8 + .line 16707566,16707566 : 0,0 '' + IL_0067: ldloc.3 + IL_0068: ldloc.s V_7 + IL_006a: ldarg.2 + IL_006b: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_006f: brfalse.s IL_007c + IL_0070: brfalse.s IL_007d .line 16707566,16707566 : 0,0 '' - IL_0071: ldloc.s V_4 - IL_0073: ldloc.s V_8 - IL_0075: ldarg.2 - IL_0076: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, + IL_0072: ldloc.s V_4 + IL_0074: ldloc.s V_8 + IL_0076: ldarg.2 + IL_0077: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(object, class [mscorlib]System.Collections.IEqualityComparer) - IL_007b: ret + IL_007c: ret .line 16707566,16707566 : 0,0 '' - IL_007c: ldc.i4.0 - IL_007d: ret + IL_007d: ldc.i4.0 + IL_007e: ret .line 16707566,16707566 : 0,0 '' - IL_007e: ldc.i4.0 - IL_007f: ret + IL_007f: ldc.i4.0 + IL_0080: ret .line 16707566,16707566 : 0,0 '' - IL_0080: ldc.i4.0 - IL_0081: ret + IL_0081: ldc.i4.0 + IL_0082: ret .line 16707566,16707566 : 0,0 '' - IL_0082: ldarg.1 - IL_0083: ldnull - IL_0084: cgt.un - IL_0086: ldc.i4.0 - IL_0087: ceq - IL_0089: ret + IL_0083: ldarg.1 + IL_0084: ldnull + IL_0085: cgt.un + IL_0087: ldc.i4.0 + IL_0088: ceq + IL_008a: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final instance bool Equals(class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 69 (0x45) + // Code size 70 (0x46) .maxstack 4 .locals init ([0] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_0, [1] class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys V_1) + .line 5,5 : 10,26 '' + IL_0000: nop .line 16707566,16707566 : 0,0 '' - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: cgt.un - IL_0004: brfalse.s IL_003d + IL_0001: ldarg.0 + IL_0002: ldnull + IL_0003: cgt.un + IL_0005: brfalse.s IL_003e .line 16707566,16707566 : 0,0 '' - IL_0006: ldarg.1 - IL_0007: ldnull - IL_0008: cgt.un - IL_000a: brfalse.s IL_003b + IL_0007: ldarg.1 + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_003c .line 16707566,16707566 : 0,0 '' - IL_000c: ldarg.0 - IL_000d: pop + IL_000d: ldarg.0 + IL_000e: pop .line 16707566,16707566 : 0,0 '' - IL_000e: ldarg.0 - IL_000f: stloc.0 - IL_0010: ldarg.1 - IL_0011: stloc.1 - IL_0012: ldloc.0 - IL_0013: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_0018: ldloc.1 - IL_0019: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 - IL_001e: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(class Hash12/HashMicroPerfAndCodeGenerationTests/Key) - IL_0023: brfalse.s IL_0039 - - .line 16707566,16707566 : 0,0 '' - IL_0025: ldloc.0 - IL_0026: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_002b: ldloc.1 - IL_002c: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 - IL_0031: tail. - IL_0033: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, + IL_000f: ldarg.0 + IL_0010: stloc.0 + IL_0011: ldarg.1 + IL_0012: stloc.1 + .line 16707566,16707566 : 0,0 '' + IL_0013: ldloc.0 + IL_0014: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_0019: ldloc.1 + IL_001a: ldfld class Hash12/HashMicroPerfAndCodeGenerationTests/Key Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item1 + IL_001f: callvirt instance bool Hash12/HashMicroPerfAndCodeGenerationTests/Key::Equals(class Hash12/HashMicroPerfAndCodeGenerationTests/Key) + IL_0024: brfalse.s IL_003a + + .line 16707566,16707566 : 0,0 '' + IL_0026: ldloc.0 + IL_0027: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_002c: ldloc.1 + IL_002d: ldfld class [mscorlib]System.Tuple`2 Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys::item2 + IL_0032: tail. + IL_0034: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityERIntrinsic>(!!0, !!0) - IL_0038: ret + IL_0039: ret .line 16707566,16707566 : 0,0 '' - IL_0039: ldc.i4.0 - IL_003a: ret + IL_003a: ldc.i4.0 + IL_003b: ret .line 16707566,16707566 : 0,0 '' - IL_003b: ldc.i4.0 - IL_003c: ret + IL_003c: ldc.i4.0 + IL_003d: ret .line 16707566,16707566 : 0,0 '' - IL_003d: ldarg.1 - IL_003e: ldnull - IL_003f: cgt.un - IL_0041: ldc.i4.0 - IL_0042: ceq - IL_0044: ret + IL_003e: ldarg.1 + IL_003f: ldnull + IL_0040: cgt.un + IL_0042: ldc.i4.0 + IL_0043: ceq + IL_0045: ret } // end of method KeyWithInnerKeys::Equals .method public hidebysig virtual final @@ -1337,6 +1375,7 @@ IL_0000: ldarg.1 IL_0001: isinst Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys IL_0006: stloc.0 + .line 16707566,16707566 : 0,0 '' IL_0007: ldloc.0 IL_0008: brfalse.s IL_0014 diff --git a/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx b/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx index edf6536025..9e1f794aa9 100644 --- a/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx +++ b/tests/walkthroughs/DebugStepping/TheBigFileOfDebugStepping.fsx @@ -924,3 +924,83 @@ module BooleanLogic = testFunctionWithIfOfAnd true false testFunctionWithIfOfOr false false +// See https://github.com/dotnet/fsharp/issues/11977 +module FalseSteppingBug = + type U = + | A1 of int + | A2 of int + | A3 of int + | A4 of int + + let testFunc f u = + match u with + | A1 n -> f n + | A2 n when n > 4 -> f n // this was falsely hit + | A2 n -> f n + | A3 n -> f n + | A4 n -> f n + + testFunc id (A3 4) + + + +// https://github.com/dotnet/fsharp/pull/11981 +module MissingFirstTry = + let TestFunction3() = + try + let x = 1+1 + System.Console.WriteLine "Hello"; + with _ -> + System.Console.WriteLine "World" + + TestFunction3() + + +// https://github.com/dotnet/fsharp/issues/11979 +// +// Check debug points exist for 'when' +module DebuggingSteppingForMatchWithWhen1 = + + let TestMatchWithWhen x y = + match x with + | [_] when y > 4 -> 5 + | [_] when y < 4 -> -5 + | _ -> 2 + + + TestMatchWithWhen [1] 4 + TestMatchWithWhen [1] 5 + TestMatchWithWhen [1] 6 + + +// https://github.com/dotnet/fsharp/issues/11979 +// +// Check debug points exist for 'when' +module DebuggingSteppingForMatchWithWhenWithVariableBinding = + + let TestMatchWithWhen x = + match x with + | [x] when x > 4 -> 5 + | [x] when x < 4 -> -5 + | _ -> 2 + + + TestMatchWithWhen [4] + TestMatchWithWhen [5] + TestMatchWithWhen [6] + +// https://github.com/dotnet/fsharp/issues/11979 +// +// Check debug points exist for 'when' +module DebuggingSteppingForMatchWithWhenWithUnionClauses= + + let TestMatchWithWhen x = + match x with + | [_;x] + | [x] when x < 4 -> -5 + | _ -> 2 + + + TestMatchWithWhen [4;5] + TestMatchWithWhen [5;4] + TestMatchWithWhen [6]