...

Text file src/cuelang.org/go/tools/flow/testdata/dep.txtar

Documentation: cuelang.org/go/tools/flow/testdata

     1// complex dependencies
     2
     3-- in.cue --
     4// Each task depends on the previous one in a different manner.
     5
     6root: [string]: $id: "valToOut"
     7
     8indirectValue: root.taskRootReference.x
     9
    10// This is not just a reference, but a copy of a new task.
    11indirectTaskRoot: root.indirectTaskValueReference
    12
    13root: {
    14	a: {
    15		b: 3
    16	}
    17
    18	concreteValueInGeneratedSubfield: {
    19		x: {
    20			// reference in value of comprehension.
    21			// Even though the referenced value is concrete, we still consider
    22			// this to be a dependency.
    23			for x in [1] {foo: a.b}
    24		}
    25		index: int
    26	}
    27
    28	indexReference: {
    29		// This inline struct currently causes a memory leak. This is fine
    30		// for now.
    31		// TODO(leak): fix this.
    32		x: [0, 1][concreteValueInGeneratedSubfield.index]
    33	}
    34
    35	taskRootReference: {
    36		$after: indexReference
    37		x:      3
    38	}
    39
    40	indirectTaskValueReference: {
    41		x: indirectValue
    42	}
    43
    44	indirectTaskRootReference: {
    45		x: indirectTaskRoot
    46
    47		incomplete: _
    48	}
    49
    50	incompleteComprehensionSource: {
    51		x: {for x in indirectTaskRootReference.incomplete {}}
    52	}
    53
    54	incompleteList: {
    55		x: [for x in [1] {incompleteComprehensionSource.x}]
    56	}
    57
    58	incompleteGeneratedStruct: {
    59		x: {for x in [1] {foo: incompleteList.x}}
    60	}
    61}
    62-- out/run/errors --
    63-- out/run/t0 --
    64graph TD
    65  t0("root.a [Ready]")
    66  t1("root.concreteValueInGeneratedSubfield [Waiting]")
    67  t1-->t0
    68  t2("root.indexReference [Waiting]")
    69  t2-->t1
    70  t3("root.taskRootReference [Waiting]")
    71  t3-->t2
    72  t4("root.indirectTaskValueReference [Waiting]")
    73  t4-->t3
    74  t5("root.indirectTaskRootReference [Waiting]")
    75  t5-->t4
    76  t6("root.incompleteComprehensionSource [Waiting]")
    77  t6-->t5
    78  t7("root.incompleteList [Waiting]")
    79  t7-->t6
    80  t8("root.incompleteGeneratedStruct [Waiting]")
    81  t8-->t7
    82
    83-- out/run/t1 --
    84graph TD
    85  t0("root.a [Terminated]")
    86  t1("root.concreteValueInGeneratedSubfield [Ready]")
    87  t1-->t0
    88  t2("root.indexReference [Waiting]")
    89  t2-->t1
    90  t3("root.taskRootReference [Waiting]")
    91  t3-->t2
    92  t4("root.indirectTaskValueReference [Waiting]")
    93  t4-->t3
    94  t5("root.indirectTaskRootReference [Waiting]")
    95  t5-->t4
    96  t6("root.incompleteComprehensionSource [Waiting]")
    97  t6-->t5
    98  t7("root.incompleteList [Waiting]")
    99  t7-->t6
   100  t8("root.incompleteGeneratedStruct [Waiting]")
   101  t8-->t7
   102
   103-- out/run/t1/value --
   104{
   105	b:   3
   106	$id: "valToOut"
   107}
   108-- out/run/t2 --
   109graph TD
   110  t0("root.a [Terminated]")
   111  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   112  t1-->t0
   113  t2("root.indexReference [Ready]")
   114  t2-->t1
   115  t3("root.taskRootReference [Waiting]")
   116  t3-->t2
   117  t4("root.indirectTaskValueReference [Waiting]")
   118  t4-->t3
   119  t5("root.indirectTaskRootReference [Waiting]")
   120  t5-->t4
   121  t6("root.incompleteComprehensionSource [Waiting]")
   122  t6-->t5
   123  t7("root.incompleteList [Waiting]")
   124  t7-->t6
   125  t8("root.incompleteGeneratedStruct [Waiting]")
   126  t8-->t7
   127
   128-- out/run/t2/value --
   129{
   130	x: {
   131		foo: 3
   132	}
   133	$id:   "valToOut"
   134	index: int
   135}
   136-- out/run/t3 --
   137graph TD
   138  t0("root.a [Terminated]")
   139  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   140  t1-->t0
   141  t2("root.indexReference [Terminated]")
   142  t2-->t1
   143  t3("root.taskRootReference [Ready]")
   144  t3-->t2
   145  t4("root.indirectTaskValueReference [Waiting]")
   146  t4-->t3
   147  t5("root.indirectTaskRootReference [Waiting]")
   148  t5-->t4
   149  t6("root.incompleteComprehensionSource [Waiting]")
   150  t6-->t5
   151  t7("root.incompleteList [Waiting]")
   152  t7-->t6
   153  t8("root.incompleteGeneratedStruct [Waiting]")
   154  t8-->t7
   155
   156-- out/run/t3/value --
   157{
   158	x:   [0, 1][INDEX]
   159	$id: "valToOut"
   160
   161	//cue:path: root.concreteValueInGeneratedSubfield.index
   162	let INDEX = int
   163}
   164-- out/run/t4 --
   165graph TD
   166  t0("root.a [Terminated]")
   167  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   168  t1-->t0
   169  t2("root.indexReference [Terminated]")
   170  t2-->t1
   171  t3("root.taskRootReference [Terminated]")
   172  t3-->t2
   173  t4("root.indirectTaskValueReference [Ready]")
   174  t4-->t3
   175  t5("root.indirectTaskRootReference [Waiting]")
   176  t5-->t4
   177  t6("root.incompleteComprehensionSource [Waiting]")
   178  t6-->t5
   179  t7("root.incompleteList [Waiting]")
   180  t7-->t6
   181  t8("root.incompleteGeneratedStruct [Waiting]")
   182  t8-->t7
   183
   184-- out/run/t4/value --
   185{
   186	$after: {
   187		x:   [0, 1][INDEX]
   188		$id: "valToOut"
   189	}
   190	$id: "valToOut"
   191	x:   3
   192
   193	//cue:path: root.concreteValueInGeneratedSubfield.index
   194	let INDEX = int
   195}
   196-- out/run/t5 --
   197graph TD
   198  t0("root.a [Terminated]")
   199  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   200  t1-->t0
   201  t2("root.indexReference [Terminated]")
   202  t2-->t1
   203  t3("root.taskRootReference [Terminated]")
   204  t3-->t2
   205  t4("root.indirectTaskValueReference [Terminated]")
   206  t4-->t3
   207  t5("root.indirectTaskRootReference [Ready]")
   208  t5-->t4
   209  t6("root.incompleteComprehensionSource [Waiting]")
   210  t6-->t5
   211  t7("root.incompleteList [Waiting]")
   212  t7-->t6
   213  t8("root.incompleteGeneratedStruct [Waiting]")
   214  t8-->t7
   215
   216-- out/run/t5/value --
   217{
   218	x:   3
   219	$id: "valToOut"
   220}
   221-- out/run/t6 --
   222graph TD
   223  t0("root.a [Terminated]")
   224  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   225  t1-->t0
   226  t2("root.indexReference [Terminated]")
   227  t2-->t1
   228  t3("root.taskRootReference [Terminated]")
   229  t3-->t2
   230  t4("root.indirectTaskValueReference [Terminated]")
   231  t4-->t3
   232  t5("root.indirectTaskRootReference [Terminated]")
   233  t5-->t4
   234  t6("root.incompleteComprehensionSource [Ready]")
   235  t6-->t5
   236  t7("root.incompleteList [Waiting]")
   237  t7-->t6
   238  t8("root.incompleteGeneratedStruct [Waiting]")
   239  t8-->t7
   240
   241-- out/run/t6/value --
   242{
   243	x: {
   244		x:   3
   245		$id: "valToOut"
   246	}
   247	$id:        "valToOut"
   248	incomplete: _
   249}
   250-- out/run/t7 --
   251graph TD
   252  t0("root.a [Terminated]")
   253  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   254  t1-->t0
   255  t2("root.indexReference [Terminated]")
   256  t2-->t1
   257  t3("root.taskRootReference [Terminated]")
   258  t3-->t2
   259  t4("root.indirectTaskValueReference [Terminated]")
   260  t4-->t3
   261  t5("root.indirectTaskRootReference [Terminated]")
   262  t5-->t4
   263  t6("root.incompleteComprehensionSource [Terminated]")
   264  t6-->t5
   265  t7("root.incompleteList [Ready]")
   266  t7-->t6
   267  t8("root.incompleteGeneratedStruct [Waiting]")
   268  t8-->t7
   269
   270-- out/run/t7/value --
   271{
   272	x: {
   273		for x in INCOMPLETE {}
   274	}
   275	$id: "valToOut"
   276
   277	//cue:path: root.indirectTaskRootReference.incomplete
   278	let INCOMPLETE = _
   279}
   280-- out/run/t8 --
   281graph TD
   282  t0("root.a [Terminated]")
   283  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   284  t1-->t0
   285  t2("root.indexReference [Terminated]")
   286  t2-->t1
   287  t3("root.taskRootReference [Terminated]")
   288  t3-->t2
   289  t4("root.indirectTaskValueReference [Terminated]")
   290  t4-->t3
   291  t5("root.indirectTaskRootReference [Terminated]")
   292  t5-->t4
   293  t6("root.incompleteComprehensionSource [Terminated]")
   294  t6-->t5
   295  t7("root.incompleteList [Terminated]")
   296  t7-->t6
   297  t8("root.incompleteGeneratedStruct [Ready]")
   298  t8-->t7
   299
   300-- out/run/t8/value --
   301{
   302	x: [X]
   303	$id: "valToOut"
   304
   305	//cue:path: root.incompleteComprehensionSource.x
   306	let X = {
   307		for x in INCOMPLETE {}
   308	}
   309
   310	//cue:path: root.indirectTaskRootReference.incomplete
   311	let INCOMPLETE = _
   312}
   313-- out/run/t9 --
   314graph TD
   315  t0("root.a [Terminated]")
   316  t1("root.concreteValueInGeneratedSubfield [Terminated]")
   317  t1-->t0
   318  t2("root.indexReference [Terminated]")
   319  t2-->t1
   320  t3("root.taskRootReference [Terminated]")
   321  t3-->t2
   322  t4("root.indirectTaskValueReference [Terminated]")
   323  t4-->t3
   324  t5("root.indirectTaskRootReference [Terminated]")
   325  t5-->t4
   326  t6("root.incompleteComprehensionSource [Terminated]")
   327  t6-->t5
   328  t7("root.incompleteList [Terminated]")
   329  t7-->t6
   330  t8("root.incompleteGeneratedStruct [Terminated]")
   331  t8-->t7
   332
   333-- out/run/t9/value --
   334{
   335	x: {
   336		foo: [X_1]
   337	}
   338	$id: "valToOut"
   339
   340	//cue:path: root.incompleteComprehensionSource.x
   341	let X_1 = {
   342		for x in INCOMPLETE {}
   343	}
   344
   345	//cue:path: root.indirectTaskRootReference.incomplete
   346	let INCOMPLETE = _
   347}
   348-- out/run/t1/stats --
   349Leaks:  0
   350Freed:  0
   351Reused: 0
   352Allocs: 0
   353Retain: 0
   354
   355Unifications: 0
   356Conjuncts:    0
   357Disjuncts:    0
   358-- out/run/t2/stats --
   359Leaks:  0
   360Freed:  0
   361Reused: 0
   362Allocs: 0
   363Retain: 0
   364
   365Unifications: 0
   366Conjuncts:    0
   367Disjuncts:    0
   368-- out/run/t3/stats --
   369Leaks:  0
   370Freed:  0
   371Reused: 0
   372Allocs: 0
   373Retain: 0
   374
   375Unifications: 0
   376Conjuncts:    0
   377Disjuncts:    0
   378-- out/run/t4/stats --
   379Leaks:  0
   380Freed:  0
   381Reused: 0
   382Allocs: 0
   383Retain: 0
   384
   385Unifications: 0
   386Conjuncts:    0
   387Disjuncts:    0
   388-- out/run/t5/stats --
   389Leaks:  0
   390Freed:  0
   391Reused: 0
   392Allocs: 0
   393Retain: 0
   394
   395Unifications: 0
   396Conjuncts:    0
   397Disjuncts:    0
   398-- out/run/t6/stats --
   399Leaks:  0
   400Freed:  0
   401Reused: 0
   402Allocs: 0
   403Retain: 0
   404
   405Unifications: 0
   406Conjuncts:    0
   407Disjuncts:    0
   408-- out/run/t7/stats --
   409Leaks:  0
   410Freed:  0
   411Reused: 0
   412Allocs: 0
   413Retain: 0
   414
   415Unifications: 0
   416Conjuncts:    0
   417Disjuncts:    0
   418-- out/run/t8/stats --
   419Leaks:  0
   420Freed:  0
   421Reused: 0
   422Allocs: 0
   423Retain: 0
   424
   425Unifications: 0
   426Conjuncts:    0
   427Disjuncts:    0
   428-- out/run/t9/stats --
   429Leaks:  0
   430Freed:  0
   431Reused: 0
   432Allocs: 0
   433Retain: 0
   434
   435Unifications: 0
   436Conjuncts:    0
   437Disjuncts:    0
   438-- out/run/stats/totals --
   439Leaks:  1
   440Freed:  0
   441Reused: 0
   442Allocs: 1
   443Retain: 1
   444
   445Unifications: 1
   446Conjuncts:    1
   447Disjuncts:    1

View as plain text