merge 2.10.x into master #2112

Merged
merged 115 commits into from Feb 11, 2013
@paulp

It's fun to finish the P-I-T-A
It's fun to finish the P-I-T-A
embrace each form of pain git knows how to inflict,
let your life become merge conflicts

kzys and others added some commits Jan 16, 2013
@kzys kzys SI-4976 Scaladoc: Add a source link to package objects d71f59e
@retronym retronym Move a test from pos to run to highlight bytecode deficiencies.
We'll address them in subsequent commits.
ee24807
@JamesIry JamesIry SI-5313 Do not eliminate stores that potentially wipe referenes
Storing to local variables of reference or array type is indirectly
observable because it potentially allows gc to collect an object. So
this commit makes DeadCodeElimination mark a store necessary if it
assigns to a local that potentially stored by a previous necessary store.
eab2884
@JamesIry JamesIry SI-5313 Eliminate more stores by replacing clobbers with null stores
When an unused store clobbers a previous store, replace it with storing
a null. Don't mark clobbers as "used" so that the original clobber and
all following clobbers can still be eliminated.
9b4fa83
@xeno-by xeno-by SI-6539 moves @compileTimeOnly away from scala-reflect
The move is done to provide forward compatibility with 2.10.0.

The annotation isn't replaced with one of the macro-based solutions
right away (see comments for more information about those), because
we lack necessary tech in 2.10.x.
2989258
@xeno-by xeno-by SI-7046 reflection now auto-initializes knownDirectSubclasses
knownDirectSubclasses joins the happy family of flags, annotations and
privateWithin, which automatically trigger initialization, when used
within runtime reflection.
2403d1d
@adriaanm adriaanm bytecode diffing support in ByteCodeTest
use sameByteCode(methodNode1, methodNode2) to check methods
compile to identical bytecode (line number info is not taken into account)
a07555f
@adriaanm adriaanm support testing bytecode similarity in ByteCodeTest
one similarity measure comes free of charge: it ignores which variable
is stored/loaded, everything else must be identical

like this: `similarBytecode(methNodeA, methNodeB, equalsModuloVar)`

also implemented prettier diffing
415becd
@adriaanm adriaanm refactor: prepare null check redundancy analysis
this commit doesn't change any behavior
62b37dd
@adriaanm adriaanm no null check for type-tested unapply arg
pattern matching on case classes where pattern
is not known to be a subclass of the unapply's argument type
used to result in code like:

```
if (x1.isInstanceOf[Foo]) {
  val x2 = x1.asInstanceOf[Foo]
  if (x2 != null) { // redundant
    ...
  }
}
```

this wastes byte code on the redundant null check
with this patch, when previous type tests imply
the variable cannot be null, there's no null check
71ea3e8
@adriaanm adriaanm don't store subpats bound to underscore
also, tweak fix in place for SI-5158 to appease SI-6941
don't store mutable fields from scala.* as we can assume
these classes are well-behaved and do not mutate their
case class fields
494ba94
@adriaanm adriaanm no type test if static type <:< primitive value class b47bb0f
@adriaanm adriaanm SI-6686 drop valdef unused in flatMapCond's block b92396b
@adriaanm adriaanm SI-6941 tests
tests that the methods' bytecodes are similar
as variable load/stores are reordered, it ignores which variables
are modified when checking for bytecode equality

the assert is: `similarBytecode(methNodeA, methNodeB, equalsModuloVar)`
b2117cf
@viktorklang viktorklang SI-7029 - Makes sure that uncaught exceptions are propagated to the U…
…EH for the global ExecutionContext
3f78bee
@phaller phaller SI-7029 - Make test more robust 5275bae
@dragos dragos Fix SI-6578. Deprecated `askType` because of possible race conditions…
… in type checker.

AskType triggers type-checks the given source and returns a typed tree. If that
source is already loaded (a precondition), the background compilation loop may actually
be compiling that same source. The new type checker run may then get into an inconsistent
state and try to add twice the same synthetic members, like `canEqual`.

Most of the times, `askLoadedTyped` (that waits for the type checker to finish, and
returns the most recent typed tree) *is* the right way to go.

Removed occurrences of the deprecated method in tests and interactive.REPL.

@reviewby @huitseeker,@odersky
a6137d1
@xeno-by xeno-by SI-7008 @throws annotations are now populated in reflect
Runtime reflection in JavaMirrors previously forgot to fill in
@throws when importing Java reflection artifacts. Now this is fixed.

Note that generic exception types used in `throws` specifications will
be garbled (i.e. erased), because we don't use `getGenericExceptionTypes`
in favor of just `getExceptionTypes` to stay compatible with the behavior
of ClassfileParser. That's a bug, but a separate one and should be fixed
separately.

Also note that this commit updated javac-artifacts.jar, because we need
to test how reflection works with javac-produced classfiles. The sources
that were used to produce those classfiles can be found in the jar next
to the classfiles.
f1701f7
@xeno-by xeno-by evicts javac-artifacts.jar
Apparently, the usual _1, _2, _3... naming scheme also works for java
files, which need to be compiled together with partests. This allows us
to get rid of javac-artifacts.jar.
adf50a3
@adriaanm adriaanm SI-7039 unapplySeq result type independent of subpattern count
Fixes a bug in the implementation of the `unapplySeq` part of the spec below.

An `unapply` method with result type `R` in an object `x` matches the
pattern `x(p_1, ..., p_n)` if it takes exactly one argument and, either:
  - `n = 0` and `R =:= Boolean`, or
  - `n = 1` and `R <:< Option[T]`, for some type `T`.
     The argument pattern `p1` is typed in turn with expected type `T`.
  - Or, `n > 1` and `R <:< Option[Product_n[T_1, ..., T_n]]`, for some
    types `T_1, ..., T_n`. The argument patterns `p_1, ..., p_n` are
    typed with expected types `T_1, ..., T_n`.

An `unapplySeq` method in an object `x` matches the pattern `x(p_1, ..., p_n)`
if it takes exactly one argument and its result type is of the form `Option[S]`,
where either:
  - `S` is a subtype of `Seq[U]` for some element type `U`, (set `m = 0`)
  - or `S` is a `ProductX[T_1, ..., T_m]` and `T_m <: Seq[U]` (`m <= n`).

The argument patterns `p_1, ..., p_n` are typed with expected types
`T_1, ..., T_m, U, ..., U`. Here, `U` is repeated `n-m` times.
8ae0e2a
@retronym retronym [backport] SI-6482, lost bounds in extension methods.
Squashed commit of the following:

commit 5c156185306ba797c0443d9dccae0ae7ce462a1f
Author: Paul Phillips <paulp@improving.org>
Date:   Sat Oct 6 15:42:50 2012 -0700

    A little more housecleaning in ExtensionMethods.

    The only real contribution is readability.
    (cherry picked from commit 61f12faacaaccf366f9211ba6493fb042a91f1d2)

    Conflicts:
    	src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala

commit 79f443edf584745d614e24fb9ca6644c6b18d439
Author: Paul Phillips <paulp@improving.org>
Date:   Sat Oct 6 14:22:19 2012 -0700

    Incorporated pull request feedback.
    (cherry picked from commit 153ccb4757718cceb219988f30381f73362e6075)

commit 707f580b0cdcb01e27ca4c76991dea427945b5bd
Author: Paul Phillips <paulp@improving.org>
Date:   Sat Oct 6 10:20:45 2012 -0700

    Fix for SI-6482, lost bounds in extension methods.

    That was a good one. How to create a new method with type
    parameters from multiple sources, herein.
    (cherry picked from commit ff9f60f420c090b6716c927ab0359b082f2299de)

commit 8889c7a13f74bc175e48aa2209549089a974c2af
Author: Paul Phillips <paulp@improving.org>
Date:   Fri Oct 5 22:19:52 2012 -0700

    Responded to comment about how many isCoercibles there are.

    I make the case that there is only one.
    (cherry picked from commit 883f1ac88dd7cec5882d42d6b48d7f267d1f6e00)
4ed8836
@retronym retronym SI-7022 Additional test case for value class w. bounds
As reported against 2.10.0, and as fixed by SI-6482,
which was backported in the previous commit.
374c912
@retronym retronym SI-7033 Be symful when creating factory methods.
Implicit class factory methods were synthesizing the
reference to the class as `Ident(classDef.name)`, which
was unhygienic in case of `implicit class X[X]`.

To use symbols without causing a cycle, I switched from
`REF(symbol)` to `Ident(symbol)`. The former calls into:

    at scala.reflect.internal.TreeGen.mkAttributedSelect(TreeGen.scala:184)
    at scala.reflect.internal.TreeGen.mkAttributedRef(TreeGen.scala:124)
    at scala.reflect.internal.TreeGen.mkAttributedRef(TreeGen.scala:130)
    at scala.tools.nsc.ast.TreeDSL$CODE$.REF(TreeDSL.scala:307)

which forces the info of enclosing module and forms a cycle.
3af838c
@xeno-by xeno-by Merge pull request #2019 from scalamacros/ticket/6539
SI-6539 moves @compileTimeOnly away from scala-reflect
ad2a69e
@retronym retronym SI-6666 Account for nesting in setting INCONSTRUCTOR
This flag is calcualed in Namers, and assigned to class
and module class symbols that are defined in self/super-calls,
and in early definitions.

For example, class D is INCONSTRUCTOR in each case below:

    class C extends Super({class D; ()})
    class C(a: Any) {
      def this(a: Any) = this({class D; ()})
    }
    new { val x = { class D; () } with Super(())

But, the calculation of this flag failed to account for
nesting, so it was not set in cases like:

    class C(a: Any) {
      def this(a: Any) = this({val x = {class D; ()}; x})
    }

This patch searches the enclosing context chain, rather than
just the immediate context. The search is terminated at the
first non term-owned context. In the following example, this
avoids marking `E` as INCONSTRUCTOR; only `D` should be.

    class C extends Super({class D { class E }; ()})

This closes SI-6259 and SI-6506, and fixes one problem
in the recently reopened SI-6957.
fd61254
@retronym retronym Broader checks for poisonous this references.
Replaces more VerifyErrors with implementation restrictions.
66fa1f2
@retronym retronym Add a test case from the comments of SI-6666.
This one lands in the new implementation restriction
which beats the VerifyError.
4c34280
@retronym retronym SI-6666 Catch VerifyErrors in the making in early defs.
As we did for self/super calls, add a backstop into
explicitouter and lambdalift to check when we try to
get an outer pointer to an under-construction instance.
275b341
@JamesIry JamesIry SI-5313 Test clobbers on the back edge of a loop
I realized I was missing a test case for a local store early in a loop
that was unused but turned out to be a clobber of a store later in the
loop.
c7d489e
@JamesIry JamesIry SI-5313 Minor code cleanup for store clobbering
Used withDefault on the localStores map to simplify the code. Added
a type alias for the (BasicBlock, Int) tuple type that was used
throughout the code to represent the location of an instruction.
4fda83f
@adriaanm adriaanm Merge pull request #2044 from phaller/issue/7029
SI-7029 - Makes sure that uncaught exceptions are propagated to the UEH ...
0bb7431
@adriaanm adriaanm Merge pull request #1911 from kzys/jira-4976
SI-4976 Scaladoc: Add a source link to package objects
d4b46f6
@kzys kzys SI-6017 Generate Scaladoc's index links in Scala side
There is no reason to do it in JavaScript.
3f0bce9
@kzys kzys SI-6017 Scaladoc: Show all letters without dangling links
Use <span> instead of <a href="..."> if there is no page on the letter.
0e8d8c7
@adriaanm adriaanm Merge pull request #2033 from adriaanm/patmat-opt
pattern matching efficiency: addresses SI-6686 and SI-6941, affects SI-5739
a4ace4b
@JamesIry JamesIry Merge pull request #1976 from retronym/backport/1468
[backport] SI-6428 / SI-7022 Value class with bounds
786a686
@retronym retronym Class symbols can't be contravariant.
During development of the fix for SI-6666, I encountered:

    % test/files/pos/t4842.scala
    test/files/pos/t4842.scala:10: error: contravariant class Bar occurs in covariant position in type ()this.Bar of constructor Bar
         this(new { class Bar { println(Bar.this); new { println(Bar.this) } }; new Bar } ) // okay

I had incorrectly set the INCONSTRUCTOR flag on the class symbol
`Bar`. (It isn't directly in the self constructor call, as it
is nested an intervening anonymous class.)

But, this flag shares a slot with CONTRAVARIANT, and the variance
validation intepreted it as such.

ClassSymbol already has this code to resolve the ambiguous
flags for display purposes:

    override def resolveOverloadedFlag(flag: Long) = flag match {
      case INCONSTRUCTOR => "<inconstructor>" // INCONSTRUCTOR / CONTRAVARIANT / LABEL
      case EXISTENTIAL   => "<existential>"   // EXISTENTIAL / MIXEDIN
      case IMPLCLASS     => "<implclass>"     // IMPLCLASS / PRESUPER
      case _             => super.resolveOverloadedFlag(flag)
    }

This commit overrides `isContravariant` to reflect the same logic.
81fa831
@Blaisorblade Blaisorblade Revert "SI-6422: add missing Fractional and Integral alias in scala p…
…ackage"

This reverts commit c6866a28faf67cd2e455f9a0a829859a73e38819 because it adds two
members to the API and so breaks forward binary compatibility.

Attention: this is only intended for 2.10.x, not for 2.11.
bc01614
@lrytz lrytz Merge pull request #2022 from lrytz/analyzerPlugins210
Analyzer Plugins
5aa225f
@xeno-by xeno-by Merge pull request #2039 from scalamacros/ticket/7046
SI-7046 reflection now auto-initializes knownDirectSubclasses
8d25d05
@JamesIry JamesIry SI-5833 Fixes tail-of-Nil problem in RefinedType#normalizeImpl
RefinedType#normalizeImpl was checking to see if the flattened list of
parents had an empty tail then pulling the head if so. But if the list
was empty then boom. This fix makes it check if the whole list has
length 1 instead. Empty lists will flow through to the rest the logic
which has no problems with Nil.
0574172
@gkossakowski gkossakowski Merge pull request #2001 from JamesIry/2.10.x_SI-5313
SI-5313 Do not eliminate stores that potentially wipe referenes
3d318be
@retronym retronym [nomerge] SI-6667 Demote a new ambiguity error to a lint warning.
In the interests of not breaking source compability.
A few projects are relying on this bug.

Should not be merged to master.
b67f8e5
@xeno-by xeno-by pullrequest feedback 0bcdf71
@xeno-by xeno-by reflecting @throws defined in Scala code
As per Jason's comment: How are Scala classes containing @throws annots
treated? I can't figure out whether we pickle the annotation in addition
to adding the exception to the signature. If we do, might we end up with
duplicate annotations in runtime reflection? This warrants a test.
See the context of the discussion here: https://github.com/scala/scala/pull/2040/files#r2874769.

No, we won't end up with duplicates, because classes defined in Scala
are loaded in a different completer. But I'll add a test - you can never
have too many of those.
02dd4c9
@xeno-by xeno-by SI-6989 privateWithin is now populated in reflect
Runtime reflection in JavaMirrors previously forgot to fill in
privateWithin when importing Java reflection artifacts. Now this is fixed.
02ed5fb
@JamesIry JamesIry Merge pull request #2060 from Blaisorblade/topic/2.10.x-fix-bc
Revert "SI-6422: add missing Fractional and Integral alias in scala package"
e403e1a
@xeno-by xeno-by [nomaster] doesn't touch NonemptyAttachments
NonemptyAttachments in macro API used to be Attachments$NonemptyAttachments.
However it's private, so noone outside scala.reflect.macros can access it,
making it ineligible for the incompatibility criterion.
7bf0ecc
@xeno-by xeno-by [nomaster] revives BuildUtils.emptyValDef
That method was unnecessary in the first place, because we already had
emptyValDef in scala.reflect.api.Trees: https://github.com/scala/scala/blob/v2.10.0/src/reflect/scala/reflect/api/Trees.scala#L2367.
That's a rudiment from the times when we were unsure what to put into
scala.reflect.base and what goes into scala.reflect.api.

Unfortunately, it's not just a harmless extraneous method. Reifier v2.10.0
emits `u.build.emptyValDef` when it needs to reify `emptyValDef`. Therefore
we need to restore it to be forward compatible.

However we don't need to rollback the changes to the reifier v2.10.1,
which now simply calls `u.emptyValDef`, because, as mentioned above,
that `emptyValDef` was already there in v2.10.0.
0e0c851
@xeno-by xeno-by [nomaster] removes Tree.canHaveAttrs
This forward compatibility fix is very easy. Have a new method in 2.10.1?
Don't expose it in the public API, and you won't have any problems.
1093ce0
@adriaanm adriaanm Merge pull request #1992 from retronym/ticket/7033
SI-7033 Be symful when creating factory methods.
59928c6
@adriaanm adriaanm Merge pull request #2040 from scalamacros/ticket/7008
SI-7008 @throws annotations are now populated in reflect
de2284b
@adriaanm adriaanm Merge pull request #2048 from dragos/issue/fix-SI-6578
Fix SI-6578. Deprecated `askType` because of possible race conditions in...
d35ccc3
@adriaanm adriaanm Merge pull request #2050 from kzys/jira-6017-v2
SI-6017 Scaladoc: Fix dangling links on index.html
893fad4
@adriaanm adriaanm Merge pull request #2063 from retronym/ticket/6667-2.10.x-revert
[nomerge] SI-6667 Demote a new ambiguity error to a lint warning.
75ca869
@adriaanm adriaanm Merge pull request #2062 from JamesIry/2.10.x_SI-5833
SI-5833 Fixes tail-of-Nil problem in RefinedType#normalizeImpl
6cfac6d
@adriaanm adriaanm Merge pull request #2051 from adriaanm/ticket-7039
SI-7039 unapplySeq result type independent of subpattern count
81d8f9d
@xeno-by xeno-by [nomaster] Revert "s/SuperCallArgs/SuperArgs/"
This reverts commit 2621918870e531b7a9bcccdf14bddea9b89804b2.
4ef2a49
@xeno-by xeno-by [nomaster] Revert "more ListOfNil => Nil"
This reverts commit bb9adfbd76af0a0281912fcef4bcaca409a7c9a3.
4d7982b
@xeno-by xeno-by [nomaster] Revert "DummyTree => CannotHaveAttrs"
This reverts commit 838cbe623c142b7005446793948097f679219fe3.

Conflicts:
	src/reflect/scala/reflect/api/Trees.scala
c720531
@retronym retronym SI-6888 Loosen criteria for $outer search.
In order to cater for nested classes with names that end
with '$', which lead to ambiguity when unmangling expanded
names.

In:

    class X { object $ }

We end up with:

    orginalName(X$$$$$outer) = $$$outer

This change modifies `outerSource` to consider that to be
and outer accessor name. It is a piecemeal fix, and no doubt
there are other nasty surprises in store for those inclined to
flash their $$$ in identifier names, but the method changed is
not used widely and this solves the reported problem.

SI-2806 remains open to address the deeper problem.
b579a42
@VladUreche VladUreche SI-7060 More conservative dead code elim marking
In dead code elimination, a DROP instruction that gets marked as useful
and can be reached via several paths needs to also mark all the reaching
definitions as useful, else we'll get unbalanced stacks on the two paths.

A simplistic example:
```
BB1:
  CALL X       // useful, leaves a LONG on the stack
  JUMP BB3

BB2:
  LOAD_FIELD Y // not useful
  JUMP BB3

BB3:
  DROP LONG    // useful because "CALL X" is useful
               // but unless we mark "LOAD_FIELD Y" as useful too
               // we'll get unbalanced stacks when reaching BB3
```

This patch addresses the unbalanced stack problem by adding all the
reaching definitions of a useful DROP as useful instructions too.
e5c0e59
@xeno-by xeno-by [nomaster] Revert "introduces global.pendingSuperCall"
This reverts commit 0ebf72b9498108e67c2133c6522c436af50a18e8.

Conflicts:
	src/compiler/scala/tools/nsc/typechecker/Typers.scala
	src/reflect/scala/reflect/internal/Trees.scala
570f4a4
@xeno-by xeno-by [nomaster] Revert "refactors handling of parent types"
This reverts commit 40063b0009d55ed527bf1625d99a168a8faa4124.

Conflicts:
	src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
	src/compiler/scala/tools/nsc/typechecker/Typers.scala
c9a0e36
@xeno-by xeno-by [nomaster] verifies compat with 2.10.0
Makes sure that the compiler understands the 2.10.0 format of super
constructor calls after the recent revert from the typemacro-compatible
format.
1f838ed
@xeno-by xeno-by introduces an exhaustive java-to-scala test
Originally composed to accommodate pull request feedback, this test has
uncovered a handful of bugs in FromJavaClassCompleter, namely:
* SI-7071 non-public ctors get lost
* SI-7072 inner classes are read incorrectly

I'm leaving the incorrect results of FromJavaClassCompleters in the check
file, so that we get notified when something changes there.
b43ae58
@JamesIry JamesIry [nomaster] SI-6773 Makes the SI-6150 changes binary compatible with 2.10
The back ported fix of SI-6150 1f0e4880ad7ad816fd82c04f6814c5b165f86981
broke binary compatibility. This commit fixes that by removing the
IndexedSeqFactory class and copy/pasting its one method around to
everything that extended it then re-adds some inner
classes needed by the binary compatibility checker.
87d52db
@scala-jenkins

Job pr-checkin-per-commit failed for 1093ce0 (results):


Took 87 s.
sad kitty

vigdorchik and others added some commits Feb 6, 2013
@vigdorchik vigdorchik Add a request to presentation compiler to fetch doc comment information.
Refactor scaladoc base functionality to allow it to be mixed in with Global in the IDE.
f784fbf
@JamesIry JamesIry Merge pull request #2059 from VladUreche/issue/7060
SI-7060 More conservative dead code elim marking
558c059
@JamesIry JamesIry Merge pull request #2064 from JamesIry/2.10.x_SI-6773
[nomaster] SI-6773 Makes the SI-6150 changes binary compatible with 2.10
b99af13
@JamesIry JamesIry SI-7070 Turn restriction on companions in pkg objs into warning
The implementation restriction created from SI-5954 in
3ef487ecb6733bfe3c13d89780ebcfc81f9a5ea0 has two problems.

1) The problematic code works fine if compile with sbt. That means the
restriction is breaking some people needlessly.

2) It's not binary compatible.

To fix all that this commit changes the error into a warning and removes
the setting used to get around the restriction.
1426fec
@JamesIry JamesIry [nomaster] Revert "SI-5017 Poor performance of :+ operator on Arrays"
This reverts commit 02b2da63409af6a28824cbb74d00d0ec04518c8d.
015ff51
@JamesIry JamesIry Merge pull request #2080 from JamesIry/2.10.x_SI-5017
[nomaster] Revert "SI-5017 Poor performance of :+ operator on Arrays"
db02585
@mads379 mads379 SI-7026: parseTree should never return a typed one
This commit fixes ticket SI-7026. This makes it safe to use
parseTree outside of the presentation compiler thread.

Solved it with an implementation that just parses the source every
time without trying to memorize anything. Added tests that checks
that

1. You get a new parse tree every time you ask for one.
2. You always get a parse tree, never a typed tree.
3. A parse tree should never contain any symbols or types [1].
4. If you ask for a parse tree and then ask for a typed tree it
   shouldn't change the parse tree you originally asked for, i.e.
   property 3 still holds.

Additionally the parser is now only interruptible when running
on the presentation compiler thread.

[1] There is an exception to this though. Some of the nodes that
the compiler generates will actually contain symbols. I've
chosen to just ignore these special cases for now.
79e774f
@aztek aztek SI-5824 Fix crashes in reify with _*
Reification crashes if "foo: _*" construct is used. This happens besause type tree is represented either with TypeTree, or with Ident (present case), and `toPreTyperTypedOrAnnotated' only matches of the former. The fix is to cover the latter too. A test is included.
96b0eff
@xeno-by xeno-by SI-6113 typeOf now works for type lambdas
It's not a problem to have an abstract type symbol in a ground type tag
if that symbol is defined in the type being reified.

This mechanics was already built in for existentials, now we extend it to
include type params of poly types.

Credit goes to @katefree
0d68a87
@retronym retronym SI-5082 Cycle avoidance between case companions
We can synthesize the case companion unapply without forcing
the info of the case class, by looking at the parameters in
the `ClassDef` tree, rather than at `sym.caseFieldAccessors`.

Access to non-public case class fields routed through the
already-renamed case accessor methods. The renamings are
conveyed via a back-channel (a per-run map, `renamedCaseAccessors`),
rather than via the types to give us enough slack to avoid
the cycle.

Some special treatment of private[this] parameters is needed
to avoid a misleading error message. Fortunately, we can
determine this without forcing the info of the case class,
by inspecting the parameter accessor trees.

This change may allow us to resurrect the case class ProductN
parentage, which was trialled but abandoned in the lead up
to 2.10.0.
a0ee6e9
@retronym retronym SI-6146 More accurate prefixes for sealed subtypes.
When analysing exhaustivity/reachability of type tests
and equality tests, the pattern matcher must construct
a set of sealed subtypes based on the prefix of the
static type of and the set of sealed descendent symbols
of that type.

Previously, it was using `memberType` for this purpose.
In simple cases, this is sufficient:

    scala> class C { class I1; object O { class I2 } }; object D extends C
    defined class C
    defined module D

    scala> typeOf[D.type] memberType typeOf[C#I1].typeSymbol
    res0: u.Type = D.I1

But, as reported in this bug, it fails when there is an
additional level of nesting:

    scala> typeOf[D.type] memberType typeOf[c.O.I2 forSome { val c: C }].typeSymbol
    res5: u.Type = C.O.I2

This commit introduces `nestedMemberType`, which uses `memberType`
recursively up the prefix chain prefix chain.

    scala> nestedMemberType(typeOf[c.O.I2 forSome { val c: C }].typeSymbol, typeOf[D.type], typeOf[C].typeSymbol)
    res6: u.Type = D.O.Id
55c9b9c
@adriaanm adriaanm Merge pull request #2068 from scalamacros/ticket/7064
[nomaster] SI-7064 Reflection: forward compat for 2.10.1
33608ff
@VladUreche VladUreche SI-7100 Fixed infinite recursion in duplicators a53e150
@adriaanm adriaanm Merge pull request #2075 from vigdorchik/tocake
Add a request to presentation compiler to fetch doc comment information.
0dd02d9
@jroper jroper [backport] SI-6478 Fixing JavaTokenParser ident
Backport of 256934160007079f473131469af2df4d023c2cfc from PR
scala/scala#1466
6052e19
@retronym retronym SI-6187 Make partial functions re-typable
 - `New(tpe)` doesn't survive a `resetAttrs` / typecheck; use
   a name instead.
 - Abandon the tree attachment that passed the default
   case from `typer` to `patmat`; this tree eluded the
   attribute reset performed in the macro. Instead, add it
   to the match. Apart from making the tree re-typable, it
   also exposes the true code structure to macros, which
   is important if they need to perform other code
   transformations.
 - Install original trees on the declared types of the
   parameters of the `applyOrElse` method to ensure that
   references to them within the method pick up the correct
   type parameter skolems upon retypechecking.
 - Propagate `TypeTree#original` through `copyAttrs`,
   which is called during tree duplication / `TreeCopiers`.
   Without this, the original trees that we installed were
   not visible anymore during `ResetAttrs`.

We are not able to reify partial functions yet -- the
particular sticking point is reification of the parentage
which is only available in the `ClassInfoType`.
dfbaaa1
@adriaanm adriaanm Merge pull request #1993 from mads379/SI-7026-2.10.x
SI-7026 Asking for a parse tree will now never result in a typed tree
033c663
@axel22 axel22 SI-6961 no structural sharing in list serialization
Revert list serialization back to what it was in 2.9.x and before.

Partial revert of a6fcd70b60 e234978dfd, which fixed SI-5374.
The ListBuffer part of the fix remains in place.
fa3b804
@JamesIry JamesIry Merge pull request #2069 from retronym/ticket/6888
SI-6888 Loosen criteria for $outer search.
4d618dc
@adriaanm adriaanm Merge pull request #2084 from scalamacros/ticket/6113
SI-6113 typeOf now works for type lambdas
427e186
@JamesIry JamesIry Merge pull request #2089 from VladUreche/issue/7100
SI-7100 Fixed infinite recursion in duplicators
bbac0c0
@JamesIry JamesIry Merge pull request #1995 from retronym/ticket/5082
SI-5082 Cycle avoidance between case companions
20b92e0
@JamesIry JamesIry Merge pull request #2079 from JamesIry/2.10.x_SI-7070
SI-7070 Turn restriction on companions in pkg objs into warning
6bcb830
@JamesIry JamesIry Merge pull request #2088 from retronym/ticket/6146
SI-6146 More accurate prefixes for sealed subtypes.
4c08eb6
@JamesIry JamesIry Merge pull request #2090 from adriaanm/rebase-pr-2011
SI-6187 Make partial functions re-typable
40056d1
@JamesIry JamesIry Merge pull request #2093 from adriaanm/ticket-6961
SI-6961 no structural sharing in list serialization
62b9e49
@lrytz lrytz SI-7096 SubstSymMap copies trees before modifying their symbols
I removed some strange code in a06d31f6a2 and replaced it by something
incorrect: SubstSymMap should never have side-effects: otherwise,
calling 'tpe1 <: tpe2' for instance would modify the symbols in
annotations of tpe2.

SubstSymMap now always creates new trees before changing them.
5258b63
@xeno-by xeno-by Merge pull request #2085 from scalamacros/ticket/5824
SI-5824 Fix crashes in reify with _*
3d75d21
@xeno-by xeno-by Merge pull request #2035 from scalamacros/ticket/6989
SI-6989 privateWithin is now populated in reflect
9164c2a
@4e6 4e6 SI-6591 Reify and path-dependent types
Reification scheme changed. Now Select an SelectFromTypeTree trees
reified appropriately, as Select and SelectFromTypeTree accordingly.
Packages and Predef object was excluded in order not to break the
existing reification scheme and not to break tests which rely on it.

Reified free terms can contain flag <stable> to make reified values
become stable identifiers. For example in the case of
reify_newimpl_15.scala

    class C {
      type T
      reify { val v: List[T] = List(2) }
    }

class C reified as free term C$value, and List[C.T] becomes
List[C$value().T], so C$value.apply() need to pass stability test
isExprSafeToInline at scala.reflect.internal.TreeInfo. For this purpose
special case for reified free terms was added to isExprSafeToInline
function.

test run/reify_newipl_30 disabled due to SI-7082
test t6591_4 moved to pending due to SI-7083
09ef873
@xeno-by xeno-by term and type reftrees are now reified uniformly
Top-level (i.e. owned by a package) => Ident(symbol)
Nested (i.e. owned by an object or a package object) => Select(owner, symbol)
Inner (i.e. owned by a static class) => selectTerm/selectType(owner, name)
Non-locatable (i.e. everything else) => see GenTrees.scala for more details

Changes w.r.t the previous approaches:
  * Top-level refs are no longer reified as Select(This(package), symbol).
    Proposed reification scheme is as resistant to resetAttrs as previous one,
    but is at the same time much shorter.
  * Refs to definitions from package objects are no longer Ident(symbol).
    Otherwise reflective compilation of things like `_ :: _` fails.
  * Contents of Predef._ and scala._ are no longer treated specially.
    This increases the size of reificode, but is more hygienic.
ce867c7
@xeno-by xeno-by accommodates pull request feedback 57c0e63
@JamesIry JamesIry Merge pull request #2091 from JamesIry/2.10.x_SI-6478
[backport] SI-6478 Fixing JavaTokenParser ident
abc87e2
@JamesIry JamesIry Merge pull request #2017 from retronym/ticket/6666
Booking more progress on SI-6666
c0d1bc4
@JamesIry JamesIry Merge pull request #2092 from lrytz/t7096
SI-7096 SubstSymMap copies trees before modifying their symbols
3b6300b
@scala-jenkins

Job pr-checkin-per-commit failed for ce867c7 (results):
Failed tests:

retronym and others added some commits Feb 4, 2013
@retronym retronym SI-5675 Discard duplicate feature warnings at a position
When -feature has not been enabled, we were double counting
identical feature warnings that were emitted at the same position.
Normal error reporting only reports the first time a warning
appears at a position; feature warning counter incrementing
should behave the same way.

@hubertp: Fixed .check files that were broken in the original commit.
e0068b9
@JamesIry JamesIry Merge pull request #2095 from hubertp/ticket/5675
SI-5675 Discard duplicate feature warnings at a position
6537d79
@JamesIry JamesIry Merge pull request #2094 from scalamacros/ticket/6591
 SI-6591 Reify and path-dependent types
23b69c1
@paulp paulp Fix for paramaccessor alias regression.
A binary incompatibility with 2.10.0 revealed a bug I had
introduced in c58647f5f2.
13caa49
@paulp paulp Expanded bytecode testing code.
def sameMethodAndFieldSignatures compares two classes to verify
they have all the same methods and fields, and no others.
22341e7
@JamesIry JamesIry Merge pull request #2100 from paulp/pr/fix-super-varargs-saved
Fixing binary compat for $super regression
db5919a
@paulp paulp Merge commit '81d8f9d3da' into merge-210
* excluded from merge:

  [nomerge] SI-6667 Demote a new ambiguity error to a lint warning.
  Revert "SI-6422: add missing Fractional and Integral alias in scala package"
  [backport] SI-6482, lost bounds in extension methods.

* commit '81d8f9d3da': (31 commits)
  reflecting @throws defined in Scala code
  pullrequest feedback
  SI-5833 Fixes tail-of-Nil problem in RefinedType#normalizeImpl
  SI-6017 Scaladoc: Show all letters without dangling links
  SI-6017 Generate Scaladoc's index links in Scala side
  SI-5313 Minor code cleanup for store clobbering
  SI-5313 Test clobbers on the back edge of a loop
  SI-7033 Be symful when creating factory methods.
  SI-7022 Additional test case for value class w. bounds
  SI-7039 unapplySeq result type independent of subpattern count
  evicts javac-artifacts.jar
  SI-7008 @throws annotations are now populated in reflect
  Fix SI-6578. Deprecated `askType` because of possible race conditions in type checker.
  SI-7029 - Make test more robust
  SI-7029 - Makes sure that uncaught exceptions are propagated to the UEH for the global ExecutionContext
  SI-6941 tests
  SI-6686 drop valdef unused in flatMapCond's block
  ...

Conflicts:
	src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
	src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
	src/reflect/scala/reflect/internal/Definitions.scala
747f6a8
@paulp paulp Merge commit '558c059227' into merge-210
* commit '558c059227':
  SI-7060 More conservative dead code elim marking

Conflicts:
	src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
6194bd7
@paulp paulp Merge commit '33608ffb28' into merge-210 2a48821
@paulp paulp Merge commit 'b43ae58f31'; commit 'b579a42ee3'; commit '81fa831609' i…
…nto merge-210

* commit 'b43ae58f31':
  introduces an exhaustive java-to-scala test
  SI-6989 privateWithin is now populated in reflect

* commit 'b579a42ee3':
  SI-6888 Loosen criteria for $outer search.

* commit '81fa831609':
  Class symbols can't be contravariant.
  SI-6666 Catch VerifyErrors in the making in early defs.
  Broader checks for poisonous this references.
  Add a test case from the comments of SI-6666.
  SI-6666 Account for nesting in setting INCONSTRUCTOR
  Move a test from pos to run to highlight bytecode deficiencies.

Conflicts:
	src/compiler/scala/tools/nsc/interpreter/IMain.scala
7dfbf07
@paulp paulp Merge commit 'f784fbfbce' into merge-210
* commit 'f784fbfbce':
  Add a request to presentation compiler to fetch doc comment information.
  Refactor scaladoc base functionality to allow it to be mixed in with Global in the IDE.

Conflicts:
	src/compiler/scala/tools/nsc/interactive/Doc.scala
0084849
@paulp paulp Merge commit '0dd02d92a3' into merge-210 ccf6bc7
@paulp paulp Merge remote-tracking branch 'origin/2.10.x' into merge-210
* origin/2.10.x:
  Fix for paramaccessor alias regression.
  Expanded bytecode testing code.
  SI-5675 Discard duplicate feature warnings at a position
  accommodates pull request feedback
  term and type reftrees are now reified uniformly
  SI-6591 Reify and path-dependent types
  SI-7096 SubstSymMap copies trees before modifying their symbols
  SI-6961 no structural sharing in list serialization
  SI-6187 Make partial functions re-typable
  [backport] SI-6478 Fixing JavaTokenParser ident
  SI-7100 Fixed infinite recursion in duplicators
  SI-6146 More accurate prefixes for sealed subtypes.
  SI-5082 Cycle avoidance between case companions
  SI-6113 typeOf now works for type lambdas
  SI-5824 Fix crashes in reify with _*
  SI-7026: parseTree should never return a typed one
  SI-7070 Turn restriction on companions in pkg objs into warning

Conflicts:
	src/compiler/scala/reflect/reify/codegen/GenSymbols.scala
	src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
	src/compiler/scala/tools/nsc/typechecker/Typers.scala
	src/compiler/scala/tools/reflect/ToolBoxFactory.scala
	src/library/scala/collection/immutable/List.scala
	src/reflect/scala/reflect/internal/TreeInfo.scala
	src/reflect/scala/reflect/internal/Types.scala
	src/reflect/scala/reflect/internal/settings/MutableSettings.scala
	src/reflect/scala/reflect/runtime/Settings.scala
	test/files/buildmanager/t2650_1/t2650_1.check
	test/files/buildmanager/t2657/t2657.check
	test/files/neg/t3234.check
	test/files/run/idempotency-this.check
	test/files/run/macro-typecheck-macrosdisabled2.check
	test/files/run/showraw_tree.check
	test/files/run/showraw_tree_ids.check
	test/files/run/showraw_tree_kinds.check
	test/files/run/showraw_tree_types_ids.check
	test/files/run/showraw_tree_types_typed.check
	test/files/run/showraw_tree_types_untyped.check
	test/files/run/showraw_tree_ultimate.check
	test/files/run/t2886.check
	test/files/run/t5225_2.check
	test/files/run/t5374.check
	test/files/run/t5374.scala
	test/files/run/t6329_repl.check
	test/files/run/toolbox_typecheck_macrosdisabled2.check
22d315d
@scala-jenkins

Job pr-rangepos-per-commit failed for 2989258 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@2989258"on PR #2112

Job pr-checkin-per-commit failed for 2989258 (results):


Took 14 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@2989258"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for b2117cf (results):


Took 4 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@b2117cf"on PR #2112

Job pr-rangepos-per-commit failed for b2117cf (results):


Took 4 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@b2117cf"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 374c912 (results):


Took 55 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@374c912"on PR #2112

Job pr-rangepos-per-commit failed for 374c912 (results):


Took 14 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@374c912"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 4ed8836 (results):


Took 37 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@4ed8836"on PR #2112

Job pr-checkin-per-commit failed for 4ed8836 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@4ed8836"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for ad2a69e (results):


Took 22 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@ad2a69e"on PR #2112

Job pr-rangepos-per-commit failed for ad2a69e (results):


Took 21 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@ad2a69e"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 0bb7431 (results):


Took 14 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@0bb7431"on PR #2112

Job pr-rangepos-per-commit failed for 0bb7431 (results):


Took 17 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@0bb7431"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for d4b46f6 (results):


Took 15 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@d4b46f6"on PR #2112

Job pr-checkin-per-commit failed for d4b46f6 (results):


Took 20 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@d4b46f6"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 786a686 (results):


Took 56 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@786a686"on PR #2112

Job pr-rangepos-per-commit failed for 786a686 (results):


Took 38 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@786a686"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 5aa225f (results):


Took 13 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@5aa225f"on PR #2112

Job pr-checkin-per-commit failed for 5aa225f (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@5aa225f"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 8d25d05 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@8d25d05"on PR #2112

Job pr-checkin-per-commit failed for 8d25d05 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@8d25d05"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for a4ace4b (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@a4ace4b"on PR #2112

Job pr-checkin-per-commit failed for a4ace4b (results):


Took 15 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@a4ace4b"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 3d318be (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@3d318be"on PR #2112

Job pr-checkin-per-commit failed for 3d318be (results):


Took 14 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@3d318be"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 7bf0ecc (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@7bf0ecc"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for e403e1a (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@e403e1a"on PR #2112

Job pr-checkin-per-commit failed for e403e1a (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@e403e1a"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for de2284b (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@de2284b"on PR #2112

Job pr-checkin-per-commit failed for de2284b (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@de2284b"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 59928c6 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@59928c6"on PR #2112

Job pr-rangepos-per-commit failed for 59928c6 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@59928c6"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for d35ccc3 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@d35ccc3"on PR #2112

Job pr-checkin-per-commit failed for d35ccc3 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@d35ccc3"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 6cfac6d (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@6cfac6d"on PR #2112

Job pr-checkin-per-commit failed for 6cfac6d (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@6cfac6d"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 558c059 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@558c059"on PR #2112

Job pr-rangepos-per-commit failed for 558c059 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@558c059"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 75ca869 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@75ca869"on PR #2112

Job pr-checkin-per-commit failed for 75ca869 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@75ca869"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 893fad4 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@893fad4"on PR #2112

Job pr-checkin-per-commit failed for 893fad4 (results):


Took 12 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@893fad4"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 81d8f9d (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@81d8f9d"on PR #2112

Job pr-rangepos-per-commit failed for 81d8f9d (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@81d8f9d"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 4d7982b (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@4d7982b"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for c9a0e36 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@c9a0e36"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 015ff51 (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@015ff51"on PR #2112

Job pr-checkin-per-commit failed for 015ff51 (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@015ff51"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for b99af13 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@b99af13"on PR #2112

Job pr-rangepos-per-commit failed for b99af13 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@b99af13"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 1426fec (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@1426fec"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for db02585 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@db02585"on PR #2112

Job pr-checkin-per-commit failed for db02585 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@db02585"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 0d68a87 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@0d68a87"on PR #2112

Job pr-rangepos-per-commit failed for 0d68a87 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@0d68a87"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 55c9b9c (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@55c9b9c"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 96b0eff (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@96b0eff"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 33608ff (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@33608ff"on PR #2112

Job pr-checkin-per-commit failed for 33608ff (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@33608ff"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 6052e19 (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@6052e19"on PR #2112

Job pr-checkin-per-commit failed for 6052e19 (results):


Took 13 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@6052e19"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for a53e150 (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@a53e150"on PR #2112

Job pr-rangepos-per-commit failed for a53e150 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@a53e150"on PR #2112

The Scala Programming Language member

@scala-jenkins: Bad kitteh, bad kitteh, no forgive! Commenting ugly stuff on people's commits won't get you any hamburgerz.

@scala-jenkins

Job pr-rangepos-per-commit failed for 033c663 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@033c663"on PR #2112

Job pr-checkin-per-commit failed for 033c663 (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@033c663"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 0dd02d9 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@0dd02d9"on PR #2112

Job pr-rangepos-per-commit failed for 0dd02d9 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@0dd02d9"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for dfbaaa1 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@dfbaaa1"on PR #2112

Job pr-rangepos-per-commit failed for dfbaaa1 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@dfbaaa1"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 4d618dc (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@4d618dc"on PR #2112

Job pr-checkin-per-commit failed for 4d618dc (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@4d618dc"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for bbac0c0 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@bbac0c0"on PR #2112

Job pr-checkin-per-commit failed for bbac0c0 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@bbac0c0"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 427e186 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@427e186"on PR #2112

Job pr-checkin-per-commit failed for 427e186 (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@427e186"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 6bcb830 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@6bcb830"on PR #2112

Job pr-checkin-per-commit failed for 6bcb830 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@6bcb830"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 20b92e0 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@20b92e0"on PR #2112

Job pr-checkin-per-commit failed for 20b92e0 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@20b92e0"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 4c08eb6 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@4c08eb6"on PR #2112

Job pr-checkin-per-commit failed for 4c08eb6 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@4c08eb6"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for 40056d1 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@40056d1"on PR #2112

Job pr-rangepos-per-commit failed for 40056d1 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@40056d1"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 62b9e49 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@62b9e49"on PR #2112

Job pr-checkin-per-commit failed for 62b9e49 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@62b9e49"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 3d75d21 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@3d75d21"on PR #2112

Job pr-checkin-per-commit failed for 3d75d21 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@3d75d21"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 3b6300b (results):


Took 8 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@3b6300b"on PR #2112

Job pr-checkin-per-commit failed for 3b6300b (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@3b6300b"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for c0d1bc4 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@c0d1bc4"on PR #2112

Job pr-checkin-per-commit failed for c0d1bc4 (results):


Took 12 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@c0d1bc4"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 9164c2a (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@9164c2a"on PR #2112

Job pr-checkin-per-commit failed for 9164c2a (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@9164c2a"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for abc87e2 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@abc87e2"on PR #2112

Job pr-checkin-per-commit failed for abc87e2 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@abc87e2"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for e0068b9 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@e0068b9"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 6537d79 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@6537d79"on PR #2112

Job pr-checkin-per-commit failed for 6537d79 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@6537d79"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for 23b69c1 (results):


Took 10 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@23b69c1"on PR #2112

Job pr-checkin-per-commit failed for 23b69c1 (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@23b69c1"on PR #2112

@scala-jenkins

Job pr-checkin-per-commit failed for db5919a (results):


Took 9 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@db5919a"on PR #2112

Job pr-rangepos-per-commit failed for db5919a (results):


Took 11 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@db5919a"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for b92396b (results):


Took 4 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@b92396b"on PR #2112

Job pr-checkin-per-commit failed for b92396b (results):


Took 4 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@b92396b"on PR #2112

@scala-jenkins

Job pr-rangepos-per-commit failed for b47bb0f (results):


Took 4 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@b47bb0f"on PR #2112

Job pr-checkin-per-commit failed for b47bb0f (results):


Took 5 min.
sad kitty
to rebuild, comment "PLS REBUILD/pr-checkin-per-commit@b47bb0f"on PR #2112

@paulp

Well, that's mighty helpful there jenkins.

Here is the sole relevant test run: https://scala-webapps.epfl.ch/jenkins/job/pr-rangepos-per-commit/529/console

@scala-jenkins

Job pr-rangepos-per-commit failed for 0084849 (results):
Failed tests:

Job pr-checkin-per-commit failed for 0084849 (results):
Failed tests:

@scala-jenkins

Job pr-rangepos-per-commit failed for ccf6bc7 (results):
Failed tests:

Job pr-checkin-per-commit failed for ccf6bc7 (results):
Failed tests:

@paulp

Kitteh doesn't seem to think it's worth mentioning, but I do:

BUILD SUCCESSFUL
Total time: 71 minutes 36 seconds
Notifying upstream projects of job completion
Finished: SUCCESS
@JamesIry

LGTM based on my intensive study of all 3,187 additions and 912 deletions.

@JamesIry JamesIry merged commit 8a46441 into scala:master Feb 11, 2013

1 check failed

Details default pr-checkin-per-commit failed: Took 14 s.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment