@@ -1827,23 +1827,53 @@ class Definitions {
1827
1827
def isInfix (sym : Symbol )(using Context ): Boolean =
1828
1828
(sym eq Object_eq ) || (sym eq Object_ne )
1829
1829
1830
- @ tu lazy val assumedTransparentClasses =
1831
- Set [Symbol ](ComparableClass , ProductClass , SerializableClass ,
1832
- AnyClass , AnyValClass , ObjectClass , MatchableClass ,
1833
- // add these for now, until we had a chance to retrofit 2.13 stdlib
1834
- // we should do a more through sweep through it then.
1835
- requiredClass(" scala.collection.IterableOps" ),
1836
- requiredClass(" scala.collection.SeqOps" ),
1837
- requiredClass(" scala.collection.SortedOps" ),
1838
- requiredClass(" scala.collection.StrictOptimizedSortedSetOps" ),
1839
- requiredClass(" scala.collection.generic.DefaultSerializable" ),
1840
- requiredClass(" scala.collection.generic.IsIterable" ),
1841
- requiredClass(" scala.collection.generic.IsIterableOnce" ),
1842
- requiredClass(" scala.collection.generic.IsMap" ),
1843
- requiredClass(" scala.collection.generic.IsSeq" ),
1844
- requiredClass(" scala.collection.generic.Subtractable" ),
1845
- requiredClass(" scala.collection.immutable.StrictOptimizedSeqOps" ),
1846
- )
1830
+ @ tu lazy val assumedTransparentNames : Map [Name , Set [Symbol ]] =
1831
+ // add these for now, until we had a chance to retrofit 2.13 stdlib
1832
+ // we should do a more through sweep through it then.
1833
+ val strs = Map (
1834
+ " Any" -> Set (" scala" , " scala.scalajs.js" ),
1835
+ " AnyVal" -> Set (" scala" ),
1836
+ " Matchable" -> Set (" scala" ),
1837
+ " Product" -> Set (" scala" ),
1838
+ " Object" -> Set (" java.lang" , " scala.scalajs.js" ),
1839
+ " Comparable" -> Set (" java.lang" ),
1840
+ " Serializable" -> Set (" java.io" ),
1841
+ " BitSetOps" -> Set (" scala.collection" ),
1842
+ " IndexedSeqOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1843
+ " IterableOnceOps" -> Set (" scala.collection" ),
1844
+ " IterableOps" -> Set (" scala.collection" ),
1845
+ " LinearSeqOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1846
+ " MapOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1847
+ " SeqOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1848
+ " SetOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1849
+ " SortedMapOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1850
+ " SortedOps" -> Set (" scala.collection" ),
1851
+ " SortedSetOps" -> Set (" scala.collection" , " scala.collection.mutable" , " scala.collection.immutable" ),
1852
+ " StrictOptimizedIterableOps" -> Set (" scala.collection" ),
1853
+ " StrictOptimizedLinearSeqOps" -> Set (" scala.collection" ),
1854
+ " StrictOptimizedMapOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1855
+ " StrictOptimizedSeqOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1856
+ " StrictOptimizedSetOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1857
+ " StrictOptimizedSortedMapOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1858
+ " StrictOptimizedSortedSetOps" -> Set (" scala.collection" , " scala.collection.immutable" ),
1859
+ " ArrayDequeOps" -> Set (" scala.collection.mutable" ),
1860
+ " DefaultSerializable" -> Set (" scala.collection.generic" ),
1861
+ " IsIterable" -> Set (" scala.collection.generic" ),
1862
+ " IsIterableLowPriority" -> Set (" scala.collection.generic" ),
1863
+ " IsIterableOnce" -> Set (" scala.collection.generic" ),
1864
+ " IsIterableOnceLowPriority" -> Set (" scala.collection.generic" ),
1865
+ " IsMap" -> Set (" scala.collection.generic" ),
1866
+ " IsSeq" -> Set (" scala.collection.generic" ))
1867
+ strs.map { case (simple, pkgs) => (
1868
+ simple.toTypeName,
1869
+ pkgs.map(pkg => staticRef(pkg.toTermName, isPackage = true ).symbol.moduleClass)
1870
+ )
1871
+ }
1872
+
1873
+ def isAssumedTransparent (sym : Symbol ): Boolean =
1874
+ assumedTransparentNames.get(sym.name) match
1875
+ case Some (pkgs) => pkgs.contains(sym.owner)
1876
+ case none => false
1847
1877
1848
1878
// ----- primitive value class machinery ------------------------------------------
1849
1879
0 commit comments