1 write to _helper
System.Private.Xml (1)
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (1)
53
_helper
= helper;
512 references to _helper
System.Private.Xml (512)
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (512)
73
_helper
.MethodBegin(methRoot, null, true);
78
_helper
.MethodEnd();
100
iterInfo = new IteratorDescriptor(
_helper
);
130
idxValue =
_helper
.StaticData.DeclareGlobalValue(iter.DebugName!);
133
_helper
.MethodBegin(methGlobal, iter.SourceLine, false);
135
lblGetGlobal =
_helper
.DefineLabel();
136
lblComputeGlobal =
_helper
.DefineLabel();
139
_helper
.LoadQueryRuntime();
140
_helper
.LoadInteger(idxValue);
141
_helper
.Call(XmlILMethods.GlobalComputed);
142
_helper
.Emit(OpCodes.Brtrue, lblGetGlobal);
153
LocalBuilder locParam =
_helper
.DeclareLocal("$$$param", typeof(object));
154
_helper
.CallGetParameter(param.Name!.LocalName, param.Name.NamespaceUri);
155
_helper
.Emit(OpCodes.Stloc, locParam);
156
_helper
.Emit(OpCodes.Ldloc, locParam);
157
_helper
.Emit(OpCodes.Brfalse, lblComputeGlobal);
161
_helper
.LoadQueryRuntime();
162
_helper
.LoadInteger(idxValue);
164
_helper
.LoadQueryRuntime();
165
_helper
.LoadInteger(
_helper
.StaticData.DeclareXmlType(XmlQueryTypeFactory.ItemS));
166
_helper
.Emit(OpCodes.Ldloc, locParam);
167
_helper
.Call(XmlILMethods.ChangeTypeXsltResult);
169
_helper
.CallSetGlobalValue(typeof(object));
172
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblGetGlobal);
176
_helper
.MarkLabel(lblComputeGlobal);
181
_helper
.LoadQueryRuntime();
182
_helper
.LoadInteger(idxValue);
187
_helper
.CallSetGlobalValue(GetStorageType(iter));
194
_helper
.LoadQueryRuntime();
195
_helper
.Emit(OpCodes.Ldstr, SR.Format(SR.XmlIl_UnknownParam, new string?[] { param!.Name!.LocalName, param.Name.NamespaceUri }));
196
_helper
.Call(XmlILMethods.ThrowException);
203
_helper
.MarkLabel(lblGetGlobal);
204
_helper
.CallGetGlobalValue(idxValue, GetStorageType(iter));
206
_helper
.MethodEnd();
226
iterInfo = new IteratorDescriptor(
_helper
);
242
_helper
.MethodBegin(methFunc, ndFunc.SourceLine, useWriter);
248
_helper
.DebugSequencePoint(iter.SourceLine);
257
Label lblLocalComputed =
_helper
.DefineLabel();
258
_helper
.LoadQueryRuntime();
259
_helper
.LoadParameter(paramId);
260
_helper
.LoadInteger((int)XmlTypeCode.QName);
261
_helper
.Call(XmlILMethods.SeqMatchesCode);
263
_helper
.Emit(OpCodes.Brfalse, lblLocalComputed);
270
_helper
.SetParameter(paramId);
271
_helper
.MarkLabel(lblLocalComputed);
285
_helper
.MethodEnd();
302
_helper
.DebugSequencePoint(nd.SourceLine);
346
_helper
.CallStartSequenceConstruction();
352
_helper
.CallEndSequenceConstruction();
370
_helper
.LoadQueryOutput();
385
_helper
.LoadQueryOutput();
390
_helper
.Call(XmlILMethods.WriteItem);
406
_helper
.LoadQueryContext();
409
_helper
.Call(XmlILMethods.GetDataSource);
411
locNav =
_helper
.DeclareLocal("$$$navDoc", typeof(XPathNavigator));
412
_helper
.Emit(OpCodes.Stloc, locNav);
415
_helper
.Emit(OpCodes.Ldloc, locNav);
416
_helper
.Emit(OpCodes.Brfalse, _iterCurr.GetLabelNext());
445
_helper
.LoadQueryRuntime();
447
_helper
.Call(XmlILMethods.ThrowException);
456
_helper
.Emit(OpCodes.Ldnull);
469
_helper
.LoadQueryRuntime();
471
_helper
.Call(XmlILMethods.SendMessage);
495
_helper
.EmitUnconditionalBranch(_iterCurr.CurrentBranchingContext == BranchingContext.OnTrue ?
503
_helper
.LoadBoolean(true);
524
_helper
.EmitUnconditionalBranch(_iterCurr.CurrentBranchingContext == BranchingContext.OnFalse ?
532
_helper
.LoadBoolean(false);
544
_helper
.Emit(OpCodes.Ldstr, (string)ndStr);
554
_helper
.LoadInteger((int)ndInt);
564
_helper
.Emit(OpCodes.Ldc_I8, (long)ndLong);
574
_helper
.Emit(OpCodes.Ldc_R8, (double)ndDbl);
584
_helper
.ConstructLiteralDecimal((decimal)ndDec);
594
_helper
.ConstructLiteralQName(ndQName.LocalName, ndQName.NamespaceUri);
664
lblOnFalse =
_helper
.DefineLabel();
699
_helper
.MarkLabel(lblOnFalse);
708
_helper
.ConvBranchToBool(lblOnFalse, false);
747
lblTemp =
_helper
.DefineLabel();
759
lblTemp =
_helper
.DefineLabel();
789
_helper
.MarkLabel(lblTemp);
798
_helper
.ConvBranchToBool(lblTemp, true);
844
lblTemp =
_helper
.DefineLabel();
852
_helper
.ConvBranchToBool(lblTemp, false);
875
lblFalse =
_helper
.DefineLabel();
885
_helper
.MarkLabel(lblFalse);
891
lblDone =
_helper
.DefineLabel();
892
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblDone);
895
_helper
.MarkLabel(lblFalse);
898
_helper
.MarkLabel(lblDone);
913
lblFalse =
_helper
.DefineLabel();
924
locCond =
_helper
.DeclareLocal("$$$cond", itemStorageType);
925
locBool =
_helper
.DeclareLocal("$$$boolResult", typeof(bool));
929
_helper
.Emit(OpCodes.Ldloc, locBool);
930
_helper
.Emit(OpCodes.Brfalse, lblFalse);
938
lblDone =
_helper
.DefineLabel();
939
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblDone);
943
_helper
.MarkLabel(lblFalse);
953
_helper
.EmitUnconditionalBranch(OpCodes.Brtrue, lblDone);
956
lblNext =
_helper
.DefineLabel();
957
_helper
.MarkLabel(lblNext);
960
_helper
.Emit(OpCodes.Ldloc, locBool!);
961
_helper
.Emit(OpCodes.Brtrue, iterInfoTrue!.GetLabelNext());
962
_helper
.EmitUnconditionalBranch(OpCodes.Br, _iterNested!.GetLabelNext());
968
_helper
.MarkLabel(lblDone);
1022
switchLabels[idx] =
_helper
.DefineLabel();
1024
lblOtherwise =
_helper
.DefineLabel();
1025
lblDone =
_helper
.DefineLabel();
1032
_helper
.Emit(OpCodes.Switch, switchLabels);
1033
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblOtherwise);
1038
_helper
.MarkLabel(switchLabels[idx]);
1044
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblDone);
1048
_helper
.MarkLabel(lblOtherwise);
1054
_helper
.MarkLabel(lblDone);
1071
Label lblOnEnd =
_helper
.DefineLabel();
1077
_helper
.CallCacheCount(_iterNested!.Storage.ItemStorageType);
1082
_helper
.Emit(OpCodes.Ldc_I4_0);
1094
_helper
.Emit(OpCodes.Ldc_I4_1);
1095
_helper
.Emit(OpCodes.Add);
1100
_helper
.Emit(OpCodes.Dup);
1101
_helper
.LoadInteger((int)patt.GetArgument(OptimizerPatternArgument.MaxPosition));
1102
_helper
.Emit(OpCodes.Bgt, lblOnEnd);
1148
_helper
.EmitUnconditionalBranch(OpCodes.Brtrue, _iterCurr.GetLabelNext());
1151
_helper
.Emit(OpCodes.Ldnull);
1179
lblOnEnd =
_helper
.DefineLabel();
1182
_helper
.MarkLabel(lblOnEnd);
1191
locList =
_helper
.DeclareLocal("$$$itemList", itemStorageType);
1192
locIdx =
_helper
.DeclareLocal("$$$idxList", typeof(int));
1195
lblStart =
_helper
.DefineLabel();
1202
_helper
.MarkLabel(lblOnEnd);
1208
lblOnEnd =
_helper
.DefineLabel();
1211
_helper
.LoadInteger(i);
1212
_helper
.Emit(OpCodes.Stloc, locIdx);
1226
_helper
.EmitUnconditionalBranch(OpCodes.Brtrue, lblStart);
1230
lblNext =
_helper
.DefineLabel();
1231
_helper
.MarkLabel(lblNext);
1237
_helper
.Emit(OpCodes.Ldloc, locIdx);
1238
_helper
.Emit(OpCodes.Switch, arrSwitchLabels);
1241
_helper
.MarkLabel(lblStart);
1281
locIter =
_helper
.DeclareLocal(iterName, iterType);
1282
locNav =
_helper
.DeclareLocal("$$$navSet", typeof(XPathNavigator));
1285
_helper
.Emit(OpCodes.Ldloca, locIter);
1286
_helper
.LoadQueryRuntime();
1287
_helper
.Call(methCreate);
1290
lblNext =
_helper
.DefineLabel();
1291
lblCall =
_helper
.DefineLabel();
1292
lblInitRight =
_helper
.DefineLabel();
1299
_helper
.EmitUnconditionalBranch(OpCodes.Brtrue, lblCall);
1304
_helper
.MarkLabel(lblInitRight);
1308
_helper
.EmitUnconditionalBranch(OpCodes.Brtrue, lblCall);
1311
_helper
.MarkLabel(lblNext);
1312
_helper
.Emit(OpCodes.Ldnull);
1313
_helper
.Emit(OpCodes.Stloc, locNav);
1322
_helper
.MarkLabel(lblCall);
1323
_helper
.Emit(OpCodes.Ldloca, locIter);
1324
_helper
.Emit(OpCodes.Ldloc, locNav);
1325
_helper
.Call(methNext);
1331
_helper
.Emit(OpCodes.Switch, new Label[] { lblInitRight, lblNextLeft, lblNextRight });
1336
_helper
.Emit(OpCodes.Switch, new Label[] { _iterCurr.GetLabelNext(), lblInitRight, lblNextLeft, lblNextRight });
1384
Label lblOnEnd =
_helper
.DefineLabel();
1390
locAgg =
_helper
.DeclareLocal(aggName, typAgg);
1391
_helper
.Emit(OpCodes.Ldloca, locAgg);
1392
_helper
.Call(methods.AggCreate!);
1396
_helper
.Emit(OpCodes.Ldloca, locAgg);
1402
_helper
.Call(methAgg);
1403
_helper
.Emit(OpCodes.Ldloca, locAgg);
1415
_helper
.Call(methods.AggIsEmpty!);
1416
_helper
.Emit(OpCodes.Brtrue, _iterCurr.GetLabelNext());
1417
_helper
.Emit(OpCodes.Ldloca, locAgg);
1421
_helper
.Call(methResult);
1433
_helper
.CallArithmeticOp(QilNodeType.Negate, ndNeg.XmlType!.TypeCode);
1484
_helper
.CallArithmeticOp(ndOp.NodeType, ndOp.XmlType!.TypeCode);
1495
_helper
.Call(XmlILMethods.StrLen);
1540
_helper
.CallConcatStrings(listStrings.Count);
1545
locStringConcat =
_helper
.DeclareLocal("$$$strcat", typeof(StringConcat));
1546
_helper
.Emit(OpCodes.Ldloca, locStringConcat);
1547
_helper
.Call(XmlILMethods.StrCatClear);
1552
_helper
.Emit(OpCodes.Ldloca, locStringConcat);
1554
_helper
.Call(XmlILMethods.StrCatDelim);
1557
_helper
.Emit(OpCodes.Ldloca, locStringConcat);
1570
_helper
.Call(XmlILMethods.StrCatResult);
1586
lblOnEnd =
_helper
.DefineLabel();
1593
_helper
.Call(XmlILMethods.StrCatCat);
1594
_helper
.Emit(OpCodes.Ldloca, locStringConcat);
1621
_helper
.LoadQueryRuntime();
1634
_helper
.CallParseTagName(GenerateNameType.TagNameAndNamespace);
1640
_helper
.LoadInteger(
_helper
.StaticData.DeclarePrefixMappings(ndParsedTagName.Right));
1642
_helper
.LoadInteger(
_helper
.StaticData.DeclarePrefixMappings(new QilNode[] { ndParsedTagName.Right }));
1646
_helper
.CallParseTagName(GenerateNameType.TagNameAndMappings);
1745
_helper
.CallCompareEquals(code);
1756
_helper
.CallCompare(code);
1759
_helper
.Emit(OpCodes.Ldc_I4_0);
1784
_helper
.Call(XmlILMethods.NavSamePos);
1815
_helper
.LoadQueryRuntime();
1817
_helper
.Call(XmlILMethods.CompPos);
1820
_helper
.LoadInteger(0);
1949
locIter =
_helper
.DeclareLocal("$$$iterElemContent", typeof(ElementContentIterator));
1952
_helper
.Emit(OpCodes.Ldloca, locIter);
1954
_helper
.CallGetAtomizedName(
_helper
.StaticData.DeclareName(name!.LocalName));
1955
_helper
.CallGetAtomizedName(
_helper
.StaticData.DeclareName(name.NamespaceUri));
1956
_helper
.Call(XmlILMethods.ElemContentCreate);
1969
locIter =
_helper
.DeclareLocal("$$$iterContent", typeof(NodeKindContentIterator));
1972
_helper
.Emit(OpCodes.Ldloca, locIter);
1974
_helper
.LoadInteger((int)QilXmlToXPathNodeType(kinds));
1975
_helper
.Call(XmlILMethods.KindContentCreate);
2044
Label lblOnEnd =
_helper
.DefineLabel();
2045
Label lblLookup =
_helper
.DefineLabel();
2051
LocalBuilder locIndex =
_helper
.DeclareLocal("$$$index", typeof(XmlILIndex));
2052
_helper
.LoadQueryRuntime();
2053
_helper
.Emit(OpCodes.Ldarg_1);
2054
_helper
.LoadInteger(_indexId);
2055
_helper
.Emit(OpCodes.Ldloca, locIndex);
2056
_helper
.Call(XmlILMethods.FindIndex);
2057
_helper
.Emit(OpCodes.Brtrue, lblLookup);
2060
_helper
.LoadQueryRuntime();
2061
_helper
.Emit(OpCodes.Ldarg_1);
2062
_helper
.LoadInteger(_indexId);
2063
_helper
.Emit(OpCodes.Ldloc, locIndex);
2077
_helper
.Call(XmlILMethods.IndexAdd);
2078
_helper
.Emit(OpCodes.Ldloc, locIndex);
2086
_helper
.Call(XmlILMethods.AddNewIndex);
2090
_helper
.MarkLabel(lblLookup);
2091
_helper
.Emit(OpCodes.Ldloc, locIndex);
2092
_helper
.Emit(OpCodes.Ldarg_2);
2093
_helper
.Call(XmlILMethods.IndexLookup);
2114
_helper
.DebugSequencePoint(ndIter.SourceLine);
2152
locPos =
_helper
.DeclareLocal("$$$pos", typeof(int));
2153
_helper
.Emit(OpCodes.Ldc_I4_0);
2154
_helper
.Emit(OpCodes.Stloc, locPos);
2164
_helper
.DebugStartScope();
2178
_helper
.Emit(OpCodes.Ldloc, locPos!);
2179
_helper
.Emit(OpCodes.Ldc_I4_1);
2180
_helper
.Emit(OpCodes.Add);
2181
_helper
.Emit(OpCodes.Stloc, locPos!);
2186
_helper
.Emit(OpCodes.Ldloc, locPos!);
2187
_helper
.LoadInteger((int)patt.GetArgument(OptimizerPatternArgument.MaxPosition));
2188
_helper
.Emit(OpCodes.Bgt, _iterCurr.ParentIterator!.GetLabelNext());
2215
_helper
.DebugStartScope();
2238
_helper
.DebugEndScope();
2264
Label lblOnEndSort =
_helper
.DefineLabel();
2270
locCache =
_helper
.DeclareLocal("$$$cache", methods.SeqType);
2271
_helper
.Emit(OpCodes.Ldloc, locCache);
2272
_helper
.Call(methods.SeqReuse);
2273
_helper
.Emit(OpCodes.Stloc, locCache);
2274
_helper
.Emit(OpCodes.Ldloc, locCache);
2278
locKeys =
_helper
.DeclareLocal("$$$keys", typeof(XmlSortKeyAccumulator));
2279
_helper
.Emit(OpCodes.Ldloca, locKeys);
2280
_helper
.Call(XmlILMethods.SortKeyCreate);
2291
_helper
.Call(methods.SeqAdd);
2293
_helper
.Emit(OpCodes.Ldloca, locKeys);
2300
_helper
.Call(XmlILMethods.SortKeyFinish);
2303
_helper
.Emit(OpCodes.Ldloc, locCache);
2307
_helper
.Emit(OpCodes.Pop);
2310
_helper
.Emit(OpCodes.Ldloc, locCache);
2311
_helper
.Emit(OpCodes.Ldloca, locKeys);
2312
_helper
.Call(XmlILMethods.SortKeyKeys);
2313
_helper
.Call(methods.SeqSortByKeys);
2333
_helper
.Emit(OpCodes.Ldloca, locKeys);
2337
_helper
.CallGetCollation(
_helper
.StaticData.DeclareCollation((string)(QilLiteral)ndKey.Collation));
2342
_helper
.LoadQueryRuntime();
2344
_helper
.Call(XmlILMethods.CreateCollation);
2352
_helper
.AddSortKey(ndKey.Key.XmlType);
2356
lblOnEndKey =
_helper
.DefineLabel();
2364
_helper
.AddSortKey(ndKey.Key.XmlType);
2368
Label lblDone =
_helper
.DefineLabel();
2369
_helper
.EmitUnconditionalBranch(OpCodes.Br_S, lblDone);
2370
_helper
.MarkLabel(lblOnEndKey);
2374
_helper
.AddSortKey(null);
2376
_helper
.MarkLabel(lblDone);
2397
_helper
.LoadQueryRuntime();
2400
_helper
.Call(XmlILMethods.DocOrder);
2508
LocalBuilder locMerge =
_helper
.DeclareLocal("$$$dodMerge", typeof(DodSequenceMerge));
2509
Label lblOnEnd =
_helper
.DefineLabel();
2512
_helper
.Emit(OpCodes.Ldloca, locMerge);
2513
_helper
.LoadQueryRuntime();
2514
_helper
.Call(XmlILMethods.DodMergeCreate);
2515
_helper
.Emit(OpCodes.Ldloca, locMerge);
2525
_helper
.Call(XmlILMethods.DodMergeAdd);
2526
_helper
.Emit(OpCodes.Ldloca, locMerge);
2534
_helper
.Call(XmlILMethods.DodMergeSeq);
2555
_helper
.LoadQueryRuntime();
2567
_helper
.TailCall(methInfo);
2569
_helper
.Call(methInfo);
2603
LocalBuilder locNav =
_helper
.DeclareLocal("$$$navAttr", typeof(XPathNavigator));
2609
_helper
.Emit(OpCodes.Ldloc, locNav);
2610
_helper
.CallGetAtomizedName(
_helper
.StaticData.DeclareName(ndName.LocalName));
2611
_helper
.CallGetAtomizedName(
_helper
.StaticData.DeclareName(ndName.NamespaceUri));
2612
_helper
.Call(XmlILMethods.NavMoveAttr);
2613
_helper
.Emit(OpCodes.Brfalse, _iterCurr.GetLabelNext());
2625
LocalBuilder locNav =
_helper
.DeclareLocal("$$$navParent", typeof(XPathNavigator));
2631
_helper
.Emit(OpCodes.Ldloc, locNav);
2632
_helper
.Call(XmlILMethods.NavMoveParent);
2633
_helper
.Emit(OpCodes.Brfalse, _iterCurr.GetLabelNext());
2645
LocalBuilder locNav =
_helper
.DeclareLocal("$$$navRoot", typeof(XPathNavigator));
2651
_helper
.Emit(OpCodes.Ldloc, locNav);
2652
_helper
.Call(XmlILMethods.NavMoveRoot);
2667
_helper
.LoadQueryContext();
2668
_helper
.Call(XmlILMethods.GetDefaultDataSource);
2759
LocalBuilder locIter =
_helper
.DeclareLocal("$$$iterId", typeof(IdIterator));
2762
_helper
.Emit(OpCodes.Ldloca, locIter);
2765
_helper
.Call(XmlILMethods.IdCreate);
2802
_helper
.CallWriteStartElement(nameType, callChk);
2809
_helper
.CallStartElementContent();
2813
_helper
.CallWriteEndElement(nameType, callChk);
2844
_helper
.CallWriteStartAttribute(nameType, callChk);
2850
_helper
.CallWriteEndAttribute(callChk);
2867
_helper
.CallWriteStartComment();
2873
_helper
.CallWriteEndComment();
2887
_helper
.LoadQueryOutput();
2889
_helper
.CallWriteStartPI();
2895
_helper
.CallWriteEndPI();
2943
_helper
.LoadQueryOutput();
2953
_helper
.CallWriteString(false, callChk);
2958
_helper
.Call(XmlILMethods.CommentText);
2963
_helper
.Call(XmlILMethods.PIText);
2968
_helper
.CallWriteString(disableOutputEscaping, callChk);
2987
_helper
.CallWriteStartRoot();
2993
_helper
.CallWriteEndRoot();
3019
_helper
.LoadQueryOutput();
3026
_helper
.CallWriteNamespaceDecl(callChk);
3046
_helper
.LoadQueryRuntime();
3048
_helper
.Emit(OpCodes.Ldstr, baseUri);
3049
_helper
.Call(XmlILMethods.RtfConstr);
3054
_helper
.CallStartRtfConstruction(baseUri);
3060
_helper
.CallEndRtfConstruction();
3111
_helper
.Emit(OpCodes.Dup);
3112
_helper
.Call(XmlILMethods.NavLocalName);
3113
_helper
.Call(XmlILMethods.NavNmsp);
3114
_helper
.Construct(XmlILConstructors.QName);
3120
_helper
.Call(XmlILMethods.NavLocalName);
3126
_helper
.Call(XmlILMethods.NavNmsp);
3132
_helper
.Call(XmlILMethods.NavPrefix);
3157
Label lblDummy =
_helper
.DefineLabel();
3158
_helper
.MarkLabel(lblDummy);
3190
_helper
.Call(XmlILMethods.ItemIsNode);
3210
_helper
.LoadQueryRuntime();
3212
_helper
.LoadInteger((int)codeBase);
3213
_helper
.Call(typDerived.IsSingleton ? XmlILMethods.ItemMatchesCode : XmlILMethods.SeqMatchesCode);
3220
_helper
.LoadQueryRuntime();
3222
_helper
.LoadInteger(
_helper
.StaticData.DeclareXmlType(typBase));
3223
_helper
.Call(typDerived.IsSingleton ? XmlILMethods.ItemMatchesType : XmlILMethods.SeqMatchesType);
3288
_helper
.Emit(OpCodes.Ldc_I4_1);
3295
_helper
.Call(XmlILMethods.NavType);
3300
_helper
.Emit(OpCodes.Shl);
3314
_helper
.LoadInteger(kindsUnion);
3315
_helper
.Emit(OpCodes.And);
3321
_helper
.LoadInteger((int)kindsRuntime);
3360
_helper
.CallCacheCount(_iterNested!.Storage.ItemStorageType);
3366
_helper
.TestAndBranch(0, _iterCurr.LabelBranch, OpCodes.Bne_Un);
3371
_helper
.TestAndBranch(0, _iterCurr.LabelBranch, OpCodes.Beq);
3378
lblTrue =
_helper
.DefineLabel();
3379
_helper
.Emit(OpCodes.Brfalse_S, lblTrue);
3382
_helper
.ConvBranchToBool(lblTrue, true);
3388
Label lblOnEnd =
_helper
.DefineLabel();
3407
_helper
.EmitUnconditionalBranch(OpCodes.Br, iterParent.LabelBranch);
3408
_helper
.MarkLabel(lblOnEnd);
3417
_helper
.ConvBranchToBool(lblOnEnd, true);
3448
_helper
.Call(XmlILMethods.Value);
3452
lblOnEnd =
_helper
.DefineLabel();
3460
_helper
.Call(XmlILMethods.Value);
3463
lblDone =
_helper
.DefineLabel();
3464
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblDone);
3465
_helper
.MarkLabel(lblOnEnd);
3466
_helper
.Emit(OpCodes.Ldstr, "");
3467
_helper
.MarkLabel(lblDone);
3514
_helper
.LoadQueryRuntime();
3523
_helper
.Call(XmlILMethods.GenId);
3527
lblOnEnd =
_helper
.DefineLabel();
3536
_helper
.Call(XmlILMethods.GenId);
3539
lblDone =
_helper
.DefineLabel();
3540
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblDone);
3541
_helper
.MarkLabel(lblOnEnd);
3542
_helper
.Emit(OpCodes.Pop);
3543
_helper
.Emit(OpCodes.Ldstr, "");
3544
_helper
.MarkLabel(lblDone);
3560
LocalBuilder locArgs =
_helper
.DeclareLocal("$$$args", typeof(IList<XPathItem>[]));
3565
_helper
.LoadQueryContext();
3566
_helper
.Emit(OpCodes.Ldstr, ndName.LocalName);
3567
_helper
.Emit(OpCodes.Ldstr, ndName.NamespaceUri);
3570
_helper
.LoadInteger(ndInvoke.Arguments.Count);
3571
_helper
.Emit(OpCodes.Newarr, typeof(IList<XPathItem>));
3572
_helper
.Emit(OpCodes.Stloc, locArgs);
3581
_helper
.Emit(OpCodes.Ldloc, locArgs);
3582
_helper
.LoadInteger(iArg);
3583
_helper
.Emit(OpCodes.Ldelema, typeof(IList<XPathItem>));
3588
_helper
.Emit(OpCodes.Stobj, typeof(IList<XPathItem>));
3591
_helper
.Emit(OpCodes.Ldloc, locArgs);
3593
_helper
.Call(XmlILMethods.InvokeXsltLate);
3622
_helper
.LoadQueryRuntime();
3623
_helper
.LoadInteger(
_helper
.StaticData.DeclareXmlType(ndInvoke.XmlType));
3631
_helper
.LoadXsltLibrary();
3633
_helper
.CallGetEarlyBoundObject(
_helper
.StaticData.DeclareEarlyBound(ndName.NamespaceUri, extFunc.Method.DeclaringType!), extFunc.Method.DeclaringType!);
3692
_helper
.LoadQueryRuntime();
3693
_helper
.LoadInteger(
_helper
.StaticData.DeclareXmlType(xmlTypeFormalArg));
3695
_helper
.TreatAs(clrTypeActualArg, typeof(object));
3696
_helper
.LoadType(clrTypeFormalArg);
3697
_helper
.Call(XmlILMethods.ChangeTypeXsltArg);
3698
_helper
.TreatAs(typeof(object), clrTypeFormalArg);
3708
_helper
.Call(extFunc.Method);
3713
_helper
.Emit(OpCodes.Ldsfld, XmlILMethods.StorageMethods[typeof(XPathItem)].SeqEmpty);
3718
_helper
.TreatAs(clrTypeRetSrc!, typeof(object));
3719
_helper
.Call(XmlILMethods.ChangeTypeXsltResult);
3720
_helper
.TreatAs(typeof(object), clrTypeRetDst);
3725
Label lblSkip =
_helper
.DefineLabel();
3726
_helper
.Emit(OpCodes.Dup);
3727
_helper
.Emit(OpCodes.Brtrue, lblSkip);
3728
_helper
.LoadQueryRuntime();
3729
_helper
.Emit(OpCodes.Ldstr, SR.Xslt_ItemNull);
3730
_helper
.Call(XmlILMethods.ThrowException);
3731
_helper
.MarkLabel(lblSkip);
3744
Label lblSkipContent =
_helper
.DefineLabel();
3748
_helper
.LoadQueryOutput();
3753
_helper
.Call(XmlILMethods.StartCopy);
3754
_helper
.Emit(OpCodes.Brfalse, lblSkipContent);
3760
_helper
.LoadQueryOutput();
3765
_helper
.Call(XmlILMethods.EndCopy);
3768
_helper
.MarkLabel(lblSkipContent);
3781
_helper
.LoadQueryOutput();
3785
_helper
.Call(XmlILMethods.CopyOf);
3816
_helper
.Call(meth);
3906
_helper
.Emit(OpCodes.Ldloc, locNav);
3908
_helper
.CallSyncToNavigator();
3909
_helper
.Emit(OpCodes.Stloc, locNav);
3925
LocalBuilder locIter =
_helper
.DeclareLocal(iterName, iterType);
3928
_helper
.Emit(OpCodes.Ldloca, locIter);
3930
_helper
.Call(methCreate);
3949
LocalBuilder locIter =
_helper
.DeclareLocal(iterName, iterType);
3952
_helper
.Emit(OpCodes.Ldloca, locIter);
3956
_helper
.LoadBoolean(orSelf == TriState.True);
3959
_helper
.Call(methCreate);
3985
LocalBuilder locIter =
_helper
.DeclareLocal(iterName, iterType);
3991
_helper
.Emit(OpCodes.Ldloca, locIter);
3994
_helper
.LoadBoolean(orSelf == TriState.True);
3995
_helper
.Call(methCreate);
3998
lblOnEndNested =
_helper
.DefineLabel();
4023
lblNext =
_helper
.DefineLabel();
4024
_helper
.MarkLabel(lblNext);
4027
_helper
.Emit(OpCodes.Ldloca, locIter);
4028
_helper
.Call(methNext);
4029
_helper
.Emit(OpCodes.Brfalse, _iterCurr.GetLabelNext());
4055
lblCall =
_helper
.DefineLabel();
4060
_helper
.Emit(OpCodes.Ldloca, locIter);
4062
_helper
.EmitUnconditionalBranch(OpCodes.Br, lblCall);
4066
_helper
.MarkLabel(lblOnEndNested);
4067
_helper
.Emit(OpCodes.Ldloca, locIter);
4068
_helper
.Emit(OpCodes.Ldnull);
4072
_helper
.MarkLabel(lblCall);
4073
_helper
.Call(methNext);
4079
_helper
.LoadInteger((int)IteratorResult.NeedInputNode);
4080
_helper
.Emit(OpCodes.Beq, _iterNested!.GetLabelNext());
4090
_helper
.Emit(OpCodes.Switch, new Label[] { _iterCurr.GetLabelNext(), _iterNested!.GetLabelNext() });
4107
_helper
.LoadQueryOutput();
4130
_helper
.Emit(OpCodes.Ldstr, ndLiteralName.LocalName);
4140
_helper
.Emit(OpCodes.Ldstr, localName);
4141
_helper
.Emit(OpCodes.Ldstr, ns);
4142
_helper
.Construct(XmlILConstructors.QName);
4150
_helper
.Emit(OpCodes.Ldstr, prefix);
4151
_helper
.Emit(OpCodes.Ldstr, localName);
4152
_helper
.Emit(OpCodes.Ldstr, ns);
4249
_helper
.LoadQueryRuntime();
4258
_helper
.LoadInteger(
_helper
.StaticData.DeclareName(ndName.LocalName));
4259
_helper
.LoadInteger(
_helper
.StaticData.DeclareName(ndName.NamespaceUri));
4262
_helper
.Call(XmlILMethods.QNameEqualLit);
4271
_helper
.Call(XmlILMethods.QNameEqualNav);
4325
_helper
.Emit(opcode, _iterCurr.LabelBranch);
4340
_helper
.Emit(opcode, _iterCurr.LabelBranch);
4348
case QilNodeType.Gt:
_helper
.Emit(OpCodes.Cgt); break;
4349
case QilNodeType.Lt:
_helper
.Emit(OpCodes.Clt); break;
4350
case QilNodeType.Eq:
_helper
.Emit(OpCodes.Ceq); break;
4361
lblTrue =
_helper
.DefineLabel();
4362
_helper
.Emit(opcode, lblTrue);
4363
_helper
.ConvBranchToBool(lblTrue, true);
4386
_helper
.Emit((relOp == QilNodeType.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, _iterCurr.LabelBranch);
4393
_helper
.Emit((relOp == QilNodeType.Eq) ? OpCodes.Brtrue : OpCodes.Brfalse, _iterCurr.LabelBranch);
4405
lblTrue =
_helper
.DefineLabel();
4406
_helper
.Emit((relOp == QilNodeType.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, lblTrue);
4407
_helper
.ConvBranchToBool(lblTrue, true);
4435
lblOnEnd =
_helper
.DefineLabel();
4504
_helper
.CallStartTree(QilConstructorToNodeType(ndCtor.NodeType));
4517
_helper
.CallStartElementContent();
4534
_helper
.CallEndTree();
4617
_helper
.CallGetNameFilter(
_helper
.StaticData.DeclareNameFilter(ndName.LocalName, ndName.NamespaceUri));
4630
_helper
.CallGetTypeFilter(XPathNodeType.All);
4635
_helper
.CallGetTypeFilter(XPathNodeType.Attribute);
4641
_helper
.CallGetTypeFilter(QilXmlToXPathNodeType(xmlTypes));
4668
_iterCurr = new IteratorDescriptor(
_helper
);
4711
_helper
.Emit(OpCodes.Brtrue, _iterCurr.LabelBranch);
4713
_helper
.Emit(OpCodes.Brfalse, _iterCurr.LabelBranch);
4842
Label lblOnEnd =
_helper
.DefineLabel();
4875
locCache =
_helper
.DeclareLocal("$$$cache", methods.SeqType);
4876
_helper
.Emit(OpCodes.Ldloc, locCache);
4883
_helper
.Call(methods.SeqReuseSgl);
4884
_helper
.Emit(OpCodes.Stloc, locCache);
4890
_helper
.Call(methods.SeqReuse);
4891
_helper
.Emit(OpCodes.Stloc, locCache);
4892
_helper
.Emit(OpCodes.Ldloc, locCache);
4904
_helper
.Call(methods.SeqAdd);
4905
_helper
.Emit(OpCodes.Ldloc, locCache);
4913
_helper
.Emit(OpCodes.Pop);