@@ -1462,5 +1462,106 @@ class DocumentHighlightSuite extends BaseDocumentHighlightSuite:
1462
1462
|""" .stripMargin
1463
1463
)
1464
1464
1465
+ @ Test def i3053 =
1466
+ check(
1467
+ """ import Aaaa.*
1468
+ |
1469
+ |def classDef2(cdef: List[Int]): Int = {
1470
+ | def aaa(ddef: Thicket2): List[Int] = ddef match {
1471
+ | case Thicket2(_) => ???
1472
+ | }
1473
+ |
1474
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1475
+ | * inline classes
1476
+ | */
1477
+ | // The original type and value parameters in the constructor already have the flags
1478
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1479
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1480
+ | // go in `constr`, the constructor after desugaring.
1481
+ |
1482
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1483
+ | * inline classes
1484
+ | */
1485
+ | // The original type and value parameters in the constructor already have the flags
1486
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1487
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1488
+ | // go in `constr`, the constructor after desugaring.
1489
+ |
1490
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1491
+ | * inline classes
1492
+ | */
1493
+ | // Annotations on class _type_ parameters are set on the derived parameters
1494
+ | // but not on the constructor parameters. The reverse is true for
1495
+ | // annotations on class _value_ parameters.
1496
+ | // The original type and value parameters in the constructor already have the flags
1497
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1498
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1499
+ | // go in `constr`, the constructor after desugaring.
1500
+ | // The original type and value parameters in the constructor already have the flags
1501
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1502
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1503
+ | // go in `constr`, the constructor after desugaring.
1504
+ |
1505
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1506
+ | * inline classes
1507
+ | */
1508
+ | // The original type and value parameters in the constructor already have the flags
1509
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1510
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1511
+ | // go in `constr`, the constructor after desugaring.
1512
+ |
1513
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1514
+ | * inline classes
1515
+ | */
1516
+ |
1517
+ | // Annotations on class _type_ parameters are set on the derived parameters
1518
+ | // but not on the constructor parameters. The reverse is true for
1519
+ | // annotations on class _value_ parameters.
1520
+ | // The original type and value parameters in the constructor already have the flags
1521
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1522
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1523
+ | // go in `constr`, the constructor after desugaring.
1524
+ | // The original type and value parameters in the constructor already have the flags
1525
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1526
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1527
+ | // go in `constr`, the constructor after desugaring.
1528
+ |
1529
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1530
+ | * inline classes
1531
+ | */
1532
+ | // The original type and value parameters in the constructor already have the flags
1533
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1534
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1535
+ | // go in `constr`, the constructor after desugaring.
1536
+ |
1537
+ | /** Does `tree' look like a reference to AnyVal? Temporary test before we have
1538
+ | * inline classes
1539
+ | */
1540
+ | // Annotations on class _type_ parameters are set on the derived parameters
1541
+ | // but not on the constructor parameters. The reverse is true for
1542
+ | // annotations on class _value_ parameters.
1543
+ | // The original type and value parameters in the constructor already have the flags
1544
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1545
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1546
+ | // go in `constr`, the constructor after desugaring.
1547
+ | // The original type and value parameters in the constructor already have the flags
1548
+ | // needed to be type members (i.e. param, and possibly also private and local unless
1549
+ | // prefixed by type or val). `tparams` and `vparamss` are the type parameters that
1550
+ | // go in `constr`, the constructor after desugaring.
1551
+ | 1
1552
+ |}.<<showing2>>("aaa")
1553
+ |
1554
+ |case class Thicket2(trees: List[Int]) {}
1555
+ |
1556
+ |object Aaaa {
1557
+ | extension [T](x: T)
1558
+ | def <<show@@ing2>>[U](aaa: String): T = {
1559
+ | x
1560
+ | }
1561
+ |}
1562
+ |
1563
+ |""" .stripMargin
1564
+ )
1565
+
1465
1566
1466
1567
end DocumentHighlightSuite
0 commit comments