summaryrefslogtreecommitdiff
path: root/test/files
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1742 from scalamacros/ticket/4044Paul Phillips2012-12-121-6/+1
|\ | | | | prevents spurious kind bound errors
| * prevents spurious kind bound errorsEugene Burmako2012-12-101-6/+1
| | | | | | | | | | The patch adds a check which makes sure that the trees we're about to report aren't already erroneous.
* | Merge pull request #1758 from hubertp/2.10.x-issue/strip-tvarsAdriaan Moors2012-12-121-0/+25
|\ \ | | | | | | When we strip tvars we should also recursively strip their instantiation...
| * | Recurse into instantiations when stripping type vars.Hubert Plociniczak2012-12-121-0/+25
| | | | | | | | | | | | | | | | | | This led to the inference of weird types as list of lub base types was empty. This change fixes case x3 in the test case.
* | | Merge pull request #1747 from hubertp/2.10.x-issue/6758Adriaan Moors2012-12-125-22/+84
|\ \ \ | | | | | | | | Fixes SI-6758: force LazyAnnnotationInfo for DefDef and TypeDef
| * | | Fixes SI-6758: force LazyAnnnotationInfo for DefDef and TypeDefHubert Plociniczak2012-12-115-22/+84
| |/ / | | | | | | | | | | | | | | | | | | Looks like the change in 25ecde037f22ff no longer forced lazy annotations for some of the cases. Also removed forcing for PackageDef annotations as we currently don't support them.
* | | Merge pull request #1722 from vigdorchik/ide.apiAdriaan Moors2012-12-124-1/+124
|\ \ \ | | | | | | | | Extract base scaladoc functionality for the IDE.
| * | | Extract base scaladoc functionality for the IDE.Eugene Vigdorchik2012-12-124-1/+124
| | | |
* | | | Merge pull request #1737 from retronym/ticket/6555Adriaan Moors2012-12-113-2/+39
|\ \ \ \ | | | | | | | | | | SI-6555 Better parameter name retention
| * | | | SI-6555 Better parameter name retentionJason Zaugg2012-12-083-2/+39
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were losing track of parameter names in two places: 1. Uncurry was using fresh names for the apply method parameters during Function expansion. (The parameter names in the tree were actually correct, they just had synthetic symbols with "x$1" etc.) 2. When adding specialized overrides, the parameter names of the overriden method were used, rather than the parameter names from the overriding method in the class to which we are adding methods. The upshot of this is that when you're stopped in the debugger in the body of, say, `(i: Int) => i * i`, you see `v1` rather than `i`. This commit changes Uncurry and SpecializeTypes to remedy this.
* | | | Merge pull request #1752 from scalamacros/ticket/5841Adriaan Moors2012-12-1114-0/+132
|\ \ \ \ | |_|_|/ |/| | | Ticket/5841
| * | | SI-5841 reification of renamed importsAndriy Polishchuk2012-12-1114-0/+132
| |/ / | | | | | | | | | | | | | | | Reification of renamed imports is done by catching Selects with name != their tree.symbol.name, replacing this name with tree.symbol.name, and then doing reifyProduct in case of renamed terms and reifyBoundType (inner) in case of renamed types.
* | | Merge pull request #1701 from retronym/ticket/5877Adriaan Moors2012-12-102-0/+27
|\ \ \ | | | | | | | | SI-5877 Support implicit classes in package objects
| * | | SI-5877 Support implicit classes in package objectsJason Zaugg2012-12-042-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This used to crash, as both the package and the package object had the synthetic method in `decls`, and the typer tried to add the tree to both places. Now, synthetics in the package object are excluded from the pacakge itself.
* | | | Merge pull request #1691 from retronym/ticket/6558Adriaan Moors2012-12-104-0/+59
|\ \ \ \ | | | | | | | | | | SI-6558: typecheck lazy annotation info using non-silent context
| * | | | Split test case to workaround incomplete error report.Jason Zaugg2012-12-034-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | Reporting some errors prevents reporting others. This residual issue had been lodged as SI-6758.
| * | | | SI-6558 Expand test case for annotation typosJason Zaugg2012-12-022-5/+26
| | | | |
| * | | | Fixes SI-6558: typecheck lazy annotation info using non-silent context.Hubert Plociniczak2012-12-022-0/+13
| | | | | | | | | | | | | | | | | | | | Make context for typing lazy annotations always non-silent. If lazy annotation info was created in local (silent) context, error could go unnoticed because later they would still use silent typer for typing the annotation.
* | | | | Merge pull request #1733 from retronym/ticket/6614Adriaan Moors2012-12-102-0/+19
|\ \ \ \ \ | | | | | | | | | | | | SI-6614 Test case for fixed ArrayStack misconduct.
| * | | | | SI-6614 Test case for fixed ArrayStack misconduct.Jason Zaugg2012-12-082-0/+19
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not sure when it was fixed, but in 2.9.2 things were messed up: scala> (for (i <- 0 to 10) yield { val in = ArrayStack.tabulate(i)(_.toString); (in, (in filter (_ => true)) == in) }).mkString("\n") res14: String = (ArrayStack(),true) (ArrayStack(0),true) (ArrayStack(0, 1),true) (ArrayStack(1, 2, null),false) (ArrayStack(0, 1, 2, 3),true) (ArrayStack(3, 4, null, null, null),false) (ArrayStack(2, 3, 4, 5, null, null),false) (ArrayStack(1, 2, 3, 4, 5, 6, null),false) (ArrayStack(0, 1, 2, 3, 4, 5, 6, 7),true) (ArrayStack(7, 8, null, null, null, null, null, null, null),false) (ArrayStack(6, 7, 8, 9, null, null, null, null, null, null),false)
* | | | | Merge pull request #1732 from retronym/ticket/6690Adriaan Moors2012-12-101-0/+62
|\ \ \ \ \ | | | | | | | | | | | | SI-6690 Release reference to last dequeued element.
| * | | | | SI-6690 Release reference to last dequeued element.Jason Zaugg2012-12-081-0/+62
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids leaks in MutableList and its more better known child, mutable.Queue, when the last element is dequeued or when we take the tail of a one element collection. Refactors copy/pasted code between the two implementations of tail.
* | | | | Merge pull request #1729 from JamesIry/SI-5789-2_2.10.xAdriaan Moors2012-12-102-0/+28
|\ \ \ \ \ | | | | | | | | | | | | SI-5789 Removes assertion about implclass flag in Mixin.scala
| * | | | | SI-5789 Use the ReplTest framework in the testJames Iry2012-12-072-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't check for the crashed message, just dump the output from the REPL. Use the ReplTest framework to the make the test clean
| * | | | | SI-5789 Checks in the right version of the testJames Iry2012-12-071-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In my other commit I had a version of the test that didn't actually reproduce the problem because it didn't set the optimize flag
| * | | | | SI-5789 Removes assertion about implclass flag in Mixin.scalaJames Iry2012-12-072-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assertion that the class being mixed from should be an implclass seems reasonable, but the flag isn't always set. In order to stop the bleeding this fix turns the assertion into a debug warning. Issue SI-6782 will track figuring out the root cause of the missing flag.
* | | | | | Merge pull request #1713 from retronym/ticket/5894Adriaan Moors2012-12-101-0/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-5894 Don't emit static forwarders for macros.
| * | | | | | SI-5894 Don't emit static forwarders for macros.Jason Zaugg2012-12-051-0/+17
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #1711 from retronym/ticket/1672Adriaan Moors2012-12-104-0/+106
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-1672 Catches are in tail position without finally.
| * | | | | | Addtional test cases for tail calls in catches.Jason Zaugg2012-12-053-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Includes a run test to check bytecode verifies and behaves - Show this isn't possible when try is used as an expression, and a `liftedTree` local method is needed.
| * | | | | | SI-1672 Catches are in tail position without finally.Jason Zaugg2012-12-053-0/+64
| |/ / / / / | | | | | | | | | | | | | | | | | | So we can eliminate tail calls within.
* | | | | | Merge pull request #1705 from paulp/warn-case-collisionAdriaan Moors2012-12-103-0/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | Warn when generated classfiles differ only in case.
| * | | | | | 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 #1699 from retronym/ticket/6549Adriaan Moors2012-12-102-0/+54
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-6549 Improve escaping in REPL codegen.
| * | | | | | SI-6549 Improve escaping in REPL codegen.Jason Zaugg2012-12-032-0/+54
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Escape the LHS of an assign when printing results - e.g. X("").foo = bar - Escape val names - e.g. val `"` = 0`
* | | | | | Merge pull request #1692 from retronym/ticket/6547-2Adriaan Moors2012-12-102-0/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-6547: elide box unbox pair only when primitives match
| * | | | | | SI-6547: elide box unbox pair only when primitives matchMiguel Garcia2012-12-022-0/+7
| | |_|_|/ / | |/| | | |
* | | | | | 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 #1672 from jedesah/RandomAdriaan Moors2012-12-101-0/+15
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-4664 Make scala.util.Random Serializable
| * | | | | | | SI-4664 [Make scala.util.Random Serializable] Add test caseJean-Remi Desjardins2012-12-041-0/+15
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #1670 from paulp/issue/6712Adriaan Moors2012-12-101-0/+5
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | Fix for SI-6712, bug in object lifting.
| * | | | | | Fix for SI-6712, bug in object lifting.Paul Phillips2012-11-251-0/+5
| | | | | | |
* | | | | | | Merge pull request #1668 from scalamacros/topic/pre-typemacrosAdriaan Moors2012-12-0712-33/+18
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | refactors handling of parent types
| * | | | | | | introduces global.pendingSuperCallEugene Burmako2012-12-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly to global.emptyValDef, which is a dummy that stands for an empty self-type, this commit introduces global.pendingSuperCall, which stands for a yet-to-be-filled-in call to a superclass constructor. pendingSuperCall is emitted by Parsers.template, treated specially by Typers.typedParentType and replaced with a real superclass ctor call by Typers.typedTemplate. To avoid copy/paste, this commit also factors out and unifies dumminess of EmptyTree, emptyValDef and pendingSuperCall - they all don't have a position and actively refuse to gain one, same story for tpe.
| * | | | | | | refactors handling of parent typesEugene Burmako2012-12-0611-31/+16
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0630-44/+44
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 pull request #1690 from retronym/ticket/6631Adriaan Moors2012-12-061-0/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-6631 Handle invalid escapes in string interpolators