@@ -1309,6 +1309,7 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1309
1309
name string
1310
1310
attrSchema map [string ]* schema.AttributeSchema
1311
1311
refs reference.Targets
1312
+ origins reference.Origins
1312
1313
cfg string
1313
1314
pos hcl.Pos
1314
1315
expectedData * lang.HoverData
@@ -1324,6 +1325,32 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1324
1325
},
1325
1326
},
1326
1327
reference.Targets {},
1328
+ reference.Origins {
1329
+ reference.LocalOrigin {
1330
+ Addr : lang.Address {
1331
+ lang.RootStep {Name : "var" },
1332
+ lang.AttrStep {Name : "blah" },
1333
+ },
1334
+ Range : hcl.Range {
1335
+ Filename : "test.tf" ,
1336
+ Start : hcl.Pos {
1337
+ Line : 1 ,
1338
+ Column : 8 ,
1339
+ Byte : 7 ,
1340
+ },
1341
+ End : hcl.Pos {
1342
+ Line : 1 ,
1343
+ Column : 16 ,
1344
+ Byte : 15 ,
1345
+ },
1346
+ },
1347
+ Constraints : reference.OriginConstraints {
1348
+ reference.OriginConstraint {
1349
+ OfType : cty .String ,
1350
+ },
1351
+ },
1352
+ },
1353
+ },
1327
1354
`attr = var.blah` ,
1328
1355
hcl.Pos {Line : 1 , Column : 10 , Byte : 9 },
1329
1356
nil ,
@@ -1347,6 +1374,32 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1347
1374
Type : cty .Bool ,
1348
1375
},
1349
1376
},
1377
+ reference.Origins {
1378
+ reference.LocalOrigin {
1379
+ Addr : lang.Address {
1380
+ lang.RootStep {Name : "var" },
1381
+ lang.AttrStep {Name : "blah" },
1382
+ },
1383
+ Range : hcl.Range {
1384
+ Filename : "test.tf" ,
1385
+ Start : hcl.Pos {
1386
+ Line : 1 ,
1387
+ Column : 8 ,
1388
+ Byte : 7 ,
1389
+ },
1390
+ End : hcl.Pos {
1391
+ Line : 1 ,
1392
+ Column : 16 ,
1393
+ Byte : 15 ,
1394
+ },
1395
+ },
1396
+ Constraints : reference.OriginConstraints {
1397
+ reference.OriginConstraint {
1398
+ OfType : cty .String ,
1399
+ },
1400
+ },
1401
+ },
1402
+ },
1350
1403
`attr = var.blah` ,
1351
1404
hcl.Pos {Line : 1 , Column : 10 , Byte : 9 },
1352
1405
nil ,
@@ -1370,6 +1423,32 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1370
1423
Type : cty .String ,
1371
1424
},
1372
1425
},
1426
+ reference.Origins {
1427
+ reference.LocalOrigin {
1428
+ Addr : lang.Address {
1429
+ lang.RootStep {Name : "var" },
1430
+ lang.AttrStep {Name : "blah" },
1431
+ },
1432
+ Range : hcl.Range {
1433
+ Filename : "test.tf" ,
1434
+ Start : hcl.Pos {
1435
+ Line : 1 ,
1436
+ Column : 8 ,
1437
+ Byte : 7 ,
1438
+ },
1439
+ End : hcl.Pos {
1440
+ Line : 1 ,
1441
+ Column : 16 ,
1442
+ Byte : 15 ,
1443
+ },
1444
+ },
1445
+ Constraints : reference.OriginConstraints {
1446
+ reference.OriginConstraint {
1447
+ OfType : cty .String ,
1448
+ },
1449
+ },
1450
+ },
1451
+ },
1373
1452
`attr = var.blah` ,
1374
1453
hcl.Pos {Line : 1 , Column : 10 , Byte : 9 },
1375
1454
& lang.HoverData {
@@ -1408,6 +1487,33 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1408
1487
Type : cty .DynamicPseudoType ,
1409
1488
},
1410
1489
},
1490
+ reference.Origins {
1491
+ reference.LocalOrigin {
1492
+ Addr : lang.Address {
1493
+ lang.RootStep {Name : "var" },
1494
+ lang.AttrStep {Name : "foo" },
1495
+ lang.AttrStep {Name : "bar" },
1496
+ },
1497
+ Range : hcl.Range {
1498
+ Filename : "test.tf" ,
1499
+ Start : hcl.Pos {
1500
+ Line : 1 ,
1501
+ Column : 8 ,
1502
+ Byte : 7 ,
1503
+ },
1504
+ End : hcl.Pos {
1505
+ Line : 1 ,
1506
+ Column : 19 ,
1507
+ Byte : 18 ,
1508
+ },
1509
+ },
1510
+ Constraints : reference.OriginConstraints {
1511
+ reference.OriginConstraint {
1512
+ OfType : cty .String ,
1513
+ },
1514
+ },
1515
+ },
1516
+ },
1411
1517
`attr = var.foo.bar` ,
1412
1518
hcl.Pos {Line : 1 , Column : 10 , Byte : 9 },
1413
1519
& lang.HoverData {
@@ -1447,6 +1553,32 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1447
1553
Name : "special" ,
1448
1554
},
1449
1555
},
1556
+ reference.Origins {
1557
+ reference.LocalOrigin {
1558
+ Addr : lang.Address {
1559
+ lang.RootStep {Name : "var" },
1560
+ lang.AttrStep {Name : "foo" },
1561
+ },
1562
+ Range : hcl.Range {
1563
+ Filename : "test.tf" ,
1564
+ Start : hcl.Pos {
1565
+ Line : 1 ,
1566
+ Column : 8 ,
1567
+ Byte : 7 ,
1568
+ },
1569
+ End : hcl.Pos {
1570
+ Line : 1 ,
1571
+ Column : 15 ,
1572
+ Byte : 14 ,
1573
+ },
1574
+ },
1575
+ Constraints : reference.OriginConstraints {
1576
+ reference.OriginConstraint {
1577
+ OfScopeId : lang .ScopeId ("foo" ),
1578
+ },
1579
+ },
1580
+ },
1581
+ },
1450
1582
`attr = var.foo` ,
1451
1583
hcl.Pos {Line : 1 , Column : 10 , Byte : 9 },
1452
1584
& lang.HoverData {
@@ -1480,6 +1612,7 @@ func TestDecoder_HoverAtPos_traversalExpressions(t *testing.T) {
1480
1612
d := testPathDecoder (t , & PathContext {
1481
1613
Schema : bodySchema ,
1482
1614
ReferenceTargets : tc .refs ,
1615
+ ReferenceOrigins : tc .origins ,
1483
1616
Files : map [string ]* hcl.File {
1484
1617
"test.tf" : f ,
1485
1618
},
0 commit comments