aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/CompilerCore.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/CompilerCore.cs')
-rw-r--r--src/WixToolset.Core/CompilerCore.cs40
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>