You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Correct the added Scaladoc where it did not match the implementation
Adjudicated from an independent review of this branch. Comment-only.
- LazyVals.LazyValControlState was described as a state held only while a lazy
val is unbound. NullValue is the permanent sentinel for a lazy val that
evaluated to null, so it outlives the computation.
- ModuleSerializationProxy said the resolved instance is cached per class. It
is, through ClassValue, but the ClassValueCompat fallback recomputes on every
access where java.lang.ClassValue is unavailable.
- ArrayCharSequence.charAt can also throw for a slice whose bounds fall outside
the array, since the constructor does not validate them, and toString takes
its count from the declared bounds, so a negative start shifts the window
rather than clipping it.
- ScalaRunTime.isArray described atLevel as a minimum; below 1 it never holds.
stringOf's maxElements renders nothing at all below 1.
- StructuralCallSite.find can throw NoSuchMethodException from the reflective
lookup a mega-morphic cache performs, and add records nothing and leaves the
cache alone once the site is mega-morphic.
- IntegralProxy.until and to documented only the zero-step failure; the same
deferred length computation also throws for a range of more than Int.MaxValue
elements.
- Tuples.productToArray is called for arities 1 to 22; the empty tuple is
handled separately with Array.emptyObjectArray.
- VarArgsBuilder.result returns a sequence over the whole fixed-length array
rather than only the elements added, and its n parameter is an allocation
length that nothing enforces.
Twenty-nine @return tags that merely restated a summary already beginning with
"Returns" or "Creates" are removed, across TupledFunctions, TupleXXL,
TupleMirror and the two Zipped iterables. The project's convention is to drop a
@return in exactly that case.
Declined: documenting, on each scala.runtime.java8 specialisation bridge, that
unboxing null yields a zero and that a wrongly typed argument throws
ClassCastException. Both are true of BoxesRunTime generally, these bridges are
compiler-facing rather than called directly, and there are hundreds of them.
@@ -56,7 +55,6 @@ final class TupleXXL private (es: IArray[Object]) extends Product {
56
55
* a `TupleXXL` is never equal to this tuple.
57
56
*
58
57
* @paramthat the value to compare against
59
-
* @return `true` if `that` is a `TupleXXL` equal to this tuple, `false` otherwise
60
58
*/
61
59
overridedefequals(that: Any):Boolean= that match {
62
60
casethat: TupleXXL=>
@@ -95,19 +93,16 @@ object TupleXXL {
95
93
* The iterator is fully consumed into a fresh array.
96
94
*
97
95
* @paramelems the iterator supplying the elements; must produce more than 22 values (asserted)
98
-
* @return a `TupleXXL` with the produced values as its elements
99
96
*/
100
97
deffromIterator(elems: Iterator[Any]):TupleXXL=newTupleXXL(elems.map(_.asInstanceOf[Object]).toArray.asInstanceOf[IArray[Object]]) // TODO use Iterator.toIArray
101
98
/** Creates a `TupleXXL` backed directly by `elems`; the array is not copied.
102
99
*
103
100
* @paramelems the immutable array to use as the tuple's backing storage; must have more than 22 elements (asserted)
104
-
* @return a `TupleXXL` whose elements are those of `elems`
0 commit comments