diff options
Diffstat (limited to 'src/WixToolset.Core/CompilerCore.cs')
| -rw-r--r-- | src/WixToolset.Core/CompilerCore.cs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/WixToolset.Core/CompilerCore.cs b/src/WixToolset.Core/CompilerCore.cs index 53e0f3fc..cfe3082e 100644 --- a/src/WixToolset.Core/CompilerCore.cs +++ b/src/WixToolset.Core/CompilerCore.cs | |||
| @@ -341,6 +341,46 @@ namespace WixToolset.Core | |||
| 341 | } | 341 | } |
| 342 | 342 | ||
| 343 | /// <summary> | 343 | /// <summary> |
| 344 | /// Creates group and ordering information. | ||
| 345 | /// </summary> | ||
| 346 | /// <param name="sourceLineNumbers">Source line numbers.</param> | ||
| 347 | /// <param name="parentType">Type of parent group, if known.</param> | ||
| 348 | /// <param name="parentId">Identifier of parent group, if known.</param> | ||
| 349 | /// <param name="type">Type of this item.</param> | ||
| 350 | /// <param name="id">Identifier for this item.</param> | ||
| 351 | /// <param name="previousType">Type of previous item, if known.</param> | ||
| 352 | /// <param name="previousId">Identifier of previous item, if known</param> | ||
| 353 | public void CreateGroupAndOrderingRows(SourceLineNumber sourceLineNumbers, | ||
| 354 | ComplexReferenceParentType parentType, string parentId, | ||
| 355 | ComplexReferenceChildType type, string id, | ||
| 356 | ComplexReferenceChildType previousType, string previousId) | ||
| 357 | { | ||
| 358 | if (this.EncounteredError) | ||
| 359 | { | ||
| 360 | return; | ||
| 361 | } | ||
| 362 | |||
| 363 | if (parentType != ComplexReferenceParentType.Unknown && parentId != null) | ||
| 364 | { | ||
| 365 | this.CreateWixGroupRow(sourceLineNumbers, parentType, parentId, type, id); | ||
| 366 | } | ||
| 367 | |||
| 368 | if (previousType != ComplexReferenceChildType.Unknown && previousId != null) | ||
| 369 | { | ||
| 370 | // TODO: Should we define our own enum for this, just to ensure there's no "cross-contamination"? | ||
| 371 | // TODO: Also, we could potentially include an 'Attributes' field to track things like | ||
| 372 | // 'before' vs. 'after', and explicit vs. inferred dependencies. | ||
| 373 | this.AddSymbol(new WixOrderingSymbol(sourceLineNumbers) | ||
| 374 | { | ||
| 375 | ItemType = type, | ||
| 376 | ItemIdRef = id, | ||
| 377 | DependsOnType = previousType, | ||
| 378 | DependsOnIdRef = previousId, | ||
| 379 | }); | ||
| 380 | } | ||
| 381 | } | ||
| 382 | |||
| 383 | /// <summary> | ||
| 344 | /// Creates a version 3 name-based UUID. | 384 | /// Creates a version 3 name-based UUID. |
| 345 | /// </summary> | 385 | /// </summary> |
| 346 | /// <param name="namespaceGuid">The namespace UUID.</param> | 386 | /// <param name="namespaceGuid">The namespace UUID.</param> |
