From 5c6e542817c347051281ae69a498a32fb17a900a Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Fri, 24 Nov 2023 08:18:03 +0100 Subject: [PATCH] Move sources from `tests/pos-special/stdlib` to `scala2-library-cc` Also reduce diff with the original Scala 2 library sources. --- compiler/test/dotty/Properties.scala | 3 ++ .../dotty/tools/dotc/CompilationTests.scala | 6 +-- .../src/scala}/collection/ArrayOps.scala | 21 +++++---- .../src/scala}/collection/BitSet.scala | 0 .../scala}/collection/BufferedIterator.scala | 0 .../src/scala}/collection/BuildFrom.scala | 2 +- .../src/scala}/collection/DefaultMap.scala | 0 .../src/scala}/collection/Factory.scala | 0 .../src/scala}/collection/Hashing.scala | 0 .../src/scala}/collection/IndexedSeq.scala | 18 +++++++- .../scala}/collection/IndexedSeqView.scala | 0 .../src/scala}/collection/Iterable.scala | 0 .../src/scala}/collection/IterableOnce.scala | 13 +++--- .../src/scala}/collection/Iterator.scala | 0 .../scala}/collection/JavaConverters.scala | 0 .../src/scala}/collection/LazyZipOps.scala | 0 .../src/scala}/collection/LinearSeq.scala | 0 .../src/scala}/collection/Map.scala | 0 .../src/scala}/collection/MapView.scala | 2 +- .../src/scala}/collection/Searching.scala | 0 .../src/scala}/collection/Seq.scala | 0 .../src/scala}/collection/SeqMap.scala | 0 .../src/scala}/collection/SeqView.scala | 0 .../src/scala}/collection/Set.scala | 0 .../src/scala}/collection/SortedMap.scala | 0 .../src/scala}/collection/SortedOps.scala | 0 .../src/scala}/collection/SortedSet.scala | 1 - .../src/scala}/collection/Stepper.scala | 0 .../src/scala}/collection/StepperShape.scala | 0 .../StrictOptimizedIterableOps.scala | 0 .../collection/StrictOptimizedMapOps.scala | 0 .../collection/StrictOptimizedSeqOps.scala | 0 .../collection/StrictOptimizedSetOps.scala | 0 .../StrictOptimizedSortedMapOps.scala | 0 .../StrictOptimizedSortedSetOps.scala | 0 .../src/scala}/collection/StringOps.scala | 0 .../src/scala}/collection/StringParsers.scala | 5 -- .../src/scala}/collection/View.scala | 0 .../src/scala}/collection/WithFilter.scala | 0 .../scala}/collection/concurrent/Map.scala | 0 .../collection/concurrent/TrieMap.scala | 0 .../collection/convert/AsJavaConverters.scala | 0 .../collection/convert/AsJavaExtensions.scala | 0 .../convert/AsScalaConverters.scala | 0 .../convert/AsScalaExtensions.scala | 0 .../convert/ImplicitConversions.scala | 0 .../convert/JavaCollectionWrappers.scala | 0 .../collection/convert/StreamExtensions.scala | 0 .../convert/impl/ArrayStepper.scala | 0 .../convert/impl/BinaryTreeStepper.scala | 0 .../convert/impl/BitSetStepper.scala | 0 .../convert/impl/ChampStepper.scala | 0 .../convert/impl/InOrderStepperBase.scala | 0 .../convert/impl/IndexedSeqStepper.scala | 0 .../convert/impl/IndexedStepperBase.scala | 0 .../convert/impl/IteratorStepper.scala | 0 .../convert/impl/NumericRangeStepper.scala | 0 .../convert/impl/RangeStepper.scala | 0 .../convert/impl/StringStepper.scala | 0 .../convert/impl/TableStepper.scala | 0 .../convert/impl/VectorStepper.scala | 0 .../collection/generic/BitOperations.scala | 0 .../generic/DefaultSerializationProxy.scala | 0 .../collection/generic/IsIterable.scala | 0 .../collection/generic/IsIterableOnce.scala | 0 .../src/scala}/collection/generic/IsMap.scala | 0 .../src/scala}/collection/generic/IsSeq.scala | 0 .../collection/generic/Subtractable.scala | 0 .../scala}/collection/generic/package.scala | 0 .../collection/immutable/ArraySeq.scala | 0 .../scala}/collection/immutable/BitSet.scala | 0 .../collection/immutable/ChampCommon.scala | 1 - .../scala}/collection/immutable/HashMap.scala | 0 .../scala}/collection/immutable/HashSet.scala | 0 .../scala}/collection/immutable/IntMap.scala | 0 .../collection/immutable/Iterable.scala | 0 .../immutable/LazyListIterable.scala | 0 .../scala}/collection/immutable/List.scala | 0 .../scala}/collection/immutable/ListMap.scala | 0 .../scala}/collection/immutable/ListSet.scala | 0 .../scala}/collection/immutable/LongMap.scala | 0 .../src/scala}/collection/immutable/Map.scala | 0 .../collection/immutable/NumericRange.scala | 0 .../scala}/collection/immutable/Queue.scala | 0 .../scala}/collection/immutable/Range.scala | 0 .../collection/immutable/RedBlackTree.scala | 0 .../src/scala}/collection/immutable/Seq.scala | 0 .../scala}/collection/immutable/SeqMap.scala | 0 .../src/scala}/collection/immutable/Set.scala | 0 .../collection/immutable/SortedMap.scala | 0 .../collection/immutable/SortedSet.scala | 0 .../immutable/StrictOptimizedSeqOps.scala | 0 .../scala}/collection/immutable/TreeMap.scala | 0 .../collection/immutable/TreeSeqMap.scala | 8 ++-- .../scala}/collection/immutable/TreeSet.scala | 0 .../scala}/collection/immutable/Vector.scala | 0 .../collection/immutable/VectorMap.scala | 0 .../collection/immutable/WrappedString.scala | 0 .../scala}/collection/immutable/package.scala | 0 .../scala}/collection/mutable/AnyRefMap.scala | 34 +++++++------- .../collection/mutable/ArrayBuffer.scala | 0 .../collection/mutable/ArrayBuilder.scala | 0 .../collection/mutable/ArrayDeque.scala | 0 .../scala}/collection/mutable/ArraySeq.scala | 0 .../scala}/collection/mutable/BitSet.scala | 0 .../scala}/collection/mutable/Buffer.scala | 1 - .../scala}/collection/mutable/Builder.scala | 0 .../mutable/CheckedIndexedSeqView.scala | 0 .../scala}/collection/mutable/Cloneable.scala | 0 .../mutable/CollisionProofHashMap.scala | 24 +++++----- .../scala}/collection/mutable/Growable.scala | 0 .../collection/mutable/GrowableBuilder.scala | 0 .../scala}/collection/mutable/HashMap.scala | 12 ++--- .../scala}/collection/mutable/HashSet.scala | 0 .../scala}/collection/mutable/HashTable.scala | 2 +- .../collection/mutable/ImmutableBuilder.scala | 0 .../collection/mutable/IndexedSeq.scala | 0 .../scala}/collection/mutable/Iterable.scala | 0 .../collection/mutable/LinkedHashMap.scala | 10 ++-- .../collection/mutable/LinkedHashSet.scala | 0 .../collection/mutable/ListBuffer.scala | 0 .../scala}/collection/mutable/ListMap.scala | 8 ++-- .../scala}/collection/mutable/LongMap.scala | 0 .../src/scala}/collection/mutable/Map.scala | 0 .../scala}/collection/mutable/MultiMap.scala | 2 +- .../collection/mutable/MutationTracker.scala | 0 .../collection/mutable/OpenHashMap.scala | 10 ++-- .../collection/mutable/PriorityQueue.scala | 0 .../src/scala}/collection/mutable/Queue.scala | 0 .../collection/mutable/RedBlackTree.scala | 28 +++++------ .../collection/mutable/ReusableBuilder.scala | 0 .../src/scala}/collection/mutable/Seq.scala | 0 .../scala}/collection/mutable/SeqMap.scala | 0 .../src/scala}/collection/mutable/Set.scala | 0 .../collection/mutable/Shrinkable.scala | 0 .../scala}/collection/mutable/SortedMap.scala | 0 .../scala}/collection/mutable/SortedSet.scala | 0 .../src/scala}/collection/mutable/Stack.scala | 0 .../collection/mutable/StringBuilder.scala | 0 .../scala}/collection/mutable/TreeMap.scala | 8 ++-- .../scala}/collection/mutable/TreeSet.scala | 0 .../collection/mutable/UnrolledBuffer.scala | 0 .../collection/mutable/WeakHashMap.scala | 8 ++-- .../scala}/collection/mutable/package.scala | 0 .../src/scala}/collection/package.scala | 0 .../src/scala}/runtime/PStatics.scala | 0 .../collection/concurrent/BasicNode.java | 19 -------- .../collection/concurrent/CNodeBase.java | 37 --------------- .../stdlib/collection/concurrent/Gen.java | 15 ------ .../collection/concurrent/INodeBase.java | 39 ---------------- .../collection/concurrent/MainNode.java | 46 ------------------- 151 files changed, 119 insertions(+), 264 deletions(-) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/ArrayOps.scala (98%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/BitSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/BufferedIterator.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/BuildFrom.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/DefaultMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Factory.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Hashing.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/IndexedSeq.scala (91%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/IndexedSeqView.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Iterable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/IterableOnce.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Iterator.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/JavaConverters.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/LazyZipOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/LinearSeq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Map.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/MapView.scala (98%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Searching.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Seq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/SeqMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/SeqView.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Set.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/SortedMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/SortedOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/SortedSet.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/Stepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StepperShape.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedIterableOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedMapOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedSeqOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedSetOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedSortedMapOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StrictOptimizedSortedSetOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StringOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/StringParsers.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/View.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/WithFilter.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/concurrent/Map.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/concurrent/TrieMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/AsJavaConverters.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/AsJavaExtensions.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/AsScalaConverters.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/AsScalaExtensions.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/ImplicitConversions.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/JavaCollectionWrappers.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/StreamExtensions.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/ArrayStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/BinaryTreeStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/BitSetStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/ChampStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/InOrderStepperBase.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/IndexedSeqStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/IndexedStepperBase.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/IteratorStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/NumericRangeStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/RangeStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/StringStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/TableStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/convert/impl/VectorStepper.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/BitOperations.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/DefaultSerializationProxy.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/IsIterable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/IsIterableOnce.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/IsMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/IsSeq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/Subtractable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/generic/package.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/ArraySeq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/BitSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/ChampCommon.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/HashMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/HashSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/IntMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Iterable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/LazyListIterable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/List.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/ListMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/ListSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/LongMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Map.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/NumericRange.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Queue.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Range.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/RedBlackTree.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Seq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/SeqMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Set.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/SortedMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/SortedSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/StrictOptimizedSeqOps.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/TreeMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/TreeSeqMap.scala (98%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/TreeSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/Vector.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/VectorMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/WrappedString.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/immutable/package.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/AnyRefMap.scala (91%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ArrayBuffer.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ArrayBuilder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ArrayDeque.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ArraySeq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/BitSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Buffer.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Builder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/CheckedIndexedSeqView.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Cloneable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/CollisionProofHashMap.scala (95%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Growable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/GrowableBuilder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/HashMap.scala (97%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/HashSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/HashTable.scala (99%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ImmutableBuilder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/IndexedSeq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Iterable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/LinkedHashMap.scala (98%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/LinkedHashSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ListBuffer.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ListMap.scala (90%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/LongMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Map.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/MultiMap.scala (98%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/MutationTracker.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/OpenHashMap.scala (97%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/PriorityQueue.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Queue.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/RedBlackTree.scala (93%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/ReusableBuilder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Seq.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/SeqMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Set.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Shrinkable.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/SortedMap.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/SortedSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/Stack.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/StringBuilder.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/TreeMap.scala (96%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/TreeSet.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/UnrolledBuffer.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/WeakHashMap.scala (83%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/mutable/package.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/collection/package.scala (100%) rename {tests/pos-special/stdlib => scala2-library-cc/src/scala}/runtime/PStatics.scala (100%) delete mode 100644 tests/pos-special/stdlib/collection/concurrent/BasicNode.java delete mode 100644 tests/pos-special/stdlib/collection/concurrent/CNodeBase.java delete mode 100644 tests/pos-special/stdlib/collection/concurrent/Gen.java delete mode 100644 tests/pos-special/stdlib/collection/concurrent/INodeBase.java delete mode 100644 tests/pos-special/stdlib/collection/concurrent/MainNode.java diff --git a/compiler/test/dotty/Properties.scala b/compiler/test/dotty/Properties.scala index 4bb3628722ad..e085b0de4875 100644 --- a/compiler/test/dotty/Properties.scala +++ b/compiler/test/dotty/Properties.scala @@ -87,6 +87,9 @@ object Properties { /** If we are using the scala-library TASTy jar */ def usingScalaLibraryTasty: Boolean = scalaLibraryTasty.isDefined + /** If we are using the scala-library TASTy jar */ + + def usingScalaLibraryCCTasty: Boolean = scalaLibraryTasty.exists(_.contains("scala2-library-cc-tasty")) /** scala-asm jar */ def scalaAsm: String = sys.props("dotty.tests.classes.scalaAsm") diff --git a/compiler/test/dotty/tools/dotc/CompilationTests.scala b/compiler/test/dotty/tools/dotc/CompilationTests.scala index 120b7373f7cc..b9e412d8e0fb 100644 --- a/compiler/test/dotty/tools/dotc/CompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/CompilationTests.scala @@ -45,9 +45,9 @@ class CompilationTests { compileFilesInDir("tests/pos", defaultOptions.and("-Ysafe-init", "-Ylegacy-lazy-vals", "-Ycheck-constraint-deps"), FileFilter.include(TestSources.posLazyValsAllowlist)), compileDir("tests/pos-special/java-param-names", defaultOptions.withJavacOnlyOptions("-parameters")), ) ::: ( - // FIXME: This fails due to a bug involving self types and capture checking - if Properties.usingScalaLibraryTasty then Nil - else List(compileDir("tests/pos-special/stdlib", allowDeepSubtypes)) + // TODO create a folder for capture checking tests with the stdlib, or use tests/pos-custom-args/captures under this mode? + if Properties.usingScalaLibraryCCTasty then List(compileDir("tests/pos-special/stdlib", allowDeepSubtypes)) + else Nil ) if scala.util.Properties.isJavaAtLeast("16") then diff --git a/tests/pos-special/stdlib/collection/ArrayOps.scala b/scala2-library-cc/src/scala/collection/ArrayOps.scala similarity index 98% rename from tests/pos-special/stdlib/collection/ArrayOps.scala rename to scala2-library-cc/src/scala/collection/ArrayOps.scala index bb6174f59598..e8548c12751f 100644 --- a/tests/pos-special/stdlib/collection/ArrayOps.scala +++ b/scala2-library-cc/src/scala/collection/ArrayOps.scala @@ -113,7 +113,7 @@ object ArrayOps { b.result() } - def flatMap[BS, B](f: A => BS)(implicit asIterable: BS => Iterable[B], m: ClassTag[B]): Array[B] = + def flatMap[BS, B](f: A => BS)(implicit asIterable: BS => Iterable[B], m: ClassTag[B]): Array[B] = flatMap[B](x => asIterable(f(x))) /** Creates a new non-strict filter which combines this filter with the given predicate. */ @@ -505,7 +505,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * * @return a pair of arrays: the first one made of those values returned by `f` that were wrapped in [[scala.util.Left]], * and the second one made of those wrapped in [[scala.util.Right]]. */ - def partitionMap[A1: ClassTag, A2: ClassTag](f: A => Either[A1, A2]): (Array[A1], Array[A2]) = { + def partitionMap[A1: ClassTag, A2: ClassTag](f: A => Either[A1, A2]): (Array[A1], Array[A2]) = { val res1 = ArrayBuilder.make[A1] val res2 = ArrayBuilder.make[A2] var i = 0 @@ -816,7 +816,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * }}} * */ - def scanLeft[B : ClassTag](z: B)(op: (B, A) => B): Array[B] = { + def scanLeft[ B : ClassTag ](z: B)(op: (B, A) => B): Array[B] = { var v = z var i = 0 val res = new Array[B](xs.length + 1) @@ -855,7 +855,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * }}} * */ - def scanRight[B : ClassTag](z: B)(op: (A, B) => B): Array[B] = { + def scanRight[ B : ClassTag ](z: B)(op: (A, B) => B): Array[B] = { var v = z var i = xs.length - 1 val res = new Array[B](xs.length + 1) @@ -973,7 +973,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { b.result() } - def flatMap[BS, B](f: A => BS)(implicit asIterable: BS => Iterable[B], m: ClassTag[B]): Array[B] = + def flatMap[BS, B](f: A => BS)(implicit asIterable: BS => Iterable[B], m: ClassTag[B]): Array[B] = flatMap[B](x => asIterable(f(x))) /** Flattens a two-dimensional array by concatenating all its rows @@ -1095,7 +1095,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * If this array is shorter than `that`, `thisElem` values are used to pad the result. * If `that` is shorter than this array, `thatElem` values are used to pad the result. */ - def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): Array[(A1, B)] = { + def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): Array[(A1, B)] = { val b = new ArrayBuilder.ofRef[(A1, B)]() val k = that.knownSize b.sizeHint(max(k, xs.length)) @@ -1244,7 +1244,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * @return a pair of Arrays, containing, respectively, the first and second half * of each element pair of this Array. */ - def unzip[A1, A2](implicit asPair: A => (A1, A2), ct1: ClassTag[A1], ct2: ClassTag[A2]): (Array[A1], Array[A2]) = { + def unzip[A1, A2](implicit asPair: A => (A1, A2), ct1: ClassTag[A1], ct2: ClassTag[A2]): (Array[A1], Array[A2]) = { val a1 = new Array[A1](xs.length) val a2 = new Array[A2](xs.length) var i = 0 @@ -1273,7 +1273,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * @return a triple of Arrays, containing, respectively, the first, second, and third * elements from each element triple of this Array. */ - def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3), ct1: ClassTag[A1], ct2: ClassTag[A2], + def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3), ct1: ClassTag[A1], ct2: ClassTag[A2], ct3: ClassTag[A3]): (Array[A1], Array[A2], Array[A3]) = { val a1 = new Array[A1](xs.length) val a2 = new Array[A2](xs.length) @@ -1418,7 +1418,7 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { * @tparam K the type of keys returned by the discriminator function * @tparam B the type of values returned by the transformation function */ - def groupMap[K, B : ClassTag](key: A => K)(f: A => B): immutable.Map[K, Array[B]] = { + def groupMap[K, B : ClassTag](key: A => K)(f: A => B): immutable.Map[K, Array[B]] = { val m = mutable.Map.empty[K, ArrayBuilder[B]] val len = xs.length var i = 0 @@ -1479,7 +1479,8 @@ final class ArrayOps[A](private val xs: Array[A]) extends AnyVal { /** Create a copy of this array with the specified element type. */ def toArray[B >: A: ClassTag]: Array[B] = { val destination = new Array[B](xs.length) - copyToArray(destination, 0) + @annotation.unused val copied = copyToArray(destination, 0) + //assert(copied == xs.length) destination } diff --git a/tests/pos-special/stdlib/collection/BitSet.scala b/scala2-library-cc/src/scala/collection/BitSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/BitSet.scala rename to scala2-library-cc/src/scala/collection/BitSet.scala diff --git a/tests/pos-special/stdlib/collection/BufferedIterator.scala b/scala2-library-cc/src/scala/collection/BufferedIterator.scala similarity index 100% rename from tests/pos-special/stdlib/collection/BufferedIterator.scala rename to scala2-library-cc/src/scala/collection/BufferedIterator.scala diff --git a/tests/pos-special/stdlib/collection/BuildFrom.scala b/scala2-library-cc/src/scala/collection/BuildFrom.scala similarity index 99% rename from tests/pos-special/stdlib/collection/BuildFrom.scala rename to scala2-library-cc/src/scala/collection/BuildFrom.scala index 05df32856d82..d82e90777d3e 100644 --- a/tests/pos-special/stdlib/collection/BuildFrom.scala +++ b/scala2-library-cc/src/scala/collection/BuildFrom.scala @@ -87,7 +87,7 @@ object BuildFrom extends BuildFromLowPriority1 { def newBuilder(from: Array[_]): Builder[A, Array[A]] = Factory.arrayFactory[A].newBuilder } - implicit def buildFromView[A, B]: BuildFrom[View[A], B, View[B]] = + implicit def buildFromView[A, B]: BuildFrom[View[A], B, View[B]] = new BuildFrom[View[A], B, View[B]] { def fromSpecific(from: View[A])(it: IterableOnce[B]^): View[B] = View.from(it).unsafeAssumePure def newBuilder(from: View[A]): Builder[B, View[B]] = View.newBuilder diff --git a/tests/pos-special/stdlib/collection/DefaultMap.scala b/scala2-library-cc/src/scala/collection/DefaultMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/DefaultMap.scala rename to scala2-library-cc/src/scala/collection/DefaultMap.scala diff --git a/tests/pos-special/stdlib/collection/Factory.scala b/scala2-library-cc/src/scala/collection/Factory.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Factory.scala rename to scala2-library-cc/src/scala/collection/Factory.scala diff --git a/tests/pos-special/stdlib/collection/Hashing.scala b/scala2-library-cc/src/scala/collection/Hashing.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Hashing.scala rename to scala2-library-cc/src/scala/collection/Hashing.scala diff --git a/tests/pos-special/stdlib/collection/IndexedSeq.scala b/scala2-library-cc/src/scala/collection/IndexedSeq.scala similarity index 91% rename from tests/pos-special/stdlib/collection/IndexedSeq.scala rename to scala2-library-cc/src/scala/collection/IndexedSeq.scala index a2d4cc942231..998d1a5a635f 100644 --- a/tests/pos-special/stdlib/collection/IndexedSeq.scala +++ b/scala2-library-cc/src/scala/collection/IndexedSeq.scala @@ -94,11 +94,25 @@ trait IndexedSeqOps[+A, +CC[_], +C] extends Any with IndexedSeqViewOps[A, CC, C] override def slice(from: Int, until: Int): C = fromSpecific(new IndexedSeqView.Slice(this, from, until)) - override def head: A = apply(0) + override def head: A = + if (!isEmpty) apply(0) + else throw new NoSuchElementException(s"head of empty ${ + self match { + case self: IndexedSeq[_] => self.collectionClassName + case _ => toString + } + }") override def headOption: Option[A] = if (isEmpty) None else Some(head) - override def last: A = apply(length - 1) + override def last: A = + if (!isEmpty) apply(length - 1) + else throw new NoSuchElementException(s"last of empty ${ + self match { + case self: IndexedSeq[_] => self.collectionClassName + case _ => toString + } + }") // We already inherit an efficient `lastOption = if (isEmpty) None else Some(last)` diff --git a/tests/pos-special/stdlib/collection/IndexedSeqView.scala b/scala2-library-cc/src/scala/collection/IndexedSeqView.scala similarity index 100% rename from tests/pos-special/stdlib/collection/IndexedSeqView.scala rename to scala2-library-cc/src/scala/collection/IndexedSeqView.scala diff --git a/tests/pos-special/stdlib/collection/Iterable.scala b/scala2-library-cc/src/scala/collection/Iterable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Iterable.scala rename to scala2-library-cc/src/scala/collection/Iterable.scala diff --git a/tests/pos-special/stdlib/collection/IterableOnce.scala b/scala2-library-cc/src/scala/collection/IterableOnce.scala similarity index 99% rename from tests/pos-special/stdlib/collection/IterableOnce.scala rename to scala2-library-cc/src/scala/collection/IterableOnce.scala index a0b184410428..30eb142ae156 100644 --- a/tests/pos-special/stdlib/collection/IterableOnce.scala +++ b/scala2-library-cc/src/scala/collection/IterableOnce.scala @@ -19,7 +19,7 @@ import scala.collection.mutable.StringBuilder import scala.language.implicitConversions import scala.math.{Numeric, Ordering} import scala.reflect.ClassTag -import scala.runtime.AbstractFunction2 +import scala.runtime.{AbstractFunction1, AbstractFunction2} import language.experimental.captureChecking /** @@ -272,7 +272,7 @@ object IterableOnce { math.max(math.min(math.min(len, srcLen), destLen - start), 0) /** Calls `copyToArray` on the given collection, regardless of whether or not it is an `Iterable`. */ - @inline private[collection] def copyElemsToArray[A, B >: A]( + @inline private[collection] def copyElemsToArray[A, B >: A]( elems: IterableOnce[A]^, xs: Array[B], start: Int = 0, @@ -1117,8 +1117,8 @@ trait IterableOnceOps[+A, +CC[_], +C] extends Any { this: IterableOnce[A]^ => def collectFirst[B](pf: PartialFunction[A, B]): Option[B] = { // Presumably the fastest way to get in and out of a partial function is for a sentinel function to return itself // (Tested to be lower-overhead than runWith. Would be better yet to not need to (formally) allocate it) - val sentinel: scala.Function1[A, Any] = new scala.runtime.AbstractFunction1[A, Any] { - def apply(a: A) = this + val sentinel: scala.Function1[A, Any] = new AbstractFunction1[A, Any] { + def apply(a: A): AbstractFunction1[A, Any] = this } val it = iterator while (it.hasNext) { @@ -1322,7 +1322,8 @@ trait IterableOnceOps[+A, +CC[_], +C] extends Any { this: IterableOnce[A]^ => def toArray[B >: A: ClassTag]: Array[B] = if (knownSize >= 0) { val destination = new Array[B](knownSize) - copyToArray(destination, 0) + @annotation.unused val copied = copyToArray(destination, 0) + //assert(copied == destination.length) destination } else mutable.ArrayBuilder.make[B].addAll(this).result() @@ -1362,4 +1363,4 @@ object IterableOnceOps: m } } -end IterableOnceOps \ No newline at end of file +end IterableOnceOps diff --git a/tests/pos-special/stdlib/collection/Iterator.scala b/scala2-library-cc/src/scala/collection/Iterator.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Iterator.scala rename to scala2-library-cc/src/scala/collection/Iterator.scala diff --git a/tests/pos-special/stdlib/collection/JavaConverters.scala b/scala2-library-cc/src/scala/collection/JavaConverters.scala similarity index 100% rename from tests/pos-special/stdlib/collection/JavaConverters.scala rename to scala2-library-cc/src/scala/collection/JavaConverters.scala diff --git a/tests/pos-special/stdlib/collection/LazyZipOps.scala b/scala2-library-cc/src/scala/collection/LazyZipOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/LazyZipOps.scala rename to scala2-library-cc/src/scala/collection/LazyZipOps.scala diff --git a/tests/pos-special/stdlib/collection/LinearSeq.scala b/scala2-library-cc/src/scala/collection/LinearSeq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/LinearSeq.scala rename to scala2-library-cc/src/scala/collection/LinearSeq.scala diff --git a/tests/pos-special/stdlib/collection/Map.scala b/scala2-library-cc/src/scala/collection/Map.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Map.scala rename to scala2-library-cc/src/scala/collection/Map.scala diff --git a/tests/pos-special/stdlib/collection/MapView.scala b/scala2-library-cc/src/scala/collection/MapView.scala similarity index 98% rename from tests/pos-special/stdlib/collection/MapView.scala rename to scala2-library-cc/src/scala/collection/MapView.scala index 595fe20538d3..5909fe24fbbc 100644 --- a/tests/pos-special/stdlib/collection/MapView.scala +++ b/scala2-library-cc/src/scala/collection/MapView.scala @@ -161,7 +161,7 @@ object MapView extends MapViewFactory { override def isEmpty: Boolean = underlying.isEmpty } - override def newBuilder[X, Y]: Builder[(X, Y), MapView[X, Y]] = mutable.HashMap.newBuilder[X, Y].mapResult(_.view) + override def newBuilder[X, Y]: Builder[(X, Y), MapView[X, Y]] = mutable.HashMap.newBuilder[X, Y].mapResult(_.view) override def empty[K, V]: MapView[K, V] = EmptyMapView.asInstanceOf[MapView[K, V]] diff --git a/tests/pos-special/stdlib/collection/Searching.scala b/scala2-library-cc/src/scala/collection/Searching.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Searching.scala rename to scala2-library-cc/src/scala/collection/Searching.scala diff --git a/tests/pos-special/stdlib/collection/Seq.scala b/scala2-library-cc/src/scala/collection/Seq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Seq.scala rename to scala2-library-cc/src/scala/collection/Seq.scala diff --git a/tests/pos-special/stdlib/collection/SeqMap.scala b/scala2-library-cc/src/scala/collection/SeqMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/SeqMap.scala rename to scala2-library-cc/src/scala/collection/SeqMap.scala diff --git a/tests/pos-special/stdlib/collection/SeqView.scala b/scala2-library-cc/src/scala/collection/SeqView.scala similarity index 100% rename from tests/pos-special/stdlib/collection/SeqView.scala rename to scala2-library-cc/src/scala/collection/SeqView.scala diff --git a/tests/pos-special/stdlib/collection/Set.scala b/scala2-library-cc/src/scala/collection/Set.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Set.scala rename to scala2-library-cc/src/scala/collection/Set.scala diff --git a/tests/pos-special/stdlib/collection/SortedMap.scala b/scala2-library-cc/src/scala/collection/SortedMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/SortedMap.scala rename to scala2-library-cc/src/scala/collection/SortedMap.scala diff --git a/tests/pos-special/stdlib/collection/SortedOps.scala b/scala2-library-cc/src/scala/collection/SortedOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/SortedOps.scala rename to scala2-library-cc/src/scala/collection/SortedOps.scala diff --git a/tests/pos-special/stdlib/collection/SortedSet.scala b/scala2-library-cc/src/scala/collection/SortedSet.scala similarity index 99% rename from tests/pos-special/stdlib/collection/SortedSet.scala rename to scala2-library-cc/src/scala/collection/SortedSet.scala index fb2f879edcd2..639dc9ddead0 100644 --- a/tests/pos-special/stdlib/collection/SortedSet.scala +++ b/scala2-library-cc/src/scala/collection/SortedSet.scala @@ -69,7 +69,6 @@ trait SortedSetOps[A, +CC[X] <: SortedSet[X], +C <: SortedSetOps[A, CC, C]] * @param start The lower-bound (inclusive) of the iterator */ def iteratorFrom(start: A): Iterator[A] - @deprecated("Use `iteratorFrom` instead.", "2.13.0") @`inline` def keysIteratorFrom(start: A): Iterator[A] = iteratorFrom(start) diff --git a/tests/pos-special/stdlib/collection/Stepper.scala b/scala2-library-cc/src/scala/collection/Stepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/Stepper.scala rename to scala2-library-cc/src/scala/collection/Stepper.scala diff --git a/tests/pos-special/stdlib/collection/StepperShape.scala b/scala2-library-cc/src/scala/collection/StepperShape.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StepperShape.scala rename to scala2-library-cc/src/scala/collection/StepperShape.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedIterableOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedIterableOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedIterableOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedIterableOps.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedMapOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedMapOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedMapOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedMapOps.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedSeqOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedSeqOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedSeqOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedSeqOps.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedSetOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedSetOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedSetOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedSetOps.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedSortedMapOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedSortedMapOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedSortedMapOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedSortedMapOps.scala diff --git a/tests/pos-special/stdlib/collection/StrictOptimizedSortedSetOps.scala b/scala2-library-cc/src/scala/collection/StrictOptimizedSortedSetOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StrictOptimizedSortedSetOps.scala rename to scala2-library-cc/src/scala/collection/StrictOptimizedSortedSetOps.scala diff --git a/tests/pos-special/stdlib/collection/StringOps.scala b/scala2-library-cc/src/scala/collection/StringOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/StringOps.scala rename to scala2-library-cc/src/scala/collection/StringOps.scala diff --git a/tests/pos-special/stdlib/collection/StringParsers.scala b/scala2-library-cc/src/scala/collection/StringParsers.scala similarity index 99% rename from tests/pos-special/stdlib/collection/StringParsers.scala rename to scala2-library-cc/src/scala/collection/StringParsers.scala index 47281815da71..75dedab7183c 100644 --- a/tests/pos-special/stdlib/collection/StringParsers.scala +++ b/scala2-library-cc/src/scala/collection/StringParsers.scala @@ -167,7 +167,6 @@ private[scala] object StringParsers { else None } } - //floating point final def checkFloatFormat(format: String): Boolean = { //indices are tracked with a start index which points *at* the first index @@ -194,7 +193,6 @@ private[scala] object StringParsers { rec(from) } - def isHexFloatLiteral(startIndex: Int, endIndex: Int): Boolean = { def isHexDigit(ch: Char) = ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f') || @@ -232,7 +230,6 @@ private[scala] object StringParsers { val pIndex = format.indexWhere(ch => ch == 'p' || ch == 'P', startIndex) (pIndex <= endIndex) && prefixOK(startIndex, pIndex) && postfixOK(pIndex + 1, endIndex) } - def isDecFloatLiteral(startIndex: Int, endIndex: Int): Boolean = { //invariant: endIndex > startIndex @@ -279,7 +276,6 @@ private[scala] object StringParsers { //count 0x00 to 0x20 as "whitespace", and nothing else val unspacedStart = format.indexWhere(ch => ch.toInt > 0x20) val unspacedEnd = format.lastIndexWhere(ch => ch.toInt > 0x20) + 1 - if (unspacedStart == -1 || unspacedStart >= unspacedEnd || unspacedEnd <= 0) false else { //all formats can have a sign @@ -306,7 +302,6 @@ private[scala] object StringParsers { } } } - @inline def parseFloat(from: String): Option[Float] = if (checkFloatFormat(from)) Some(java.lang.Float.parseFloat(from)) diff --git a/tests/pos-special/stdlib/collection/View.scala b/scala2-library-cc/src/scala/collection/View.scala similarity index 100% rename from tests/pos-special/stdlib/collection/View.scala rename to scala2-library-cc/src/scala/collection/View.scala diff --git a/tests/pos-special/stdlib/collection/WithFilter.scala b/scala2-library-cc/src/scala/collection/WithFilter.scala similarity index 100% rename from tests/pos-special/stdlib/collection/WithFilter.scala rename to scala2-library-cc/src/scala/collection/WithFilter.scala diff --git a/tests/pos-special/stdlib/collection/concurrent/Map.scala b/scala2-library-cc/src/scala/collection/concurrent/Map.scala similarity index 100% rename from tests/pos-special/stdlib/collection/concurrent/Map.scala rename to scala2-library-cc/src/scala/collection/concurrent/Map.scala diff --git a/tests/pos-special/stdlib/collection/concurrent/TrieMap.scala b/scala2-library-cc/src/scala/collection/concurrent/TrieMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/concurrent/TrieMap.scala rename to scala2-library-cc/src/scala/collection/concurrent/TrieMap.scala diff --git a/tests/pos-special/stdlib/collection/convert/AsJavaConverters.scala b/scala2-library-cc/src/scala/collection/convert/AsJavaConverters.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/AsJavaConverters.scala rename to scala2-library-cc/src/scala/collection/convert/AsJavaConverters.scala diff --git a/tests/pos-special/stdlib/collection/convert/AsJavaExtensions.scala b/scala2-library-cc/src/scala/collection/convert/AsJavaExtensions.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/AsJavaExtensions.scala rename to scala2-library-cc/src/scala/collection/convert/AsJavaExtensions.scala diff --git a/tests/pos-special/stdlib/collection/convert/AsScalaConverters.scala b/scala2-library-cc/src/scala/collection/convert/AsScalaConverters.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/AsScalaConverters.scala rename to scala2-library-cc/src/scala/collection/convert/AsScalaConverters.scala diff --git a/tests/pos-special/stdlib/collection/convert/AsScalaExtensions.scala b/scala2-library-cc/src/scala/collection/convert/AsScalaExtensions.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/AsScalaExtensions.scala rename to scala2-library-cc/src/scala/collection/convert/AsScalaExtensions.scala diff --git a/tests/pos-special/stdlib/collection/convert/ImplicitConversions.scala b/scala2-library-cc/src/scala/collection/convert/ImplicitConversions.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/ImplicitConversions.scala rename to scala2-library-cc/src/scala/collection/convert/ImplicitConversions.scala diff --git a/tests/pos-special/stdlib/collection/convert/JavaCollectionWrappers.scala b/scala2-library-cc/src/scala/collection/convert/JavaCollectionWrappers.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/JavaCollectionWrappers.scala rename to scala2-library-cc/src/scala/collection/convert/JavaCollectionWrappers.scala diff --git a/tests/pos-special/stdlib/collection/convert/StreamExtensions.scala b/scala2-library-cc/src/scala/collection/convert/StreamExtensions.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/StreamExtensions.scala rename to scala2-library-cc/src/scala/collection/convert/StreamExtensions.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/ArrayStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/ArrayStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/ArrayStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/ArrayStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/BinaryTreeStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/BinaryTreeStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/BinaryTreeStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/BinaryTreeStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/BitSetStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/BitSetStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/BitSetStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/BitSetStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/ChampStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/ChampStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/ChampStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/ChampStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/InOrderStepperBase.scala b/scala2-library-cc/src/scala/collection/convert/impl/InOrderStepperBase.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/InOrderStepperBase.scala rename to scala2-library-cc/src/scala/collection/convert/impl/InOrderStepperBase.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/IndexedSeqStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/IndexedSeqStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/IndexedSeqStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/IndexedSeqStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/IndexedStepperBase.scala b/scala2-library-cc/src/scala/collection/convert/impl/IndexedStepperBase.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/IndexedStepperBase.scala rename to scala2-library-cc/src/scala/collection/convert/impl/IndexedStepperBase.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/IteratorStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/IteratorStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/IteratorStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/IteratorStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/NumericRangeStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/NumericRangeStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/NumericRangeStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/NumericRangeStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/RangeStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/RangeStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/RangeStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/RangeStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/StringStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/StringStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/StringStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/StringStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/TableStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/TableStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/TableStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/TableStepper.scala diff --git a/tests/pos-special/stdlib/collection/convert/impl/VectorStepper.scala b/scala2-library-cc/src/scala/collection/convert/impl/VectorStepper.scala similarity index 100% rename from tests/pos-special/stdlib/collection/convert/impl/VectorStepper.scala rename to scala2-library-cc/src/scala/collection/convert/impl/VectorStepper.scala diff --git a/tests/pos-special/stdlib/collection/generic/BitOperations.scala b/scala2-library-cc/src/scala/collection/generic/BitOperations.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/BitOperations.scala rename to scala2-library-cc/src/scala/collection/generic/BitOperations.scala diff --git a/tests/pos-special/stdlib/collection/generic/DefaultSerializationProxy.scala b/scala2-library-cc/src/scala/collection/generic/DefaultSerializationProxy.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/DefaultSerializationProxy.scala rename to scala2-library-cc/src/scala/collection/generic/DefaultSerializationProxy.scala diff --git a/tests/pos-special/stdlib/collection/generic/IsIterable.scala b/scala2-library-cc/src/scala/collection/generic/IsIterable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/IsIterable.scala rename to scala2-library-cc/src/scala/collection/generic/IsIterable.scala diff --git a/tests/pos-special/stdlib/collection/generic/IsIterableOnce.scala b/scala2-library-cc/src/scala/collection/generic/IsIterableOnce.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/IsIterableOnce.scala rename to scala2-library-cc/src/scala/collection/generic/IsIterableOnce.scala diff --git a/tests/pos-special/stdlib/collection/generic/IsMap.scala b/scala2-library-cc/src/scala/collection/generic/IsMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/IsMap.scala rename to scala2-library-cc/src/scala/collection/generic/IsMap.scala diff --git a/tests/pos-special/stdlib/collection/generic/IsSeq.scala b/scala2-library-cc/src/scala/collection/generic/IsSeq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/IsSeq.scala rename to scala2-library-cc/src/scala/collection/generic/IsSeq.scala diff --git a/tests/pos-special/stdlib/collection/generic/Subtractable.scala b/scala2-library-cc/src/scala/collection/generic/Subtractable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/Subtractable.scala rename to scala2-library-cc/src/scala/collection/generic/Subtractable.scala diff --git a/tests/pos-special/stdlib/collection/generic/package.scala b/scala2-library-cc/src/scala/collection/generic/package.scala similarity index 100% rename from tests/pos-special/stdlib/collection/generic/package.scala rename to scala2-library-cc/src/scala/collection/generic/package.scala diff --git a/tests/pos-special/stdlib/collection/immutable/ArraySeq.scala b/scala2-library-cc/src/scala/collection/immutable/ArraySeq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/ArraySeq.scala rename to scala2-library-cc/src/scala/collection/immutable/ArraySeq.scala diff --git a/tests/pos-special/stdlib/collection/immutable/BitSet.scala b/scala2-library-cc/src/scala/collection/immutable/BitSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/BitSet.scala rename to scala2-library-cc/src/scala/collection/immutable/BitSet.scala diff --git a/tests/pos-special/stdlib/collection/immutable/ChampCommon.scala b/scala2-library-cc/src/scala/collection/immutable/ChampCommon.scala similarity index 99% rename from tests/pos-special/stdlib/collection/immutable/ChampCommon.scala rename to scala2-library-cc/src/scala/collection/immutable/ChampCommon.scala index fc9bcb022874..3da269dccbd8 100644 --- a/tests/pos-special/stdlib/collection/immutable/ChampCommon.scala +++ b/scala2-library-cc/src/scala/collection/immutable/ChampCommon.scala @@ -113,7 +113,6 @@ private[immutable] abstract class ChampBaseIterator[T <: Node[T]] { // ChampBaseReverseIterator and in convert.impl.ChampStepperBase. // If you change this code, check those also in case they also // need to be modified. - protected var currentValueCursor: Int = 0 protected var currentValueLength: Int = 0 protected var currentValueNode: T = _ diff --git a/tests/pos-special/stdlib/collection/immutable/HashMap.scala b/scala2-library-cc/src/scala/collection/immutable/HashMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/HashMap.scala rename to scala2-library-cc/src/scala/collection/immutable/HashMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/HashSet.scala b/scala2-library-cc/src/scala/collection/immutable/HashSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/HashSet.scala rename to scala2-library-cc/src/scala/collection/immutable/HashSet.scala diff --git a/tests/pos-special/stdlib/collection/immutable/IntMap.scala b/scala2-library-cc/src/scala/collection/immutable/IntMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/IntMap.scala rename to scala2-library-cc/src/scala/collection/immutable/IntMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Iterable.scala b/scala2-library-cc/src/scala/collection/immutable/Iterable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Iterable.scala rename to scala2-library-cc/src/scala/collection/immutable/Iterable.scala diff --git a/tests/pos-special/stdlib/collection/immutable/LazyListIterable.scala b/scala2-library-cc/src/scala/collection/immutable/LazyListIterable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/LazyListIterable.scala rename to scala2-library-cc/src/scala/collection/immutable/LazyListIterable.scala diff --git a/tests/pos-special/stdlib/collection/immutable/List.scala b/scala2-library-cc/src/scala/collection/immutable/List.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/List.scala rename to scala2-library-cc/src/scala/collection/immutable/List.scala diff --git a/tests/pos-special/stdlib/collection/immutable/ListMap.scala b/scala2-library-cc/src/scala/collection/immutable/ListMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/ListMap.scala rename to scala2-library-cc/src/scala/collection/immutable/ListMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/ListSet.scala b/scala2-library-cc/src/scala/collection/immutable/ListSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/ListSet.scala rename to scala2-library-cc/src/scala/collection/immutable/ListSet.scala diff --git a/tests/pos-special/stdlib/collection/immutable/LongMap.scala b/scala2-library-cc/src/scala/collection/immutable/LongMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/LongMap.scala rename to scala2-library-cc/src/scala/collection/immutable/LongMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Map.scala b/scala2-library-cc/src/scala/collection/immutable/Map.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Map.scala rename to scala2-library-cc/src/scala/collection/immutable/Map.scala diff --git a/tests/pos-special/stdlib/collection/immutable/NumericRange.scala b/scala2-library-cc/src/scala/collection/immutable/NumericRange.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/NumericRange.scala rename to scala2-library-cc/src/scala/collection/immutable/NumericRange.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Queue.scala b/scala2-library-cc/src/scala/collection/immutable/Queue.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Queue.scala rename to scala2-library-cc/src/scala/collection/immutable/Queue.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Range.scala b/scala2-library-cc/src/scala/collection/immutable/Range.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Range.scala rename to scala2-library-cc/src/scala/collection/immutable/Range.scala diff --git a/tests/pos-special/stdlib/collection/immutable/RedBlackTree.scala b/scala2-library-cc/src/scala/collection/immutable/RedBlackTree.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/RedBlackTree.scala rename to scala2-library-cc/src/scala/collection/immutable/RedBlackTree.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Seq.scala b/scala2-library-cc/src/scala/collection/immutable/Seq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Seq.scala rename to scala2-library-cc/src/scala/collection/immutable/Seq.scala diff --git a/tests/pos-special/stdlib/collection/immutable/SeqMap.scala b/scala2-library-cc/src/scala/collection/immutable/SeqMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/SeqMap.scala rename to scala2-library-cc/src/scala/collection/immutable/SeqMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Set.scala b/scala2-library-cc/src/scala/collection/immutable/Set.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Set.scala rename to scala2-library-cc/src/scala/collection/immutable/Set.scala diff --git a/tests/pos-special/stdlib/collection/immutable/SortedMap.scala b/scala2-library-cc/src/scala/collection/immutable/SortedMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/SortedMap.scala rename to scala2-library-cc/src/scala/collection/immutable/SortedMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/SortedSet.scala b/scala2-library-cc/src/scala/collection/immutable/SortedSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/SortedSet.scala rename to scala2-library-cc/src/scala/collection/immutable/SortedSet.scala diff --git a/tests/pos-special/stdlib/collection/immutable/StrictOptimizedSeqOps.scala b/scala2-library-cc/src/scala/collection/immutable/StrictOptimizedSeqOps.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/StrictOptimizedSeqOps.scala rename to scala2-library-cc/src/scala/collection/immutable/StrictOptimizedSeqOps.scala diff --git a/tests/pos-special/stdlib/collection/immutable/TreeMap.scala b/scala2-library-cc/src/scala/collection/immutable/TreeMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/TreeMap.scala rename to scala2-library-cc/src/scala/collection/immutable/TreeMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/TreeSeqMap.scala b/scala2-library-cc/src/scala/collection/immutable/TreeSeqMap.scala similarity index 98% rename from tests/pos-special/stdlib/collection/immutable/TreeSeqMap.scala rename to scala2-library-cc/src/scala/collection/immutable/TreeSeqMap.scala index fe194fa9de5a..dc59d21b8b19 100644 --- a/tests/pos-special/stdlib/collection/immutable/TreeSeqMap.scala +++ b/scala2-library-cc/src/scala/collection/immutable/TreeSeqMap.scala @@ -303,7 +303,7 @@ object TreeSeqMap extends MapFactory[TreeSeqMap] { else EmptyByInsertion }.asInstanceOf[TreeSeqMap[K, V]] - def from[K, V](it: collection.IterableOnce[(K, V)]^): TreeSeqMap[K, V] = + def from[K, V](it: collection.IterableOnce[(K, V)]^): TreeSeqMap[K, V] = it match { case om: TreeSeqMap[K, V] => om case _ => (newBuilder[K, V] ++= it).result() @@ -311,10 +311,10 @@ object TreeSeqMap extends MapFactory[TreeSeqMap] { @inline private def increment(ord: Int) = if (ord == Int.MaxValue) Int.MinValue else ord + 1 - def newBuilder[K, V]: mutable.Builder[(K, V), TreeSeqMap[K, V]] = newBuilder(OrderBy.Insertion) - def newBuilder[K, V](orderedBy: OrderBy): mutable.Builder[(K, V), TreeSeqMap[K, V]] = new Builder[K, V](orderedBy) + def newBuilder[K, V]: mutable.Builder[(K, V), TreeSeqMap[K, V]] = newBuilder(OrderBy.Insertion) + def newBuilder[K, V](orderedBy: OrderBy): mutable.Builder[(K, V), TreeSeqMap[K, V]] = new Builder[K, V](orderedBy) - final class Builder[K, V](orderedBy: OrderBy) extends mutable.Builder[(K, V), TreeSeqMap[K, V]] { + final class Builder[K, V](orderedBy: OrderBy) extends mutable.Builder[(K, V), TreeSeqMap[K, V]] { private[this] val bdr = new MapBuilderImpl[K, (Int, V)] private[this] var ong = Ordering.empty[K] private[this] var ord = 0 diff --git a/tests/pos-special/stdlib/collection/immutable/TreeSet.scala b/scala2-library-cc/src/scala/collection/immutable/TreeSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/TreeSet.scala rename to scala2-library-cc/src/scala/collection/immutable/TreeSet.scala diff --git a/tests/pos-special/stdlib/collection/immutable/Vector.scala b/scala2-library-cc/src/scala/collection/immutable/Vector.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/Vector.scala rename to scala2-library-cc/src/scala/collection/immutable/Vector.scala diff --git a/tests/pos-special/stdlib/collection/immutable/VectorMap.scala b/scala2-library-cc/src/scala/collection/immutable/VectorMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/VectorMap.scala rename to scala2-library-cc/src/scala/collection/immutable/VectorMap.scala diff --git a/tests/pos-special/stdlib/collection/immutable/WrappedString.scala b/scala2-library-cc/src/scala/collection/immutable/WrappedString.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/WrappedString.scala rename to scala2-library-cc/src/scala/collection/immutable/WrappedString.scala diff --git a/tests/pos-special/stdlib/collection/immutable/package.scala b/scala2-library-cc/src/scala/collection/immutable/package.scala similarity index 100% rename from tests/pos-special/stdlib/collection/immutable/package.scala rename to scala2-library-cc/src/scala/collection/immutable/package.scala diff --git a/tests/pos-special/stdlib/collection/mutable/AnyRefMap.scala b/scala2-library-cc/src/scala/collection/mutable/AnyRefMap.scala similarity index 91% rename from tests/pos-special/stdlib/collection/mutable/AnyRefMap.scala rename to scala2-library-cc/src/scala/collection/mutable/AnyRefMap.scala index 8f1ac07e725e..480babbf4b91 100644 --- a/tests/pos-special/stdlib/collection/mutable/AnyRefMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/AnyRefMap.scala @@ -43,7 +43,7 @@ import language.experimental.captureChecking * rapidly as 2^30^ is approached. * */ -class AnyRefMap[K <: AnyRef, V] private[collection] (defaultEntry: K -> V, initialBufferSize: Int, initBlank: Boolean) +class AnyRefMap[K <: AnyRef, V] private[collection] (defaultEntry: K -> V, initialBufferSize: Int, initBlank: Boolean) extends AbstractMap[K, V] with MapOps[K, V, Map, AnyRefMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, AnyRefMap[K, V]] @@ -478,11 +478,11 @@ class AnyRefMap[K <: AnyRef, V] private[collection] (defaultEntry: K -> V, init } // The implicit dummy parameter is necessary to distinguish these methods from the base methods they overload (not override) - def map[K2 <: AnyRef, V2](f: ((K, V)) => (K2, V2))(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = + def map[K2 <: AnyRef, V2](f: ((K, V)) => (K2, V2))(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = AnyRefMap.from(new View.Map(this, f)) - def flatMap[K2 <: AnyRef, V2](f: ((K, V)) => IterableOnce[(K2, V2)])(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = + def flatMap[K2 <: AnyRef, V2](f: ((K, V)) => IterableOnce[(K2, V2)])(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = AnyRefMap.from(new View.FlatMap(this, f)) - def collect[K2 <: AnyRef, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = + def collect[K2 <: AnyRef, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit dummy: DummyImplicit): AnyRefMap[K2, V2] = strictOptimizedCollect(AnyRefMap.newBuilder[K2, V2], pf) override def clear(): Unit = { @@ -515,7 +515,7 @@ object AnyRefMap { * * This builder can be reused to create multiple instances. */ - final class AnyRefMapBuilder[K <: AnyRef, V] extends ReusableBuilder[(K, V), AnyRefMap[K, V]] { + final class AnyRefMapBuilder[K <: AnyRef, V] extends ReusableBuilder[(K, V), AnyRefMap[K, V]] { private[collection] var elems: AnyRefMap[K, V] = new AnyRefMap[K, V] def addOne(entry: (K, V)): this.type = { elems += entry @@ -527,11 +527,11 @@ object AnyRefMap { } /** Creates a new `AnyRefMap` with zero or more key/value pairs. */ - def apply[K <: AnyRef, V](elems: (K, V)*): AnyRefMap[K, V] = buildFromIterableOnce(elems) + def apply[K <: AnyRef, V](elems: (K, V)*): AnyRefMap[K, V] = buildFromIterableOnce(elems) - def newBuilder[K <: AnyRef, V]: ReusableBuilder[(K, V), AnyRefMap[K, V]] = new AnyRefMapBuilder[K, V] + def newBuilder[K <: AnyRef, V]: ReusableBuilder[(K, V), AnyRefMap[K, V]] = new AnyRefMapBuilder[K, V] - private def buildFromIterableOnce[K <: AnyRef, V](elems: IterableOnce[(K, V)]^): AnyRefMap[K, V] = { + private def buildFromIterableOnce[K <: AnyRef, V](elems: IterableOnce[(K, V)]^): AnyRefMap[K, V] = { var sz = elems.knownSize if(sz < 0) sz = 4 val arm = new AnyRefMap[K, V](sz * 2) @@ -541,10 +541,10 @@ object AnyRefMap { } /** Creates a new empty `AnyRefMap`. */ - def empty[K <: AnyRef, V]: AnyRefMap[K, V] = new AnyRefMap[K, V] + def empty[K <: AnyRef, V]: AnyRefMap[K, V] = new AnyRefMap[K, V] /** Creates a new empty `AnyRefMap` with the supplied default */ - def withDefault[K <: AnyRef, V](default: K -> V): AnyRefMap[K, V] = new AnyRefMap[K, V](default) + def withDefault[K <: AnyRef, V](default: K -> V): AnyRefMap[K, V] = new AnyRefMap[K, V](default) /** Creates a new `AnyRefMap` from an existing source collection. A source collection * which is already an `AnyRefMap` gets cloned. @@ -554,7 +554,7 @@ object AnyRefMap { * @tparam V the type of the values * @return a new `AnyRefMap` with the elements of `source` */ - def from[K <: AnyRef, V](source: IterableOnce[(K, V)]^): AnyRefMap[K, V] = source match { + def from[K <: AnyRef, V](source: IterableOnce[(K, V)]^): AnyRefMap[K, V] = source match { case source: AnyRefMap[_, _] => source.clone().asInstanceOf[AnyRefMap[K, V]] case _ => buildFromIterableOnce(source) } @@ -562,7 +562,7 @@ object AnyRefMap { /** Creates a new `AnyRefMap` from arrays of keys and values. * Equivalent to but more efficient than `AnyRefMap((keys zip values): _*)`. */ - def fromZip[K <: AnyRef, V](keys: Array[K], values: Array[V]): AnyRefMap[K, V] = { + def fromZip[K <: AnyRef, V](keys: Array[K], values: Array[V]): AnyRefMap[K, V] = { val sz = math.min(keys.length, values.length) val arm = new AnyRefMap[K, V](sz * 2) var i = 0 @@ -574,7 +574,7 @@ object AnyRefMap { /** Creates a new `AnyRefMap` from keys and values. * Equivalent to but more efficient than `AnyRefMap((keys zip values): _*)`. */ - def fromZip[K <: AnyRef, V](keys: Iterable[K]^, values: Iterable[V]^): AnyRefMap[K, V] = { + def fromZip[K <: AnyRef, V](keys: Iterable[K]^, values: Iterable[V]^): AnyRefMap[K, V] = { val sz = math.min(keys.size, values.size) val arm = new AnyRefMap[K, V](sz * 2) val ki = keys.iterator @@ -584,7 +584,7 @@ object AnyRefMap { arm } - implicit def toFactory[K <: AnyRef, V](dummy: AnyRefMap.type): Factory[(K, V), AnyRefMap[K, V]] = ToFactory.asInstanceOf[Factory[(K, V), AnyRefMap[K, V]]] + implicit def toFactory[K <: AnyRef, V](dummy: AnyRefMap.type): Factory[(K, V), AnyRefMap[K, V]] = ToFactory.asInstanceOf[Factory[(K, V), AnyRefMap[K, V]]] @SerialVersionUID(3L) private[this] object ToFactory extends Factory[(AnyRef, AnyRef), AnyRefMap[AnyRef, AnyRef]] with Serializable { @@ -592,12 +592,12 @@ object AnyRefMap { def newBuilder: Builder[(AnyRef, AnyRef), AnyRefMap[AnyRef, AnyRef]] = AnyRefMap.newBuilder[AnyRef, AnyRef] } - implicit def toBuildFrom[K <: AnyRef, V](factory: AnyRefMap.type): BuildFrom[Any, (K, V), AnyRefMap[K, V]] = ToBuildFrom.asInstanceOf[BuildFrom[Any, (K, V), AnyRefMap[K, V]]] + implicit def toBuildFrom[K <: AnyRef, V](factory: AnyRefMap.type): BuildFrom[Any, (K, V), AnyRefMap[K, V]] = ToBuildFrom.asInstanceOf[BuildFrom[Any, (K, V), AnyRefMap[K, V]]] private[this] object ToBuildFrom extends BuildFrom[Any, (AnyRef, AnyRef), AnyRefMap[AnyRef, AnyRef]] { def fromSpecific(from: Any)(it: IterableOnce[(AnyRef, AnyRef)]^) = AnyRefMap.from(it) def newBuilder(from: Any) = AnyRefMap.newBuilder[AnyRef, AnyRef] } - implicit def iterableFactory[K <: AnyRef, V]: Factory[(K, V), AnyRefMap[K, V]] = toFactory[K, V](this) - implicit def buildFromAnyRefMap[K <: AnyRef, V]: BuildFrom[AnyRefMap[_, _], (K, V), AnyRefMap[K, V]] = toBuildFrom(this) + implicit def iterableFactory[K <: AnyRef, V]: Factory[(K, V), AnyRefMap[K, V]] = toFactory[K, V](this) + implicit def buildFromAnyRefMap[K <: AnyRef, V]: BuildFrom[AnyRefMap[_, _], (K, V), AnyRefMap[K, V]] = toBuildFrom(this) } diff --git a/tests/pos-special/stdlib/collection/mutable/ArrayBuffer.scala b/scala2-library-cc/src/scala/collection/mutable/ArrayBuffer.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ArrayBuffer.scala rename to scala2-library-cc/src/scala/collection/mutable/ArrayBuffer.scala diff --git a/tests/pos-special/stdlib/collection/mutable/ArrayBuilder.scala b/scala2-library-cc/src/scala/collection/mutable/ArrayBuilder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ArrayBuilder.scala rename to scala2-library-cc/src/scala/collection/mutable/ArrayBuilder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/ArrayDeque.scala b/scala2-library-cc/src/scala/collection/mutable/ArrayDeque.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ArrayDeque.scala rename to scala2-library-cc/src/scala/collection/mutable/ArrayDeque.scala diff --git a/tests/pos-special/stdlib/collection/mutable/ArraySeq.scala b/scala2-library-cc/src/scala/collection/mutable/ArraySeq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ArraySeq.scala rename to scala2-library-cc/src/scala/collection/mutable/ArraySeq.scala diff --git a/tests/pos-special/stdlib/collection/mutable/BitSet.scala b/scala2-library-cc/src/scala/collection/mutable/BitSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/BitSet.scala rename to scala2-library-cc/src/scala/collection/mutable/BitSet.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Buffer.scala b/scala2-library-cc/src/scala/collection/mutable/Buffer.scala similarity index 99% rename from tests/pos-special/stdlib/collection/mutable/Buffer.scala rename to scala2-library-cc/src/scala/collection/mutable/Buffer.scala index 1f7fc76972a2..f9aa9cf28c72 100644 --- a/tests/pos-special/stdlib/collection/mutable/Buffer.scala +++ b/scala2-library-cc/src/scala/collection/mutable/Buffer.scala @@ -104,7 +104,6 @@ trait Buffer[A] @throws[IndexOutOfBoundsException] @throws[IllegalArgumentException] def remove(idx: Int, count: Int): Unit - /** Removes a single element from this buffer, at its first occurrence. * If the buffer does not contain that element, it is unchanged. * diff --git a/tests/pos-special/stdlib/collection/mutable/Builder.scala b/scala2-library-cc/src/scala/collection/mutable/Builder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Builder.scala rename to scala2-library-cc/src/scala/collection/mutable/Builder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/CheckedIndexedSeqView.scala b/scala2-library-cc/src/scala/collection/mutable/CheckedIndexedSeqView.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/CheckedIndexedSeqView.scala rename to scala2-library-cc/src/scala/collection/mutable/CheckedIndexedSeqView.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Cloneable.scala b/scala2-library-cc/src/scala/collection/mutable/Cloneable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Cloneable.scala rename to scala2-library-cc/src/scala/collection/mutable/Cloneable.scala diff --git a/tests/pos-special/stdlib/collection/mutable/CollisionProofHashMap.scala b/scala2-library-cc/src/scala/collection/mutable/CollisionProofHashMap.scala similarity index 95% rename from tests/pos-special/stdlib/collection/mutable/CollisionProofHashMap.scala rename to scala2-library-cc/src/scala/collection/mutable/CollisionProofHashMap.scala index 0679ab7be201..ff3bab1dd818 100644 --- a/tests/pos-special/stdlib/collection/mutable/CollisionProofHashMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/CollisionProofHashMap.scala @@ -33,7 +33,7 @@ import language.experimental.captureChecking * @define mayNotTerminateInf * @define willNotTerminateInf */ -final class CollisionProofHashMap[K, V](initialCapacity: Int, loadFactor: Double)(implicit ordering: Ordering[K]) +final class CollisionProofHashMap[K, V](initialCapacity: Int, loadFactor: Double)(implicit ordering: Ordering[K]) extends AbstractMap[K, V] with MapOps[K, V, Map, CollisionProofHashMap[K, V]] //-- with StrictOptimizedIterableOps[(K, V), Iterable, CollisionProofHashMap[K, V]] @@ -744,17 +744,17 @@ final class CollisionProofHashMap[K, V](initialCapacity: Int, loadFactor: Doubl object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { private[collection] final val ordMsg = "No implicit Ordering[${K2}] found to build a CollisionProofHashMap[${K2}, ${V2}]. You may want to upcast to a Map[${K}, ${V}] first by calling `unsorted`." - def from[K : Ordering, V](it: scala.collection.IterableOnce[(K, V)]^): CollisionProofHashMap[K, V] = { + def from[K : Ordering, V](it: scala.collection.IterableOnce[(K, V)]^): CollisionProofHashMap[K, V] = { val k = it.knownSize val cap = if(k > 0) ((k + 1).toDouble / defaultLoadFactor).toInt else defaultInitialCapacity new CollisionProofHashMap[K, V](cap, defaultLoadFactor) ++= it } - def empty[K : Ordering, V]: CollisionProofHashMap[K, V] = new CollisionProofHashMap[K, V] + def empty[K : Ordering, V]: CollisionProofHashMap[K, V] = new CollisionProofHashMap[K, V] - def newBuilder[K : Ordering, V]: Builder[(K, V), CollisionProofHashMap[K, V]] = newBuilder(defaultInitialCapacity, defaultLoadFactor) + def newBuilder[K : Ordering, V]: Builder[(K, V), CollisionProofHashMap[K, V]] = newBuilder(defaultInitialCapacity, defaultLoadFactor) - def newBuilder[K : Ordering, V](initialCapacity: Int, loadFactor: Double): Builder[(K, V), CollisionProofHashMap[K, V]] = + def newBuilder[K : Ordering, V](initialCapacity: Int, loadFactor: Double): Builder[(K, V), CollisionProofHashMap[K, V]] = new GrowableBuilder[(K, V), CollisionProofHashMap[K, V]](new CollisionProofHashMap[K, V](initialCapacity, loadFactor)) { override def sizeHint(size: Int) = elems.sizeHint(size) } @@ -766,7 +766,7 @@ object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { final def defaultInitialCapacity: Int = 16 @SerialVersionUID(3L) - private final class DeserializationFactory[K, V](val tableLength: Int, val loadFactor: Double, val ordering: Ordering[K]) extends Factory[(K, V), CollisionProofHashMap[K, V]] with Serializable { + private final class DeserializationFactory[K, V](val tableLength: Int, val loadFactor: Double, val ordering: Ordering[K]) extends Factory[(K, V), CollisionProofHashMap[K, V]] with Serializable { def fromSpecific(it: IterableOnce[(K, V)]^): CollisionProofHashMap[K, V] = new CollisionProofHashMap[K, V](tableLength, loadFactor)(ordering) ++= it def newBuilder: Builder[(K, V), CollisionProofHashMap[K, V]] = CollisionProofHashMap.newBuilder(tableLength, loadFactor)(ordering) } @@ -789,7 +789,7 @@ object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { /////////////////////////// Red-Black Tree Node - final class RBNode[K, V](var key: K, var hash: Int, var value: V, var red: Boolean, var left: RBNode[K, V], var right: RBNode[K, V], var parent: RBNode[K, V]) extends Node { + final class RBNode[K, V](var key: K, var hash: Int, var value: V, var red: Boolean, var left: RBNode[K, V], var right: RBNode[K, V], var parent: RBNode[K, V]) extends Node { override def toString: String = "RBNode(" + key + ", " + hash + ", " + value + ", " + red + ", " + left + ", " + right + ")" @tailrec def getNode(k: K, h: Int)(implicit ord: Ordering[K]): RBNode[K, V] = { @@ -820,17 +820,17 @@ object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { } } - @`inline` private def leaf[A, B](key: A, hash: Int, value: B, red: Boolean, parent: RBNode[A, B]): RBNode[A, B] = + @`inline` private def leaf[A, B](key: A, hash: Int, value: B, red: Boolean, parent: RBNode[A, B]): RBNode[A, B] = new RBNode(key, hash, value, red, null, null, parent) - @tailrec private def minNodeNonNull[A, B](node: RBNode[A, B]): RBNode[A, B] = + @tailrec private def minNodeNonNull[A, B](node: RBNode[A, B]): RBNode[A, B] = if (node.left eq null) node else minNodeNonNull(node.left) /** * Returns the node that follows `node` in an in-order tree traversal. If `node` has the maximum key (and is, * therefore, the last node), this method returns `null`. */ - private def successor[A, B](node: RBNode[A, B]): RBNode[A, B] = { + private def successor[A, B](node: RBNode[A, B]): RBNode[A, B] = { if (node.right ne null) minNodeNonNull(node.right) else { var x = node @@ -843,7 +843,7 @@ object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { } } - private final class RBNodesIterator[A, B](tree: RBNode[A, B])(implicit @unused ord: Ordering[A]) extends AbstractIterator[RBNode[A, B]] { + private final class RBNodesIterator[A, B](tree: RBNode[A, B])(implicit @unused ord: Ordering[A]) extends AbstractIterator[RBNode[A, B]] { private[this] var nextNode: RBNode[A, B] = if(tree eq null) null else minNodeNonNull(tree) def hasNext: Boolean = nextNode ne null @@ -859,7 +859,7 @@ object CollisionProofHashMap extends SortedMapFactory[CollisionProofHashMap] { /////////////////////////// Linked List Node - private final class LLNode[K, V](var key: K, var hash: Int, var value: V, var next: LLNode[K, V]) extends Node { + private final class LLNode[K, V](var key: K, var hash: Int, var value: V, var next: LLNode[K, V]) extends Node { override def toString = s"LLNode($key, $value, $hash) -> $next" private[this] def eq(a: Any, b: Any): Boolean = diff --git a/tests/pos-special/stdlib/collection/mutable/Growable.scala b/scala2-library-cc/src/scala/collection/mutable/Growable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Growable.scala rename to scala2-library-cc/src/scala/collection/mutable/Growable.scala diff --git a/tests/pos-special/stdlib/collection/mutable/GrowableBuilder.scala b/scala2-library-cc/src/scala/collection/mutable/GrowableBuilder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/GrowableBuilder.scala rename to scala2-library-cc/src/scala/collection/mutable/GrowableBuilder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/HashMap.scala b/scala2-library-cc/src/scala/collection/mutable/HashMap.scala similarity index 97% rename from tests/pos-special/stdlib/collection/mutable/HashMap.scala rename to scala2-library-cc/src/scala/collection/mutable/HashMap.scala index 1ba651b47819..89a9f3f186f7 100644 --- a/tests/pos-special/stdlib/collection/mutable/HashMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/HashMap.scala @@ -33,7 +33,7 @@ import language.experimental.captureChecking * @define willNotTerminateInf */ @deprecatedInheritance("HashMap will be made final; use .withDefault for the common use case of computing a default value", "2.13.0") -class HashMap[K, V](initialCapacity: Int, loadFactor: Double) +class HashMap[K, V](initialCapacity: Int, loadFactor: Double) extends AbstractMap[K, V] with MapOps[K, V, HashMap, HashMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, HashMap[K, V]] @@ -597,17 +597,17 @@ class HashMap[K, V](initialCapacity: Int, loadFactor: Double) @SerialVersionUID(3L) object HashMap extends MapFactory[HashMap] { - def empty[K, V]: HashMap[K, V] = new HashMap[K, V] + def empty[K, V]: HashMap[K, V] = new HashMap[K, V] - def from[K, V](it: collection.IterableOnce[(K, V)]^): HashMap[K, V] = { + def from[K, V](it: collection.IterableOnce[(K, V)]^): HashMap[K, V] = { val k = it.knownSize val cap = if(k > 0) ((k + 1).toDouble / defaultLoadFactor).toInt else defaultInitialCapacity new HashMap[K, V](cap, defaultLoadFactor).addAll(it) } - def newBuilder[K, V]: Builder[(K, V), HashMap[K, V]] = newBuilder(defaultInitialCapacity, defaultLoadFactor) + def newBuilder[K, V]: Builder[(K, V), HashMap[K, V]] = newBuilder(defaultInitialCapacity, defaultLoadFactor) - def newBuilder[K, V](initialCapacity: Int, loadFactor: Double): Builder[(K, V), HashMap[K, V]] = + def newBuilder[K, V](initialCapacity: Int, loadFactor: Double): Builder[(K, V), HashMap[K, V]] = new GrowableBuilder[(K, V), HashMap[K, V]](new HashMap[K, V](initialCapacity, loadFactor)) { override def sizeHint(size: Int) = elems.sizeHint(size) } @@ -619,7 +619,7 @@ object HashMap extends MapFactory[HashMap] { final def defaultInitialCapacity: Int = 16 @SerialVersionUID(3L) - private final class DeserializationFactory[K, V](val tableLength: Int, val loadFactor: Double) extends Factory[(K, V), HashMap[K, V]] with Serializable { + private final class DeserializationFactory[K, V](val tableLength: Int, val loadFactor: Double) extends Factory[(K, V), HashMap[K, V]] with Serializable { def fromSpecific(it: IterableOnce[(K, V)]^): HashMap[K, V] = new HashMap[K, V](tableLength, loadFactor).addAll(it) def newBuilder: Builder[(K, V), HashMap[K, V]] = HashMap.newBuilder(tableLength, loadFactor) } diff --git a/tests/pos-special/stdlib/collection/mutable/HashSet.scala b/scala2-library-cc/src/scala/collection/mutable/HashSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/HashSet.scala rename to scala2-library-cc/src/scala/collection/mutable/HashSet.scala diff --git a/tests/pos-special/stdlib/collection/mutable/HashTable.scala b/scala2-library-cc/src/scala/collection/mutable/HashTable.scala similarity index 99% rename from tests/pos-special/stdlib/collection/mutable/HashTable.scala rename to scala2-library-cc/src/scala/collection/mutable/HashTable.scala index 64af941eac1f..461df6cea22c 100644 --- a/tests/pos-special/stdlib/collection/mutable/HashTable.scala +++ b/scala2-library-cc/src/scala/collection/mutable/HashTable.scala @@ -412,7 +412,7 @@ private[collection] object HashTable { /** Class used internally. */ -private[collection] trait HashEntry[A, E <: HashEntry[A, E]] { +private[collection] trait HashEntry[A, E <: HashEntry[A, E]] { val key: A var next: E = _ } diff --git a/tests/pos-special/stdlib/collection/mutable/ImmutableBuilder.scala b/scala2-library-cc/src/scala/collection/mutable/ImmutableBuilder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ImmutableBuilder.scala rename to scala2-library-cc/src/scala/collection/mutable/ImmutableBuilder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/IndexedSeq.scala b/scala2-library-cc/src/scala/collection/mutable/IndexedSeq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/IndexedSeq.scala rename to scala2-library-cc/src/scala/collection/mutable/IndexedSeq.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Iterable.scala b/scala2-library-cc/src/scala/collection/mutable/Iterable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Iterable.scala rename to scala2-library-cc/src/scala/collection/mutable/Iterable.scala diff --git a/tests/pos-special/stdlib/collection/mutable/LinkedHashMap.scala b/scala2-library-cc/src/scala/collection/mutable/LinkedHashMap.scala similarity index 98% rename from tests/pos-special/stdlib/collection/mutable/LinkedHashMap.scala rename to scala2-library-cc/src/scala/collection/mutable/LinkedHashMap.scala index 528c39e49bdf..e3fc9d6aefd6 100644 --- a/tests/pos-special/stdlib/collection/mutable/LinkedHashMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/LinkedHashMap.scala @@ -34,7 +34,7 @@ import language.experimental.captureChecking * @define orderDependentFold */ @deprecatedInheritance("LinkedHashMap will be made final; use .withDefault for the common use case of computing a default value", "2.13.11") -class LinkedHashMap[K, V] +class LinkedHashMap[K, V] extends AbstractMap[K, V] with SeqMap[K, V] with MapOps[K, V, LinkedHashMap, LinkedHashMap[K, V]] @@ -477,20 +477,20 @@ class LinkedHashMap[K, V] @SerialVersionUID(3L) object LinkedHashMap extends MapFactory[LinkedHashMap] { - def empty[K, V] = new LinkedHashMap[K, V] + def empty[K, V] = new LinkedHashMap[K, V] - def from[K, V](it: collection.IterableOnce[(K, V)]^) = { + def from[K, V](it: collection.IterableOnce[(K, V)]^) = { val newlhm = empty[K, V] newlhm.sizeHint(it.knownSize) newlhm.addAll(it) newlhm } - def newBuilder[K, V] = new GrowableBuilder(empty[K, V]) + def newBuilder[K, V] = new GrowableBuilder(empty[K, V]) /** Class for the linked hash map entry, used internally. */ - private[mutable] final class LinkedEntry[K, V](val key: K, val hash: Int, var value: V) { + private[mutable] final class LinkedEntry[K, V](val key: K, val hash: Int, var value: V) { var earlier: LinkedEntry[K, V] = null var later: LinkedEntry[K, V] = null var next: LinkedEntry[K, V] = null diff --git a/tests/pos-special/stdlib/collection/mutable/LinkedHashSet.scala b/scala2-library-cc/src/scala/collection/mutable/LinkedHashSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/LinkedHashSet.scala rename to scala2-library-cc/src/scala/collection/mutable/LinkedHashSet.scala diff --git a/tests/pos-special/stdlib/collection/mutable/ListBuffer.scala b/scala2-library-cc/src/scala/collection/mutable/ListBuffer.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ListBuffer.scala rename to scala2-library-cc/src/scala/collection/mutable/ListBuffer.scala diff --git a/tests/pos-special/stdlib/collection/mutable/ListMap.scala b/scala2-library-cc/src/scala/collection/mutable/ListMap.scala similarity index 90% rename from tests/pos-special/stdlib/collection/mutable/ListMap.scala rename to scala2-library-cc/src/scala/collection/mutable/ListMap.scala index e4f9322050d5..26e904e271a1 100644 --- a/tests/pos-special/stdlib/collection/mutable/ListMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/ListMap.scala @@ -31,7 +31,7 @@ import language.experimental.captureChecking * @define orderDependentFold */ @deprecated("Use an immutable.ListMap assigned to a var instead of mutable.ListMap", "2.13.0") -class ListMap[K, V] +class ListMap[K, V] extends AbstractMap[K, V] with MapOps[K, V, ListMap, ListMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, ListMap[K, V]] @@ -77,7 +77,7 @@ class ListMap[K, V] @SerialVersionUID(3L) @deprecated("Use an immutable.ListMap assigned to a var instead of mutable.ListMap", "2.13.0") object ListMap extends MapFactory[ListMap] { - def empty[K, V]: ListMap[K, V] = new ListMap[K, V] - def from[K, V](it: IterableOnce[(K, V)]^): ListMap[K,V] = Growable.from(empty[K, V], it) - def newBuilder[K, V]: Builder[(K, V), ListMap[K,V]] = new GrowableBuilder(empty[K, V]) + def empty[K, V]: ListMap[K, V] = new ListMap[K, V] + def from[K, V](it: IterableOnce[(K, V)]^): ListMap[K,V] = Growable.from(empty[K, V], it) + def newBuilder[K, V]: Builder[(K, V), ListMap[K,V]] = new GrowableBuilder(empty[K, V]) } diff --git a/tests/pos-special/stdlib/collection/mutable/LongMap.scala b/scala2-library-cc/src/scala/collection/mutable/LongMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/LongMap.scala rename to scala2-library-cc/src/scala/collection/mutable/LongMap.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Map.scala b/scala2-library-cc/src/scala/collection/mutable/Map.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Map.scala rename to scala2-library-cc/src/scala/collection/mutable/Map.scala diff --git a/tests/pos-special/stdlib/collection/mutable/MultiMap.scala b/scala2-library-cc/src/scala/collection/mutable/MultiMap.scala similarity index 98% rename from tests/pos-special/stdlib/collection/mutable/MultiMap.scala rename to scala2-library-cc/src/scala/collection/mutable/MultiMap.scala index 93b0d6ae4d73..0b250a5548ef 100644 --- a/tests/pos-special/stdlib/collection/mutable/MultiMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/MultiMap.scala @@ -52,7 +52,7 @@ import language.experimental.captureChecking * @define Coll `MultiMap` */ @deprecated("Use a scala.collection.mutable.MultiDict in the scala-collection-contrib module", "2.13.0") -trait MultiMap[K, V] extends Map[K, Set[V]] { +trait MultiMap[K, V] extends Map[K, Set[V]] { /** Creates a new set. * * Classes that use this trait as a mixin can override this method diff --git a/tests/pos-special/stdlib/collection/mutable/MutationTracker.scala b/scala2-library-cc/src/scala/collection/mutable/MutationTracker.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/MutationTracker.scala rename to scala2-library-cc/src/scala/collection/mutable/MutationTracker.scala diff --git a/tests/pos-special/stdlib/collection/mutable/OpenHashMap.scala b/scala2-library-cc/src/scala/collection/mutable/OpenHashMap.scala similarity index 97% rename from tests/pos-special/stdlib/collection/mutable/OpenHashMap.scala rename to scala2-library-cc/src/scala/collection/mutable/OpenHashMap.scala index 978245d5bffb..d29be3ffea5e 100644 --- a/tests/pos-special/stdlib/collection/mutable/OpenHashMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/OpenHashMap.scala @@ -26,10 +26,10 @@ import language.experimental.captureChecking @SerialVersionUID(3L) object OpenHashMap extends MapFactory[OpenHashMap] { - def empty[K, V] = new OpenHashMap[K, V] - def from[K, V](it: IterableOnce[(K, V)]^): OpenHashMap[K,V] = empty ++= it + def empty[K, V] = new OpenHashMap[K, V] + def from[K, V](it: IterableOnce[(K, V)]^): OpenHashMap[K,V] = empty ++= it - def newBuilder[K, V]: Builder[(K, V), OpenHashMap[K,V]] = + def newBuilder[K, V]: Builder[(K, V), OpenHashMap[K,V]] = new GrowableBuilder[(K, V), OpenHashMap[K, V]](empty) /** A hash table entry. @@ -39,7 +39,7 @@ object OpenHashMap extends MapFactory[OpenHashMap] { * If its `key` is not the default value of type `Key`, the entry is occupied. * If the entry is occupied, `hash` contains the hash value of `key`. */ - final private class OpenEntry[Key, Value](var key: Key, + final private class OpenEntry[Key, Value](var key: Key, var hash: Int, var value: Option[Value]) @@ -62,7 +62,7 @@ object OpenHashMap extends MapFactory[OpenHashMap] { * @define willNotTerminateInf */ @deprecated("Use HashMap or one of the specialized versions (LongMap, AnyRefMap) instead of OpenHashMap", "2.13.0") -class OpenHashMap[Key, Value](initialSize : Int) +class OpenHashMap[Key, Value](initialSize : Int) extends AbstractMap[Key, Value] with MapOps[Key, Value, OpenHashMap, OpenHashMap[Key, Value]] with StrictOptimizedIterableOps[(Key, Value), Iterable, OpenHashMap[Key, Value]] diff --git a/tests/pos-special/stdlib/collection/mutable/PriorityQueue.scala b/scala2-library-cc/src/scala/collection/mutable/PriorityQueue.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/PriorityQueue.scala rename to scala2-library-cc/src/scala/collection/mutable/PriorityQueue.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Queue.scala b/scala2-library-cc/src/scala/collection/mutable/Queue.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Queue.scala rename to scala2-library-cc/src/scala/collection/mutable/Queue.scala diff --git a/tests/pos-special/stdlib/collection/mutable/RedBlackTree.scala b/scala2-library-cc/src/scala/collection/mutable/RedBlackTree.scala similarity index 93% rename from tests/pos-special/stdlib/collection/mutable/RedBlackTree.scala rename to scala2-library-cc/src/scala/collection/mutable/RedBlackTree.scala index 4e079bca3245..f808a4257eef 100644 --- a/tests/pos-special/stdlib/collection/mutable/RedBlackTree.scala +++ b/scala2-library-cc/src/scala/collection/mutable/RedBlackTree.scala @@ -32,25 +32,25 @@ private[collection] object RedBlackTree { // Therefore, while obtaining the size of the whole tree is O(1), knowing the number of entries inside a range is O(n) // on the size of the range. - final class Tree[A, B](var root: Node[A, B], var size: Int) { + final class Tree[A, B](var root: Node[A, B], var size: Int) { def treeCopy(): Tree[A, B] = new Tree(copyTree(root), size) } - final class Node[A, B](var key: A, var value: B, var red: Boolean, var left: Node[A, B], var right: Node[A, B], var parent: Node[A, B]) { + final class Node[A, B](var key: A, var value: B, var red: Boolean, var left: Node[A, B], var right: Node[A, B], var parent: Node[A, B]) { override def toString: String = "Node(" + key + ", " + value + ", " + red + ", " + left + ", " + right + ")" } object Tree { - def empty[A, B]: Tree[A, B] = new Tree(null, 0) + def empty[A, B]: Tree[A, B] = new Tree(null, 0) } object Node { - @`inline` def apply[A, B](key: A, value: B, red: Boolean, + @`inline` def apply[A, B](key: A, value: B, red: Boolean, left: Node[A, B], right: Node[A, B], parent: Node[A, B]): Node[A, B] = new Node(key, value, red, left, right, parent) - @`inline` def leaf[A, B](key: A, value: B, red: Boolean, parent: Node[A, B]): Node[A, B] = + @`inline` def leaf[A, B](key: A, value: B, red: Boolean, parent: Node[A, B]): Node[A, B] = new Node(key, value, red, null, null, parent) def unapply[A, B](t: Node[A, B]) = Some((t.key, t.value, t.left, t.right, t.parent)) @@ -181,7 +181,7 @@ private[collection] object RedBlackTree { // ---- insertion ---- - def insert[A, B](tree: Tree[A, B], key: A, value: B)(implicit ord: Ordering[A]): Unit = { + def insert[A, B](tree: Tree[A, B], key: A, value: B)(implicit ord: Ordering[A]): Unit = { var y: Node[A, B] = null var x = tree.root var cmp = 1 @@ -477,16 +477,16 @@ private[collection] object RedBlackTree { if (node.right ne null) transformNodeNonNull(node.right, f) } - def iterator[A: Ordering, B](tree: Tree[A, B], start: Option[A] = None, end: Option[A] = None): Iterator[(A, B)] = + def iterator[A: Ordering, B](tree: Tree[A, B], start: Option[A] = None, end: Option[A] = None): Iterator[(A, B)] = new EntriesIterator(tree, start, end) def keysIterator[A: Ordering](tree: Tree[A, _], start: Option[A] = None, end: Option[A] = None): Iterator[A] = new KeysIterator(tree, start, end) - def valuesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A] = None, end: Option[A] = None): Iterator[B] = + def valuesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A] = None, end: Option[A] = None): Iterator[B] = new ValuesIterator(tree, start, end) - private[this] abstract class TreeIterator[A, B, R](tree: Tree[A, B], start: Option[A], end: Option[A]) + private[this] abstract class TreeIterator[A, B, R](tree: Tree[A, B], start: Option[A], end: Option[A]) (implicit ord: Ordering[A]) extends AbstractIterator[R] { protected def nextResult(node: Node[A, B]): R @@ -514,19 +514,19 @@ private[collection] object RedBlackTree { setNullIfAfterEnd() } - private[this] final class EntriesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) + private[this] final class EntriesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) extends TreeIterator[A, B, (A, B)](tree, start, end) { def nextResult(node: Node[A, B]) = (node.key, node.value) } - private[this] final class KeysIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) + private[this] final class KeysIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) extends TreeIterator[A, B, A](tree, start, end) { def nextResult(node: Node[A, B]) = node.key } - private[this] final class ValuesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) + private[this] final class ValuesIterator[A: Ordering, B](tree: Tree[A, B], start: Option[A], end: Option[A]) extends TreeIterator[A, B, B](tree, start, end) { def nextResult(node: Node[A, B]) = node.value @@ -623,7 +623,7 @@ private[collection] object RedBlackTree { } /** Build a Tree suitable for a TreeMap from an ordered sequence of key/value pairs */ - def fromOrderedEntries[A, B](xs: Iterator[(A, B)], size: Int): Tree[A, B] = { + def fromOrderedEntries[A, B](xs: Iterator[(A, B)], size: Int): Tree[A, B] = { val maxUsedDepth = 32 - Integer.numberOfLeadingZeros(size) // maximum depth of non-leaf nodes def f(level: Int, size: Int): Node[A, B] = size match { case 0 => null @@ -643,7 +643,7 @@ private[collection] object RedBlackTree { new Tree(f(1, size), size) } - def copyTree[A, B](n: Node[A, B]): Node[A, B] = + def copyTree[A, B](n: Node[A, B]): Node[A, B] = if(n eq null) null else { val c = new Node(n.key, n.value, n.red, copyTree(n.left), copyTree(n.right), null) if(c.left != null) c.left.parent = c diff --git a/tests/pos-special/stdlib/collection/mutable/ReusableBuilder.scala b/scala2-library-cc/src/scala/collection/mutable/ReusableBuilder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/ReusableBuilder.scala rename to scala2-library-cc/src/scala/collection/mutable/ReusableBuilder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Seq.scala b/scala2-library-cc/src/scala/collection/mutable/Seq.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Seq.scala rename to scala2-library-cc/src/scala/collection/mutable/Seq.scala diff --git a/tests/pos-special/stdlib/collection/mutable/SeqMap.scala b/scala2-library-cc/src/scala/collection/mutable/SeqMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/SeqMap.scala rename to scala2-library-cc/src/scala/collection/mutable/SeqMap.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Set.scala b/scala2-library-cc/src/scala/collection/mutable/Set.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Set.scala rename to scala2-library-cc/src/scala/collection/mutable/Set.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Shrinkable.scala b/scala2-library-cc/src/scala/collection/mutable/Shrinkable.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Shrinkable.scala rename to scala2-library-cc/src/scala/collection/mutable/Shrinkable.scala diff --git a/tests/pos-special/stdlib/collection/mutable/SortedMap.scala b/scala2-library-cc/src/scala/collection/mutable/SortedMap.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/SortedMap.scala rename to scala2-library-cc/src/scala/collection/mutable/SortedMap.scala diff --git a/tests/pos-special/stdlib/collection/mutable/SortedSet.scala b/scala2-library-cc/src/scala/collection/mutable/SortedSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/SortedSet.scala rename to scala2-library-cc/src/scala/collection/mutable/SortedSet.scala diff --git a/tests/pos-special/stdlib/collection/mutable/Stack.scala b/scala2-library-cc/src/scala/collection/mutable/Stack.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/Stack.scala rename to scala2-library-cc/src/scala/collection/mutable/Stack.scala diff --git a/tests/pos-special/stdlib/collection/mutable/StringBuilder.scala b/scala2-library-cc/src/scala/collection/mutable/StringBuilder.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/StringBuilder.scala rename to scala2-library-cc/src/scala/collection/mutable/StringBuilder.scala diff --git a/tests/pos-special/stdlib/collection/mutable/TreeMap.scala b/scala2-library-cc/src/scala/collection/mutable/TreeMap.scala similarity index 96% rename from tests/pos-special/stdlib/collection/mutable/TreeMap.scala rename to scala2-library-cc/src/scala/collection/mutable/TreeMap.scala index dbb87a950d74..d36e1b9d207d 100644 --- a/tests/pos-special/stdlib/collection/mutable/TreeMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/TreeMap.scala @@ -29,7 +29,7 @@ import language.experimental.captureChecking * @define Coll mutable.TreeMap * @define coll mutable tree map */ -sealed class TreeMap[K, V] private (tree: RB.Tree[K, V])(implicit val ordering: Ordering[K]) +sealed class TreeMap[K, V] private (tree: RB.Tree[K, V])(implicit val ordering: Ordering[K]) extends AbstractMap[K, V] with SortedMap[K, V] with SortedMapOps[K, V, TreeMap, TreeMap[K, V]] @@ -248,11 +248,11 @@ sealed class TreeMap[K, V] private (tree: RB.Tree[K, V])(implicit val ordering: @SerialVersionUID(3L) object TreeMap extends SortedMapFactory[TreeMap] { - def from[K : Ordering, V](it: IterableOnce[(K, V)]^): TreeMap[K, V] = + def from[K : Ordering, V](it: IterableOnce[(K, V)]^): TreeMap[K, V] = Growable.from(empty[K, V], it) - def empty[K : Ordering, V]: TreeMap[K, V] = new TreeMap[K, V]() + def empty[K : Ordering, V]: TreeMap[K, V] = new TreeMap[K, V]() - def newBuilder[K: Ordering, V]: Builder[(K, V), TreeMap[K, V]] = new GrowableBuilder(empty[K, V]) + def newBuilder[K: Ordering, V]: Builder[(K, V), TreeMap[K, V]] = new GrowableBuilder(empty[K, V]) } diff --git a/tests/pos-special/stdlib/collection/mutable/TreeSet.scala b/scala2-library-cc/src/scala/collection/mutable/TreeSet.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/TreeSet.scala rename to scala2-library-cc/src/scala/collection/mutable/TreeSet.scala diff --git a/tests/pos-special/stdlib/collection/mutable/UnrolledBuffer.scala b/scala2-library-cc/src/scala/collection/mutable/UnrolledBuffer.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/UnrolledBuffer.scala rename to scala2-library-cc/src/scala/collection/mutable/UnrolledBuffer.scala diff --git a/tests/pos-special/stdlib/collection/mutable/WeakHashMap.scala b/scala2-library-cc/src/scala/collection/mutable/WeakHashMap.scala similarity index 83% rename from tests/pos-special/stdlib/collection/mutable/WeakHashMap.scala rename to scala2-library-cc/src/scala/collection/mutable/WeakHashMap.scala index 1f94281a0b59..1ccd36c3e25f 100644 --- a/tests/pos-special/stdlib/collection/mutable/WeakHashMap.scala +++ b/scala2-library-cc/src/scala/collection/mutable/WeakHashMap.scala @@ -34,7 +34,7 @@ import language.experimental.captureChecking * @define willNotTerminateInf */ @SerialVersionUID(3L) -class WeakHashMap[K, V] extends JMapWrapper[K, V](new java.util.WeakHashMap) +class WeakHashMap[K, V] extends JMapWrapper[K, V](new java.util.WeakHashMap) with JMapWrapperLike[K, V, WeakHashMap, WeakHashMap[K, V]] with MapFactoryDefaults[K, V, WeakHashMap, Iterable] { override def empty = new WeakHashMap[K, V] @@ -49,8 +49,8 @@ class WeakHashMap[K, V] extends JMapWrapper[K, V](new java.util.WeakHashMap) */ @SerialVersionUID(3L) object WeakHashMap extends MapFactory[WeakHashMap] { - def empty[K, V]: WeakHashMap[K,V] = new WeakHashMap[K, V] - def from[K, V](it: collection.IterableOnce[(K, V)]^): WeakHashMap[K,V] = Growable.from(empty[K, V], it) - def newBuilder[K, V]: Builder[(K, V), WeakHashMap[K,V]] = new GrowableBuilder(WeakHashMap.empty[K, V]) + def empty[K, V]: WeakHashMap[K,V] = new WeakHashMap[K, V] + def from[K, V](it: collection.IterableOnce[(K, V)]^): WeakHashMap[K,V] = Growable.from(empty[K, V], it) + def newBuilder[K, V]: Builder[(K, V), WeakHashMap[K,V]] = new GrowableBuilder(WeakHashMap.empty[K, V]) } diff --git a/tests/pos-special/stdlib/collection/mutable/package.scala b/scala2-library-cc/src/scala/collection/mutable/package.scala similarity index 100% rename from tests/pos-special/stdlib/collection/mutable/package.scala rename to scala2-library-cc/src/scala/collection/mutable/package.scala diff --git a/tests/pos-special/stdlib/collection/package.scala b/scala2-library-cc/src/scala/collection/package.scala similarity index 100% rename from tests/pos-special/stdlib/collection/package.scala rename to scala2-library-cc/src/scala/collection/package.scala diff --git a/tests/pos-special/stdlib/runtime/PStatics.scala b/scala2-library-cc/src/scala/runtime/PStatics.scala similarity index 100% rename from tests/pos-special/stdlib/runtime/PStatics.scala rename to scala2-library-cc/src/scala/runtime/PStatics.scala diff --git a/tests/pos-special/stdlib/collection/concurrent/BasicNode.java b/tests/pos-special/stdlib/collection/concurrent/BasicNode.java deleted file mode 100644 index c6ec91e4fde8..000000000000 --- a/tests/pos-special/stdlib/collection/concurrent/BasicNode.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Scala (https://www.scala-lang.org) - * - * Copyright EPFL and Lightbend, Inc. - * - * Licensed under Apache License 2.0 - * (http://www.apache.org/licenses/LICENSE-2.0). - * - * See the NOTICE file distributed with this work for - * additional information regarding copyright ownership. - */ - -package scala.collection.concurrent; - -public abstract class BasicNode { - - public abstract String string(int lev); - -} diff --git a/tests/pos-special/stdlib/collection/concurrent/CNodeBase.java b/tests/pos-special/stdlib/collection/concurrent/CNodeBase.java deleted file mode 100644 index ddffa365234e..000000000000 --- a/tests/pos-special/stdlib/collection/concurrent/CNodeBase.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Scala (https://www.scala-lang.org) - * - * Copyright EPFL and Lightbend, Inc. - * - * Licensed under Apache License 2.0 - * (http://www.apache.org/licenses/LICENSE-2.0). - * - * See the NOTICE file distributed with this work for - * additional information regarding copyright ownership. - */ - -package scala.collection.concurrent; - -import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; - -abstract class CNodeBase extends MainNode { - - @SuppressWarnings("unchecked") - public static final AtomicIntegerFieldUpdater> updater = - AtomicIntegerFieldUpdater.newUpdater((Class>) (Class) CNodeBase.class, "csize"); - - public volatile int csize = -1; - - public boolean CAS_SIZE(int oldval, int nval) { - return updater.compareAndSet(this, oldval, nval); - } - - public void WRITE_SIZE(int nval) { - updater.set(this, nval); - } - - public int READ_SIZE() { - return updater.get(this); - } - -} diff --git a/tests/pos-special/stdlib/collection/concurrent/Gen.java b/tests/pos-special/stdlib/collection/concurrent/Gen.java deleted file mode 100644 index 07af2983f32d..000000000000 --- a/tests/pos-special/stdlib/collection/concurrent/Gen.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Scala (https://www.scala-lang.org) - * - * Copyright EPFL and Lightbend, Inc. - * - * Licensed under Apache License 2.0 - * (http://www.apache.org/licenses/LICENSE-2.0). - * - * See the NOTICE file distributed with this work for - * additional information regarding copyright ownership. - */ - -package scala.collection.concurrent; - -final class Gen {} diff --git a/tests/pos-special/stdlib/collection/concurrent/INodeBase.java b/tests/pos-special/stdlib/collection/concurrent/INodeBase.java deleted file mode 100644 index dfb99806594f..000000000000 --- a/tests/pos-special/stdlib/collection/concurrent/INodeBase.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Scala (https://www.scala-lang.org) - * - * Copyright EPFL and Lightbend, Inc. - * - * Licensed under Apache License 2.0 - * (http://www.apache.org/licenses/LICENSE-2.0). - * - * See the NOTICE file distributed with this work for - * additional information regarding copyright ownership. - */ - -package scala.collection.concurrent; - -import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - -abstract class INodeBase extends BasicNode { - - @SuppressWarnings("unchecked") - public static final AtomicReferenceFieldUpdater, MainNode> updater = - AtomicReferenceFieldUpdater.newUpdater((Class>) (Class) INodeBase.class, (Class>) (Class) MainNode.class, "mainnode"); - - static final Object RESTART = new Object(); - - static final Object NO_SUCH_ELEMENT_SENTINEL = new Object(); - - public volatile MainNode mainnode = null; - - public final Gen gen; - - public INodeBase(Gen generation) { - gen = generation; - } - - public BasicNode prev() { - return null; - } - -} diff --git a/tests/pos-special/stdlib/collection/concurrent/MainNode.java b/tests/pos-special/stdlib/collection/concurrent/MainNode.java deleted file mode 100644 index f7f022974e9e..000000000000 --- a/tests/pos-special/stdlib/collection/concurrent/MainNode.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Scala (https://www.scala-lang.org) - * - * Copyright EPFL and Lightbend, Inc. - * - * Licensed under Apache License 2.0 - * (http://www.apache.org/licenses/LICENSE-2.0). - * - * See the NOTICE file distributed with this work for - * additional information regarding copyright ownership. - */ - -package scala.collection.concurrent; - -import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - -abstract class MainNode extends BasicNode { - - @SuppressWarnings("unchecked") - public static final AtomicReferenceFieldUpdater, MainNode> updater = - AtomicReferenceFieldUpdater.newUpdater((Class>) (Class) MainNode.class, (Class>) (Class) MainNode.class, "prev"); - - public volatile MainNode prev = null; - - public abstract int cachedSize(Object ct); - - // standard contract - public abstract int knownSize(); - - public boolean CAS_PREV(MainNode oldval, MainNode nval) { - return updater.compareAndSet(this, oldval, nval); - } - - public void WRITE_PREV(MainNode nval) { - updater.set(this, nval); - } - - // do we need this? unclear in the javadocs... - // apparently not - volatile reads are supposed to be safe - // regardless of whether there are concurrent ARFU updates - @Deprecated @SuppressWarnings("unchecked") - public MainNode READ_PREV() { - return (MainNode) updater.get(this); - } - -}