github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/tools/flow/testdata/dep.txtar (about)

     1  // complex dependencies
     2  
     3  -- in.cue --
     4  // Each task depends on the previous one in a different manner.
     5  
     6  root: [string]: $id: "valToOut"
     7  
     8  indirectValue: root.taskRootReference.x
     9  
    10  // This is not just a reference, but a copy of a new task.
    11  indirectTaskRoot: root.indirectTaskValueReference
    12  
    13  root: {
    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  		x: [0, 1][concreteValueInGeneratedSubfield.index]
    30  	}
    31  
    32  	taskRootReference: {
    33  		$after: indexReference
    34  		x:      3
    35  	}
    36  
    37  	indirectTaskValueReference: {
    38  		x: indirectValue
    39  	}
    40  
    41  	indirectTaskRootReference: {
    42  		x: indirectTaskRoot
    43  
    44  		incomplete: _
    45  	}
    46  
    47  	incompleteComprehensionSource: {
    48  		x: {for x in indirectTaskRootReference.incomplete {}}
    49  	}
    50  
    51  	incompleteList: {
    52  		x: [ for x in [1] {incompleteComprehensionSource.x}]
    53  	}
    54  
    55  	incompleteGeneratedStruct: {
    56  		x: {for x in [1] {foo: incompleteList.x}}
    57  	}
    58  }
    59  -- out/run/errors --
    60  -- out/run/t0 --
    61  graph TD
    62    t0("root.a [Ready]")
    63    t1("root.concreteValueInGeneratedSubfield [Waiting]")
    64    t1-->t0
    65    t2("root.indexReference [Waiting]")
    66    t2-->t1
    67    t3("root.taskRootReference [Waiting]")
    68    t3-->t2
    69    t4("root.indirectTaskValueReference [Waiting]")
    70    t4-->t3
    71    t5("root.indirectTaskRootReference [Waiting]")
    72    t5-->t4
    73    t6("root.incompleteComprehensionSource [Waiting]")
    74    t6-->t5
    75    t7("root.incompleteList [Waiting]")
    76    t7-->t6
    77    t8("root.incompleteGeneratedStruct [Waiting]")
    78    t8-->t7
    79  
    80  -- out/run/t1 --
    81  graph TD
    82    t0("root.a [Terminated]")
    83    t1("root.concreteValueInGeneratedSubfield [Ready]")
    84    t1-->t0
    85    t2("root.indexReference [Waiting]")
    86    t2-->t1
    87    t3("root.taskRootReference [Waiting]")
    88    t3-->t2
    89    t4("root.indirectTaskValueReference [Waiting]")
    90    t4-->t3
    91    t5("root.indirectTaskRootReference [Waiting]")
    92    t5-->t4
    93    t6("root.incompleteComprehensionSource [Waiting]")
    94    t6-->t5
    95    t7("root.incompleteList [Waiting]")
    96    t7-->t6
    97    t8("root.incompleteGeneratedStruct [Waiting]")
    98    t8-->t7
    99  
   100  -- out/run/t1/value --
   101  {
   102  	b:   3
   103  	$id: "valToOut"
   104  }
   105  -- out/run/t2 --
   106  graph TD
   107    t0("root.a [Terminated]")
   108    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   109    t1-->t0
   110    t2("root.indexReference [Ready]")
   111    t2-->t1
   112    t3("root.taskRootReference [Waiting]")
   113    t3-->t2
   114    t4("root.indirectTaskValueReference [Waiting]")
   115    t4-->t3
   116    t5("root.indirectTaskRootReference [Waiting]")
   117    t5-->t4
   118    t6("root.incompleteComprehensionSource [Waiting]")
   119    t6-->t5
   120    t7("root.incompleteList [Waiting]")
   121    t7-->t6
   122    t8("root.incompleteGeneratedStruct [Waiting]")
   123    t8-->t7
   124  
   125  -- out/run/t2/value --
   126  {
   127  	x: {
   128  		foo: 3
   129  	}
   130  	$id:   "valToOut"
   131  	index: int
   132  }
   133  -- out/run/t3 --
   134  graph TD
   135    t0("root.a [Terminated]")
   136    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   137    t1-->t0
   138    t2("root.indexReference [Terminated]")
   139    t2-->t1
   140    t3("root.taskRootReference [Ready]")
   141    t3-->t2
   142    t4("root.indirectTaskValueReference [Waiting]")
   143    t4-->t3
   144    t5("root.indirectTaskRootReference [Waiting]")
   145    t5-->t4
   146    t6("root.incompleteComprehensionSource [Waiting]")
   147    t6-->t5
   148    t7("root.incompleteList [Waiting]")
   149    t7-->t6
   150    t8("root.incompleteGeneratedStruct [Waiting]")
   151    t8-->t7
   152  
   153  -- out/run/t3/value --
   154  {
   155  	x:   [0, 1][concreteValueInGeneratedSubfield.index]
   156  	$id: "valToOut"
   157  }
   158  -- out/run/t4 --
   159  graph TD
   160    t0("root.a [Terminated]")
   161    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   162    t1-->t0
   163    t2("root.indexReference [Terminated]")
   164    t2-->t1
   165    t3("root.taskRootReference [Terminated]")
   166    t3-->t2
   167    t4("root.indirectTaskValueReference [Ready]")
   168    t4-->t3
   169    t5("root.indirectTaskRootReference [Waiting]")
   170    t5-->t4
   171    t6("root.incompleteComprehensionSource [Waiting]")
   172    t6-->t5
   173    t7("root.incompleteList [Waiting]")
   174    t7-->t6
   175    t8("root.incompleteGeneratedStruct [Waiting]")
   176    t8-->t7
   177  
   178  -- out/run/t4/value --
   179  {
   180  	$after: {
   181  		x:   [0, 1][concreteValueInGeneratedSubfield.index]
   182  		$id: "valToOut"
   183  	}
   184  	$id: "valToOut"
   185  	x:   3
   186  }
   187  -- out/run/t5 --
   188  graph TD
   189    t0("root.a [Terminated]")
   190    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   191    t1-->t0
   192    t2("root.indexReference [Terminated]")
   193    t2-->t1
   194    t3("root.taskRootReference [Terminated]")
   195    t3-->t2
   196    t4("root.indirectTaskValueReference [Terminated]")
   197    t4-->t3
   198    t5("root.indirectTaskRootReference [Ready]")
   199    t5-->t4
   200    t6("root.incompleteComprehensionSource [Waiting]")
   201    t6-->t5
   202    t7("root.incompleteList [Waiting]")
   203    t7-->t6
   204    t8("root.incompleteGeneratedStruct [Waiting]")
   205    t8-->t7
   206  
   207  -- out/run/t5/value --
   208  {
   209  	x:   3
   210  	$id: "valToOut"
   211  }
   212  -- out/run/t6 --
   213  graph TD
   214    t0("root.a [Terminated]")
   215    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   216    t1-->t0
   217    t2("root.indexReference [Terminated]")
   218    t2-->t1
   219    t3("root.taskRootReference [Terminated]")
   220    t3-->t2
   221    t4("root.indirectTaskValueReference [Terminated]")
   222    t4-->t3
   223    t5("root.indirectTaskRootReference [Terminated]")
   224    t5-->t4
   225    t6("root.incompleteComprehensionSource [Ready]")
   226    t6-->t5
   227    t7("root.incompleteList [Waiting]")
   228    t7-->t6
   229    t8("root.incompleteGeneratedStruct [Waiting]")
   230    t8-->t7
   231  
   232  -- out/run/t6/value --
   233  {
   234  	x: {
   235  		x:   3
   236  		$id: "valToOut"
   237  	}
   238  	$id:        "valToOut"
   239  	incomplete: _
   240  }
   241  -- out/run/t7 --
   242  graph TD
   243    t0("root.a [Terminated]")
   244    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   245    t1-->t0
   246    t2("root.indexReference [Terminated]")
   247    t2-->t1
   248    t3("root.taskRootReference [Terminated]")
   249    t3-->t2
   250    t4("root.indirectTaskValueReference [Terminated]")
   251    t4-->t3
   252    t5("root.indirectTaskRootReference [Terminated]")
   253    t5-->t4
   254    t6("root.incompleteComprehensionSource [Terminated]")
   255    t6-->t5
   256    t7("root.incompleteList [Ready]")
   257    t7-->t6
   258    t8("root.incompleteGeneratedStruct [Waiting]")
   259    t8-->t7
   260  
   261  -- out/run/t7/value --
   262  {
   263  	x: {
   264  		for x in indirectTaskRootReference.incomplete {}
   265  	}
   266  	$id: "valToOut"
   267  }
   268  -- out/run/t8 --
   269  graph TD
   270    t0("root.a [Terminated]")
   271    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   272    t1-->t0
   273    t2("root.indexReference [Terminated]")
   274    t2-->t1
   275    t3("root.taskRootReference [Terminated]")
   276    t3-->t2
   277    t4("root.indirectTaskValueReference [Terminated]")
   278    t4-->t3
   279    t5("root.indirectTaskRootReference [Terminated]")
   280    t5-->t4
   281    t6("root.incompleteComprehensionSource [Terminated]")
   282    t6-->t5
   283    t7("root.incompleteList [Terminated]")
   284    t7-->t6
   285    t8("root.incompleteGeneratedStruct [Ready]")
   286    t8-->t7
   287  
   288  -- out/run/t8/value --
   289  {
   290  	x: [incompleteComprehensionSource.x]
   291  	$id: "valToOut"
   292  }
   293  -- out/run/t9 --
   294  graph TD
   295    t0("root.a [Terminated]")
   296    t1("root.concreteValueInGeneratedSubfield [Terminated]")
   297    t1-->t0
   298    t2("root.indexReference [Terminated]")
   299    t2-->t1
   300    t3("root.taskRootReference [Terminated]")
   301    t3-->t2
   302    t4("root.indirectTaskValueReference [Terminated]")
   303    t4-->t3
   304    t5("root.indirectTaskRootReference [Terminated]")
   305    t5-->t4
   306    t6("root.incompleteComprehensionSource [Terminated]")
   307    t6-->t5
   308    t7("root.incompleteList [Terminated]")
   309    t7-->t6
   310    t8("root.incompleteGeneratedStruct [Terminated]")
   311    t8-->t7
   312  
   313  -- out/run/t9/value --
   314  {
   315  	x: {
   316  		foo: [incompleteComprehensionSource.x]
   317  	}
   318  	$id: "valToOut"
   319  }