summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * | | | SI-7336 - Link flatMapped promises to avoid memory leaksRich Dougherty2013-07-065-24/+580
| | | |/ / /
| | * | | | Merge pull request #2666 from som-snytt/issue/7265-spec-at-leastAdriaan Moors2013-07-123-10/+98
| | |\ \ \ \ | | | | | | | | | | | | | | SI-7265 General test for spec version
| | | * | | | SI-7265 General test for spec versionSom Snytt2013-07-043-10/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test for isJavaAtLeast uses the specification.version. The method argument must have the form "major.minor". The scaladoc is updated to reflect the new reality and a test is added under junit. Note that this implementation aims to be a simple compromise between the functional and imperative camps, that is, to be free of both closures and while loops. And to elicit no cruft like regexes and wrappers for strings. No doubt even more could be done in this department, but we don't wish to spoil the fun on codegolf.stackexchange.com. However, we might decide to sponsor a new site: codereviewpingpong.com For 2.10.x, javaSpecVersion is provided as a private member. The active test is under `run` and the `junit` test must bide its time in `pending`. For 2.11, the private members can be public and the app test replaced with the unit test.
| | * | | | | Merge pull request #2721 from retronym/ticket/7649Adriaan Moors2013-07-123-8/+29
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-7649 Fix positions for reshaped tag materializers
| | | * | | | | SI-7649 Fix positions for reshaped tag materializersJason Zaugg2013-07-113-8/+29
| | | | |/ / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calls to `materializeClassTag[T]` are replaced during reification with `implicitly[ClassTag[T]]` in the `reify` macro. This is done to avoid referring to symbols in scala-compiler.jar. Class- and Type-Tag materialization is treated in the same way. This commit positions the replacement trees to avoid triggering assertions under -Yrangepos.
| | * | | | | Merge pull request #2716 from SethTisue/terribly-important-typo-fixAdriaan Moors2013-07-122-2/+2
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | fix typo in BigInt/BigDecimal deprecation messages
| | | * | | | | fix typo in BigInt/BigDecimal deprecation messagesSeth Tisue2013-07-082-2/+2
| | | |/ / / /
| | * | | | | Merge pull request #2689 from scalamacros/ticket/7617Adriaan Moors2013-07-1210-3/+122
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-7617 typedAssign no longer expands lhs
| | | * | | | | SI-7617 typedAssign no longer expands lhsEugene Burmako2013-07-097-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that setter and updateDynamic macros work as intended rather than in some cases expanding incorrectly or prematurely. Setter invocations are desugared from assignments of values to getters. If a typecheck of an assignment's lhs yields an invocation of a getter, then the assignment is rewritten into an invocation of a setter. However if a getter is a macro, then it just expands, destroying the prerequisite for desugaring. Therefore we need to disable expansion for the typecheck of an lhs. Similar thing happens to updateDynamic that first desugars a getter invocation into q"$target.updateDynamic($fieldName)" and then expects typedAssign to rewrite the corresponding Assign node into an additional application of a partially applied updateDynamic to a rhs. Here we also need to disable the typecheck of an lhs, because macros cannot be partially applied.
| | | * | | | | makes it more convenient to work with SuppressMacroExpansionAttachmentEugene Burmako2013-06-284-2/+69
| | | | | | | |
| | * | | | | | Merge pull request #2712 from VladUreche/issue/7638Adriaan Moors2013-07-122-1/+52
| | |\ \ \ \ \ \ | | | |_|/ / / / | | |/| | | | | SI-7638 Superaccessor lookup after specialization
| | | * | | | | SI-7638 Superaccessor lookup after specializationVlad Ureche2013-07-082-1/+52
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash was caused by a symbol lookup to rewire the super calls, done after pickler, but specialization added new traits and new members, thus making the super rewiring impossible. To avoid such problems, this patch moves symbol lookup after specialization, so the changes done by specialization (and miniboxing) become visible to mixin. NOTE: This patch will be followed by a similar patch to master. Review by @adriaanm or @retronym.
* | | | | | | Merge pull request #2739 from retronym/ticket/7668Adriaan Moors2013-07-292-0/+15
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7668 Better return type inheritance for dep. method types
| * | | | | | | SI-7668 Better return type inheritance for dep. method typesJason Zaugg2013-07-162-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return type inheritance already handles substitution of type parameters of the overriding method for those of the overriding. This commit extends this to do the same for parameter symbols.
* | | | | | | | Merge pull request #2737 from retronym/ticket/7669Adriaan Moors2013-07-297-7/+40
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-7669 Fix exhaustivity warnings for recursive ADTs.
| * | | | | | | | SI-7669 Fix exhaustivity warnings for recursive ADTs.Jason Zaugg2013-07-177-7/+40
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pattern matcher's analysis was correctly finding models under which the match in the enclosed test could fail. But, when trying to render that model as a counter example, it ran into an internal inconsistency and gave up. That inconsistency arose from VariableAssignment, which: > turn the variable assignments into a tree > the root is the scrutinee (x1), edges are labelled > by the fields that are assigned a node is a variable > example (which is later turned into a counter example) In the process, it notes the unreachable case `V2 = NotHandled`, which can only arise if `V1 = Op`, ie the scrutinee is `Op(NotHandled())`. V2 is assosicated with the path `x1.arg`. The code then looked for any variable assosicated with the prefix `x1` and registered that its field `arg` was assosicated with this variable assignment. However, the assignment for `V1 = NotHandled` (another missing case) is also associated with the path `x1`. Registering this field makes no sense here; we should only do that for `Op`. This commit conditionally registers the fields based on the class of `VariableAssignment#cls`. We no longer hit the inconsistency in `VariableAssignment#allFieldAssignmentsLegal`. This favourably changes the results of two existing tests. I had to tweak the counter example pruning to avoid relying on CounterExample.==, which is flaky in the light of Nil and List(). It is possible to have: A, B where A != B && A.coveredBy(B) && B.coveredBy(A) Luckily it is straightforward to implement pruning entirely with coveredBy.
* | | | | | | | Merge pull request #2690 from soc/SI-7620Adriaan Moors2013-07-298-57/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-7620 Remove floating-point-literals-without-digit-after-dot
| * | | | | | | | SI-7620 Remove floating-point-literals-without-digit-after-dotSimon Ochsenreither2013-06-288-57/+7
| | | | | | | | |
* | | | | | | | | Merge pull request #2733 from soc/SI-6811-textGrzegorz Kossakowski2013-07-271-0/+8
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | SI-6811 Deprecate scala.text
| * | | | | | | | | SI-6811 Deprecate scala.textSimon Ochsenreither2013-07-141-0/+8
| | |/ / / / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #2751 from soc/SI-7592-defaultmapmodelGrzegorz Kossakowski2013-07-271-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | SI-7592 Deprecate s.c.m.DefaultMapModel
| * | | | | | | | | SI-7592 Deprecate s.c.m.DefaultMapModelSimon Ochsenreither2013-07-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | “This class is used internally.” — No, it isn't. It isn't used anywhere else either and it doesn't add much benefit, considering that it lacks documentation and has no tests at all.
* | | | | | | | | | Merge pull request #2754 from soc/SI-7679-remove-standardscalasettings-makeGrzegorz Kossakowski2013-07-271-2/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7679 Remove deprecated StandardScalaSettings#make
| * | | | | | | | | | SI-7679 Remove deprecated StandardScalaSettings#makeSimon Ochsenreither2013-07-201-2/+0
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2756 from soc/SI-7681-dead-code-settinggroupGrzegorz Kossakowski2013-07-271-7/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7681 Remove dead code in s.t.n.s.AbsScalaSettings
| * | | | | | | | | | SI-7681 Remove dead code in s.t.n.s.AbsScalaSettingsSimon Ochsenreither2013-07-201-7/+0
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2758 from soc/SI-7681-dead-code-phasesGrzegorz Kossakowski2013-07-273-60/+8
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7681 Remove Phases, clean up TableDef
| * | | | | | | | | | SI-7681 Clean up scala.reflect.internal.util.TableDefSimon Ochsenreither2013-07-202-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... now that scala.tools.nsc.Phases is gone.
| * | | | | | | | | | SI-7681 Remove scala.tools.nsc.PhasesSimon Ochsenreither2013-07-201-43/+0
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2757 from soc/SI-7681-dead-code-changesGrzegorz Kossakowski2013-07-271-221/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7681 Remove s.t.n.d.Changes (dead code)
| * | | | | | | | | | SI-7681 Remove s.t.n.d.Changes (dead code)Simon Ochsenreither2013-07-201-221/+0
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2765 from retronym/ticket/7689Grzegorz Kossakowski2013-07-272-1/+9
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7689 Fix typing regression with default arguments
| * | | | | | | | | | SI-7689 Fix typing regression with default argumentsJason Zaugg2013-07-242-1/+9
| | |_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regressed in e28c3edda4. That commit encoded upper/lower bounds of Any/Nothing as EmptyTree, which were triggering the .isEmpty check in Namers#TypeTreeSubstitutor and resulting in the default getter having TypeTree() as the return type. This resulted in a "missing parmameter type" error. This commit tightens up that condition to only consider empty TypeTrees (those wrapping null or NoType.)
* | | | | | | | | | Merge pull request #2766 from xuwei-k/request/mergeable-either-value-classGrzegorz Kossakowski2013-07-271-1/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | MergeableEither extends AnyVal
| * | | | | | | | | | MergeableEither extends AnyValxuwei-k2013-07-241-1/+1
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2772 from som-snytt/issue/6123-fix-testGrzegorz Kossakowski2013-07-276-9/+33
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7695 Macro debug output on -explaintypes
| * | | | | | | | | | SI-7695 Macro debug output on -explaintypesSom Snytt2013-07-276-9/+33
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like checkConforms should wait for error before using explainTypes, rather than turning on macro debug trace if explaintypes is set. In particular, macro debug output is Console.println instead of reporter.echo or similar, so partest can't test it.
* | | | | | | | | | Merge pull request #2773 from folone/no-scalaxGrzegorz Kossakowski2013-07-275-241/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Cleanup of scalap.
| * | | | | | | | | | Removing unused things from scalap.folone2013-07-255-241/+0
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #2778 from xuwei-k/fix-promise-scaladocGrzegorz Kossakowski2013-07-271-2/+2
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | fix Promise scaladoc
| * | | | | | | | | | fix Promise scaladocxuwei-k2013-07-271-2/+2
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #2779 from xuwei-k/Universe-typoGrzegorz Kossakowski2013-07-271-2/+2
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | fix typo. s/Universes/Universe
| * | | | | | | | | | fix typo. s/Universes/Universexuwei-k2013-07-271-2/+2
|/ / / / / / / / / /
* | | | | | | | | | Merge pull request #2736 from som-snytt/issue/7488-chase-delayed-initAdriaan Moors2013-07-253-18/+113
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | SI-7488 REPL javap finds new style delayedEndpoint
| * | | | | | | | | SI-7488 REPL javap finds new style delayedEndpointSom Snytt2013-07-153-18/+113
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The REPL :java -app command is a convenience to locate the body of DelayedInit code. Now it will look for new style delayedEndpoints on the class before it falls back to showing the apply method of the delayedInit$body closure. ``` apm@mara:~/tmp$ skala Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information. scala> :javap -pv -app delayed.C public final void delayedEndpoint$delayed$C$1(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: getstatic #29 // Field scala/Predef$.MODULE$:Lscala/Predef$; 3: ldc #31 // String this is the initialization code of C 5: invokevirtual #35 // Method scala/Predef$.println:(Ljava/lang/Object;)V 8: return LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Ldelayed/C; LineNumberTable: line 11: 0 scala> :q apm@mara:~/tmp$ rm delayed/*.class apm@mara:~/tmp$ scalac delayed.scala apm@mara:~/tmp$ skala Welcome to Scala version 2.11.0-20130711-153246-eb1c3137f5 (OpenJDK 64-Bit Server VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information. scala> :javap -pv -app delayed.C public final java.lang.Object apply(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: getstatic #13 // Field scala/Predef$.MODULE$:Lscala/Predef$; 3: ldc #15 // String this is the initialization code of C 5: invokevirtual #19 // Method scala/Predef$.println:(Ljava/lang/Object;)V 8: getstatic #25 // Field scala/runtime/BoxedUnit.UNIT:Lscala/runtime/BoxedUnit; 11: areturn LocalVariableTable: Start Length Slot Name Signature 0 12 0 this Ldelayed/C$delayedInit$body; LineNumberTable: line 11: 0 line 10: 8 ```
* | | | | | | | | Merge pull request #2740 from som-snytt/issue/7650-jline-nobangPaul Phillips2013-07-231-0/+3
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | SI-7650 No bang expansions in REPL jline
| * | | | | | | | SI-7650 No bang expansions in REPL jlineSom Snytt2013-07-151-0/+3
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Disable expandEvents at the earliest opportunity.
* | | | | | | | Merge pull request #2743 from retronym/topic/gitignore-in-repoAdriaan Moors2013-07-188-54/+42
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Commit .gitignore directly
| * | | | | | | | Commit .gitignore directlyJason Zaugg2013-07-178-54/+42
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than relying on the cloner to copy the provided gitignore.SAMPLE files. This finishes the job started in c48509598, mostly by reverting that commit and moving the two existing SAMPLE files to the final destinations. Use `.git/info/exclude` to augment the list of patterns with entries specific to your workflow.
* | | | | | | | Merge pull request #2747 from paulp/pr/warningsAdriaan Moors2013-07-186-24/+18
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | Fixing exhaustiveness warnings.