summaryrefslogtreecommitdiff
path: root/test/files/neg
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | Warn when generated classfiles differ only in case.Paul Phillips2012-12-053-0/+22
| | |/ / / | | | | | | | | | | | | | | | | | | | | We should most likely prohibit it completely, but warning is a start.
| * | | | Merge pull request #1700 from retronym/ticket/6535Adriaan Moors2012-12-102-0/+21
| |\ \ \ \ | | | | | | | | | | | | SI-6535 Step back from the precipice of a cycle
| | * | | | SI-6535 Step back from the precipice of a cycleJason Zaugg2012-12-042-0/+21
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding any non-local parent to WrapAsScala will trigger a valid cyclic reference error. By moving the import of `Wrapper._` inside `WrapAsScala` and `WrapAsJava`, it is not in scope when typing the parents of those, and we avoid the cycle. Adds a test case to show the essense of the promiscious mutual imports that triggers this.
| * | | | Merge pull request #1675 from retronym/ticket/6667-2Adriaan Moors2012-12-104-0/+61
| |\ \ \ \ | | |_|_|/ | |/| | | SI-6667 Abort after any ambiguous in-scope implicit
| | * | | SI-6667 Abort after any ambiguous in-scope implicitJason Zaugg2012-11-264-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than continuing on to a search of implicits of the expected type. Previously, the companion implicits were searched if the the caller was running the implicit search in silent mode, for example if searching for an implicit parameter in an application which has an expected type. After this commit, the behaviour is consistent, regardless on silent/non-silent typing.
| * | | | Merge pull request #1668 from scalamacros/topic/pre-typemacrosAdriaan Moors2012-12-0710-28/+13
| |\ \ \ \ | | | | | | | | | | | | refactors handling of parent types
| | * | | | refactors handling of parent typesEugene Burmako2012-12-0610-28/+13
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment parser does too much w.r.t handling of parent types. It checks whether a parent can have value arguments or not and more importantly, it synthesizes constructors and super calls. This approach is fundamentally incompatible with upcoming type macros. Take for example the following two snippets of code: `class C extends A(2)` `class D extends A(2) with B(3)` In the first snippet, `A` might be a type macro, therefore the super call `A.super(2)` eagerly emitted by the parser might be meaningless. In the second snippet parser will report an error despite that `B` might be a type macro which expands into a trait. Unfortunately we cannot simply augment the parser with the `isTypeMacro` check. This is because to find out whether an identifier refers to a type macro, one needs to perform a typecheck, which the parser cannot do. Therefore we need a deep change in how parent types and constructors are processed by the compiler, which is implemented in this commit.
| * / | | SI-6696 removes "helper" tree factory methodsEugene Burmako2012-12-061-2/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As experience shows, these methods can easily be a source of confusion for the newcomers: https://issues.scala-lang.org/browse/SI-6696. I'm only leaving the TypeTree(tp) factory, since the facility to set underlying types for type trees is not exposed in the public API, as it's inherently mutable.
* | | | Merge branch 'merge-2.10-wip' into merge-2.10Paul Phillips2012-12-057-2/+24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10-wip: Fixing OSGi distribution. Fix for rangepos crasher. SI-6685 fixes error handling in typedApply Test cases for SI-5726, SI-5733, SI-6320, SI-6551, SI-6722. Asserts about Tree qualifiers. Fix for SI-6731, dropped trees in selectDynamic. neg test added SI-5753 macros cannot be loaded when inherited from a class or a trait Take advantage of the margin stripping interpolator. Adds a margin stripping string interpolator. SI-6718 fixes a volatile test Mark pattern matcher synthetics as SYNTHETIC. Set symbol flags at creation. Fix for SI-6687, wrong isVar logic. Fix for SI-6706, Symbol breakage under GC. findEntry implementation code more concise and DRYer. Fix for SI-6357, cycle with value classes. Refactoring of adaptMethod SI-6677 Insert required cast in `new qual.foo.T` Conflicts: src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/reflect/scala/reflect/internal/SymbolTable.scala src/reflect/scala/reflect/internal/util/package.scala test/files/neg/gadts1.check
| * | | Merge pull request #1682 from paulp/assert-about-qualifierPaul Phillips2012-12-031-2/+2
| |\ \ \ | | |_|/ | |/| | Asserts about Tree qualifiers.
| | * | Asserts about Tree qualifiers.Paul Phillips2012-11-291-2/+2
| | | | | | | | | | | | | | | | | | | | Encoding recent revelations about certain tree invariants in the form of asserts.
| * | | neg test addedmartende2012-11-276-0/+22
| |/ /
| * | Merge pull request #1663 from paulp/merge-2.10.wip-xAdriaan Moors2012-11-251-2/+8
| |\ \ | | | | | | | | Merge 2.10.0-wip into 2.10.x.
| * \ \ Merge pull request #1647 from adriaanm/backport-1626-2.10.xAdriaan Moors2012-11-252-0/+10
| |\ \ \ | | |_|/ | |/| | Fix for SI-6357, cycle with value classes.
| | * | Fix for SI-6357, cycle with value classes.Paul Phillips2012-11-192-0/+10
| | | | | | | | | | | | | | | | Don't force the owner info.
* | | | Fix for SerialVersionUID instability.Paul Phillips2012-11-252-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can hardly believe this has been broken for a decade or so, but there it is - see test case. Four classes attempt to set their SerialVersionUID to 13. One succeeds. No warnings or errors. The output before this patch (for me anyway - your random numbers may differ) was: 860336111422349646 13 8409527228024057943 -7852527872932878365 There was already code in place for rejecting annotations with non-constant args when constant args are required, but that check is only performed on ClassfileAnnotations, and SerialVersionUID was a StaticAnnotation. Maybe people don't reach for ClassfileAnnotation because of this giant warning which I see no way to suppress: warning: Implementation restriction: subclassing Classfile does not make your annotation visible at runtime. If that is what you want, you must write the annotation class in Java. Why did I change the name of the field from uid to value? If you don't use the name 'value', you have to name the argument every time you use it, even if it's the only parameter. I didn't relish breaking every usage of scala's @SerialVersionUID in the known universe.
* | | | Merge branch 'merge-2.10.wip-x' into merge-2.10.x-masterPaul Phillips2012-11-233-2/+33
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10.wip-x: (24 commits) SI-6023 reify abstract vals Removing controversial `either` method from Futures API. SI-6695 Test case for fixed Array match bug adds comments to standard attachments SI-6673 fixes macro problems with eta expansions Restore the opimization apparently lost after merge. SI-6624 set info of case pattern binder to help find case field accessors Scaladoc update for collection.mutable.MultiMap SI-6663: don't ignore type parameter on selectDynamic invocation SI-6551: don't insert apply call in polymorphic expression. SI-6634 Fixes data corruption issue in ListBuffer#remove Fixes SI-6628, Revert "Fix for view isEmpty." SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method Fixes SI-6150 - backport to 2.10.x branch. SI-5330, SI-6014 deal with existential self-type Fixes SI-6559 - StringContext not using passed in escape function. SI-6648 copyAttrs must preserve TypeTree#wasEmpty Fix raw string interpolator: string parts which were after the first argument were still escaped sane printing of renamed imports SI-6440 Address regressions around MissingRequirementError ... Conflicts: src/library/scala/collection/generic/IndexedSeqFactory.scala src/library/scala/collection/mutable/ListBuffer.scala src/reflect/scala/reflect/internal/Symbols.scala src/reflect/scala/reflect/internal/Types.scala test/files/run/t6150.scala
| * | | Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10.wip-xPaul Phillips2012-11-231-2/+8
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Zaugg (8) and others # Via Adriaan Moors (6) and Josh Suereth (5) * origin/2.10.0-wip: Removing controversial `either` method from Futures API. SI-6624 set info of case pattern binder to help find case field accessors Fixes SI-6628, Revert "Fix for view isEmpty." SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method Fixes SI-6559 - StringContext not using passed in escape function. SI-6648 copyAttrs must preserve TypeTree#wasEmpty Fix raw string interpolator: string parts which were after the first argument were still escaped Update comment. SI-6646 `ident` or Ident is always new binding. SI-6440 Address regressions around MissingRequirementError Refine the message and triggering of MissingRequirementError. SI-6640 Better reporting of deficient classpaths. SI-6644 Account for varargs in extmethod forwarder SI-6646 Fix regression in for desugaring. Update tools/epfl-publish
| | * | SI-6440 Address regressions around MissingRequirementErrorJason Zaugg2012-11-131-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Go back to using globalError to report when a stub's info is referenced, and only throw the MissingRequirementError when compilation really must abort due to having a StubTermSymbol in a place where a StubClassSymbol would have been a better choice. This situation arises when an entire package is missing from the classpath, as was the case in the reported bug. Adds `StoreReporterDirectTest`, which buffers messages issued during compilation for more structured interrogation. Use this in two test for manifests -- these tests were using a crude means of grepping compiler console output to focus on the relevant output, but this approach was insufficient with the new multi-line error message emitted as part of this change. Also used that base test class to add two new tests: one for the reported error (package missing), and another for a simpler error (class missing). The latter test shows how stub symbols allow code to compile if it doesn't the subset of signatures in some type that refer to a missing class. Gave the INFO/WARNING/ERROR members of Reporter sensible toString implementations; they inherit from Enumeration#Value in an unusual manner (why?) that means the built in toString of Enumeration printed `Severity@0`.
| * | | SI-6663: don't ignore type parameter on selectDynamic invocationJan Niehusmann2012-11-162-0/+25
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix mkInvoke to handle selectDynamic calls of the form new C.foo[T].xyz or new C.foo[T].xyz :U (where C extends Dynamic) Without this patch, the type parameter was silently ignored, and possibly inferred to a different. This patch fixes mkInvoke to handle these cases, where ctxTree has the form Select(TypeApply(fun, targs), nme) or Typed(...)
* | | Merge pull request #1640 from paulp/xdevAdriaan Moors2012-11-201-1/+1
|\ \ \ | | | | | | | | Added -Xdev setting... you know, for devs
| * | | Added -Xdev setting... you know, for devsPaul Phillips2012-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A setting we developers can give all the time and expect to hear useful things without being buried in debugging output. As the comment says: This is for WARNINGS which should reach the ears of scala developers whenever they occur, but are not useful for normal users. They should be precise, explanatory, and infrequent. Please don't use this as a logging mechanism. !!! is prefixed to all messages issued via this route to make them visually distinct. This is what I always intended for "debugwarn", the method I have deprecated in favor of the more accurate: def devWarning(msg: => String): Unit In this VERY SAME COMMIT, I performed the CLOSELY RELATED task of quieting down an -Xlint warning which had become too noisy thanks to implicit classes tickling it. I tightened that warn condition to include both -Xlint and -Xdev.
* | | | Merge pull request #1626 from paulp/issue/6357Adriaan Moors2012-11-192-0/+10
|\ \ \ \ | |/ / / |/| | | Fix for SI-6357, cycle with value classes.
| * | | Fix for SI-6357, cycle with value classes.Paul Phillips2012-11-142-0/+10
| | | | | | | | | | | | | | | | Don't force the owner info.
* | | | Merge pull request #1623 from paulp/merge-2.10.xAdriaan Moors2012-11-164-1/+27
|\ \ \ \ | | | | | | | | | | Merge 2.10.0-wip/.x into master
| | \ \ \
| | \ \ \
| *-. \ \ \ Merge remote-tracking branches 'origin/2.10.x' and 'origin/2.10.0-wip' into ↵Paul Phillips2012-11-144-1/+27
| |\ \ \ \ \ | | |_|/ / / | |/| | / / | | | |/ / | | |/| / | | | |/ | | | | master Conflicts: src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
| | * | Merge pull request #1585 from retronym/ticket/6539-2Eugene Burmako2012-11-143-0/+26
| | |\ \ | | | | | | | | | | SI-6539 Annotation for methods unfit for post-typer ASTs
| | | * | Refine @compileTimeOnlyJason Zaugg2012-11-083-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't default the message, and show it exclusively. - Fix cut-and-pasto in the @since tag - Be tolerant if the annotaion class is missing, as seems to have been the case compiling the continuations plugin. - s/\t/ / in the test file to show the errors are positioned correctly. - Use defensive getOrElse
| | | * | SI-6539 Annotation for methods unfit for post-typer ASTsJason Zaugg2012-11-063-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivated by the `.value` method in the SBT task-syntax branch, which should only be called within the context of the argument to a setting initialization macro. The facility is akin to a fatal deprecation.
| | * | | better error when typetagging local classesEugene Burmako2012-11-121-1/+1
| | |/ / | | | | | | | | | | | | Inspired by https://issues.scala-lang.org/browse/SI-6649
* | / / Error for SI-6355, overloading of applyDynamic.Paul Phillips2012-11-142-0/+17
|/ / / | | | | | | | | | | | | | | | As long as it can never be called anyway, seems like we'd be doing people a kindness to fail the compile rather than letting it be ambiguous at every use site.
* | | Warn about unused imports.Paul Phillips2012-11-073-0/+170
| | | | | | | | | | | | | | | | | | | | | Hidden behind -Xlint as usual. This commit also includes further simplification of the symbol lookup logic which I unearthed on the way to reporting unused imports. Plus unusually comprehensive documentation of same.
* | | Merge commit 'refs/pull/1574/head' into merge-210Paul Phillips2012-11-053-0/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'refs/pull/1574/head': (24 commits) Fixing issue where OSGi bundles weren't getting used for distribution. Fixes example in Type.asSeenFrom Fix for SI-6600, regression with ScalaNumber. SI-6562 Fix crash with class nested in @inline method Brings copyrights in Scaladoc footer and manpage up-to-date, from 2011/12 to 2013 Brings all copyrights (in comments) up-to-date, from 2011/12 to 2013 SI-6606 Drops new icons in, replaces abstract types placeholder icons SI-6132 Revisited, cleaned-up, links fixed, spelling errors fixed, rewordings Labeling scala.reflect and scala.reflect.macros experimental in the API docs Typo-fix in scala.concurrent.Future, thanks to @pavelpavlov Remove implementation details from Position (they are still under reflection.internal). It probably needs more cleanup of the api wrt to ranges etc but let's leave it for later SI-6399 Adds API docs for Any and AnyVal Removing actors-migration from main repository so it can live on elsewhere. Fix for SI-6597, implicit case class crasher. SI-6578 Harden against synthetics being added more than once. SI-6556 no assert for surprising ctor result type Removing actors-migration from main repository so it can live on elsewhere. Fixes SI-6500 by making erasure more regular. Modification to SI-6534 patch. Fixes SI-6559 - StringContext not using passed in escape function. ... Conflicts: src/actors-migration/scala/actors/migration/StashingActor.scala src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala src/compiler/scala/tools/nsc/settings/AestheticSettings.scala src/compiler/scala/tools/nsc/transform/Erasure.scala src/library/scala/Application.scala src/library/scala/collection/immutable/GenIterable.scala.disabled src/library/scala/collection/immutable/GenMap.scala.disabled src/library/scala/collection/immutable/GenSeq.scala.disabled src/library/scala/collection/immutable/GenSet.scala.disabled src/library/scala/collection/immutable/GenTraversable.scala.disabled src/library/scala/collection/mutable/GenIterable.scala.disabled src/library/scala/collection/mutable/GenMap.scala.disabled src/library/scala/collection/mutable/GenSeq.scala.disabled src/library/scala/collection/mutable/GenSet.scala.disabled src/library/scala/collection/mutable/GenTraversable.scala.disabled src/library/scala/collection/parallel/immutable/ParNumericRange.scala.disabled
| * | Merge branch '2.10.0-wip' into merge-2.10.0Josh Suereth2012-11-053-0/+28
| |\|
| | * Modification to SI-6534 patch.Paul Phillips2012-10-302-1/+7
| | | | | | | | | | | | | | | | | | Only exclude hashCode and equals from being overridden in value classes, not other synthetics which may turn up such as case class methods.
| | * New take on SI-6534, value classes.Paul Phillips2012-10-243-0/+22
| | | | | | | | | | | | | | | Don't prohibit equals and hashCode in universal traits; instead, always override them in value classes.
| * | Fix for SI-6597, implicit case class crasher.Paul Phillips2012-10-312-0/+9
| | | | | | | | | | | | | | | | | | | | | It seems to me like every call to scope.lookup in the compiler is a latent bug. If a symbol is overloaded, you get one at random. (See the FIXME comment in f5c336d5660 for more on this.)
* | | Merge pull request #1554 from paulp/scope-lookupPaul Phillips2012-11-041-3/+1
|\ \ \ | | | | | | | | Improvements to scope lookup.
| * | | The improvements made possible by the scope changes.Paul Phillips2012-11-021-3/+1
| | | |
* | | | Merge pull request #1565 from retronym/ticket/6567Josh Suereth2012-11-043-0/+21
|\ \ \ \ | | | | | | | | | | SI-6567 Warning for Option(implicitView(foo))
| * | | | SI-6567 Warning for Option(implicitView(foo))Jason Zaugg2012-11-033-0/+21
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've seen the reported problem before in the wild. It seems worthy of a special warning, so long as we advocate Option.apply as an alternative to `if (x == null) Some(x) else None`. It is behind -Xlint at the moment, an option that could do with some promotion.
* | | | Merge pull request #1564 from paulp/issue/441Paul Phillips2012-11-042-11/+91
|\ \ \ \ | | | | | | | | | | Expanded unused warnings.
| * | | | Expanded unused warnings.Paul Phillips2012-11-032-11/+91
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now warns on unused private and local terms and types. In addition it warns when a local var is read-only past the point of its creation - something I never would have guessed would be such a gold mine. Over 100 vars in trunk turn into vals.
* / / / Fix for SI-6426, importable _.Paul Phillips2012-11-032-0/+12
|/ / / | | | | | | | | | Prohibit `_` as an identifier, it can only bring badness.
* | | Warn about unused private members.Paul Phillips2012-11-013-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | Warnings enabled via -Xlint. It's one of the most requested features. And it is hard to argue we don't need it: see the 99 methods removed in the next commit. This should close SI-440.
* | | Merge pull request #1521 from paulp/whats-in-a-nameAdriaan Moors2012-11-018-22/+109
|\ \ \ | | | | | | | | Saving symbol lookup from typedIdent.
| * | | Tests for SI-3160, SI-4537, import precedence.Paul Phillips2012-10-238-22/+109
| | | |
* | | | Fix for SI-6597, implicit case class crasher.Paul Phillips2012-10-312-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems to me like every call to scope.lookup in the compiler is a latent bug. If a symbol is overloaded, you get one at random. (See the FIXME comment in f5c336d5660 for more on this.)
* | | | Merge branch 'merge-2.10.0-wip' into merge-2.10.xPaul Phillips2012-10-314-3/+65
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10.0-wip: Use Typed rather than .setType Wider use and a new variant of typedPos. SI-6575 Plug inference leak of AbstractPartialFun Remove compiler phases that don't influence scaladoc generation. Disabled generation of _1, _2, etc. methods. SI-6526 Additional test case. Fix SI-6552, regression with self types. avoid single-art assert where harmful in duration-tck Fix for SI-6537, inaccurate unchecked warning. Crash on missing accessor (internal bug in the lazy vals implementation) instead of trying to recover from the bug Incorporated changes suggested in code review Added one more test for SI-6358 Closes SI-6358. Move accessor generation for lazy vals to typers. SI-6526 Tail call elimination should descend deeper. Remove unneeded calls to substring() Changes Tree and Type members from vals to defs. Scaladoc knows the package structure of the libraries, so don't include them in external documentation setting. Fixes SI-6170: issue with dragging scaladoc splitter over central iframe Added a Swing ColorChooser wrapper Added a Swing PopupMenu wrapper Conflicts: src/compiler/scala/reflect/reify/phases/Reshape.scala src/compiler/scala/tools/nsc/typechecker/Duplicators.scala src/continuations/plugin/scala/tools/selectivecps/SelectiveCPSTransform.scala src/reflect/scala/reflect/internal/Types.scala test/files/neg/unchecked-knowable.check
| * | Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10.0-wipPaul Phillips2012-10-314-3/+65
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Zaugg (5) and others # Via Josh Suereth (5) and others * origin/2.10.0-wip: Use Typed rather than .setType Wider use and a new variant of typedPos. SI-6575 Plug inference leak of AbstractPartialFun Disabled generation of _1, _2, etc. methods. SI-6526 Additional test case. Fix SI-6552, regression with self types. avoid single-art assert where harmful in duration-tck Fix for SI-6537, inaccurate unchecked warning. SI-6526 Tail call elimination should descend deeper. Changes Tree and Type members from vals to defs. Fixes SI-6170: issue with dragging scaladoc splitter over central iframe