aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Support comma-separated enum constantsMartin Odersky2017-04-045-30/+48
| |
| * Change enumeration members.Martin Odersky2017-04-045-26/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | Based on the discussion in #1970, enumeration objects now have three public members: - valueOf: Map[Int, E] - withName: Map[String, E] - values: Iterable[E] Also, the variance of case type parameters is now the same as in the corresponding type parameter of the enum class.
| * Change return type of `apply`.Martin Odersky2017-04-042-8/+11
| | | | | | | | | | | | | | | | | | | | | | In an enum case like case C() extends P1 with ... with Pn ... apply now returns `P1 & ... & Pn`, where before it was just P1. Also, add to Option test.
| * Don't change the return type of the `copy` methodMartin Odersky2017-04-041-1/+1
| | | | | | | | | | `copy` should always return the type of it's rhs. The discussion of #1970 concluded that no special treatment for enums is needed.
| * Check that cases with type parameters also have an extends clauseMartin Odersky2017-04-042-1/+6
| |
| * Fix typo in syntaxMartin Odersky2017-04-041-1/+1
| |
| * Fix cheeky comment in nested scopeFelix Mulder2017-04-042-6/+47
| |
| * More fine-grained distinctions when flags are defined.Martin Odersky2017-04-044-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Flags like Trait are in fact not always defined when a symbol is created. For symbols loaded from class files, this flag, and some other is defined only once the classfile has been loaded. But this happens in general before the symbol is completed. We model this distinction by separating from the `FromStartFlags` set a new set `AfterLoadFlags` and distinguishing between the two sets in `SymDenotations#is`. Test case is enum-Option.scala. This erroneously complained before that `Enum` was not a trait.
| * Fix typoMartin Odersky2017-04-041-1/+1
| |
| * New test caseMartin Odersky2017-04-043-0/+44
| |
| * Be more systematic about result of apply methodMartin Odersky2017-04-041-8/+18
| | | | | | | | | | | | The same type needs to be used as a result type for the copy method, and the function type implemented by the companion module.
| * Link generic test to actual implementations of Enum and EnumValuesMartin Odersky2017-04-043-26/+2
| | | | | | | | These are now implemented in scala.runtime.
| * Another testMartin Odersky2017-04-042-0/+11
| |
| * Make `getDocComment` referentially transparentFelix Mulder2017-04-041-36/+12
| |
| * Fix "closest" computation for docstringsMartin Odersky2017-04-041-1/+3
| |
| * Improvement to REPL testMartin Odersky2017-04-041-1/+4
| | | | | | | | In case of difference, dump transcript to file for easier comparisons.
| * Comment out unused method in ContextMartin Odersky2017-04-041-2/+3
| |
| * Add testsMartin Odersky2017-04-047-0/+47
| |
| * Implement enum desugaringMartin Odersky2017-04-046-36/+215
| |
| * Change handling of enum defs.Martin Odersky2017-04-042-15/+34
| | | | | | | | | | | | | | The previous scheme did not work because desugaring cannot deal with repeated expansions. We now sidestep the issue by doing the expansion in the parser. Luckily, positions work out perfectly, so that one can reconstruct the source precisely from the parsed untyped trees.
| * Adapt generic tests to model modified enum values schemeMartin Odersky2017-04-045-21/+35
| |
| * Allow value expansion of modules in mergeCompanionDefsMartin Odersky2017-04-041-1/+0
| |
| * Simplify syntaxMartin Odersky2017-04-046-17/+17
| | | | | | | | `enum' only allowed as a prefix of classes, dropped from traits and objects.
| * Don't pass docstring as a parameter.Martin Odersky2017-04-041-39/+33
| | | | | | | | | | It's completely redundant, docstring is just the comment found at the `start` offset, which is passed anyway.
| * Add enum syntaxMartin Odersky2017-04-044-29/+115
| | | | | | | | Modify syntax.md and Tokens/Parser/untpd to support enums.
| * Fix mal-formatting.Martin Odersky2017-04-042-3/+5
| | | | | | | | Insert an empty line before "where" in an explanation.
* | Resize dottydoc menu button to 15pxFelix Mulder2017-04-061-1/+1
| |
* | Make dottydoc main page responsive (#2052)Herdy Handoko2017-04-063-33/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add CSS media queries to support off-canvas sidebar * Add sidebar toggle interactivity for small viewports * Re-add sidebar toggle support for desktop viewport widths * Widen sidebar in mobile viewport and removed extra padding in content body * Reduce sidebar width back to 250px on Desktop and Tablet viewports Tablet (576px <= x < 768px) viewport sidebar is now limited to 250px to follow Desktop viewports whilst still retaining its off-canvas behaviour like Mobile. Mobile viewport (x < 576px) still implements 60% sidebar width. * Refactor media queries to follow mobile-first strategy Instead of specifying specific styles at a viewport width range, e.g. Tablet (576px <= x < 768px), the CSS properties are arranged as such that default CSS properties applies to Mobile, with Tablet and Desktop styles defined within media queries. Mobile-first strategy will ensure more consistency as style resolution will go in one direction, e.g. from Mobile -> Tablet -> Desktop. * Move `div#entity-container` and `div#doc-page-container` further down The change above, in addition to qualifying `button#menu-toggle` with `div#content-wrapper` parent selector will make the existing CSS easier to refactor removing duplicates, and to swap it into CSS pre-processor languages such as SASS or Less. * Merge redundant `div#content-body` styles Two different `div#content-body` styles was defined, one with only `position: relative` and another with the complete styles. In addition, a `div#content-body` Tablet and Desktop padding style was moved into the relevant media query to make future changes more transparent. * Change `rgba(...)` properties to insert space and prefix decimals with `0` Within the CSS file, RGBA property declaration is inconsistent: some with space after comma and some without, some has leading `0` for decimals and some dont'. This change make sure that one style is followed (space after comma and always use the leading `0` in decimals). * Move hamburger menu to original location and restore hover styling Hamburger menu now stays in the content body as per original design. However to prevent overlap with body text, a permanent 30px left padding on the body container has been added. * Remove hamburger menu transformation into arrow on expansion As per PR review comments (https://github.com/lampepfl/dotty/pull/2052) the old hamburger menu style is restored by removing CSS transforms. * Change hamburger menu positioning to `absolute` As per PR review comments (https://github.com/lampepfl/dotty/pull/2052) the hamburger menu positioning is changed back to absolute, which also means the left padding on content body is no longer needed and can be removed.
* | Merge pull request #2025 from dotty-staging/fix-2024Nicolas Stucki2017-04-055-8/+25
|\ \ | | | | | | Fix #2024: TypeApply can be a final apply of a recursive method.
| * | Change -XemitTasty to -YemitTastyDmitry Petrashko2017-04-041-1/+1
| | |
| * | Remove name clash in test.Dmitry Petrashko2017-03-131-1/+1
| | |
| * | Check that #2024 is fixed.Dmitry Petrashko2017-03-081-0/+4
| | |
| * | Fix #2024: TypeApply can be a final apply of a recursive method.Dmitry Petrashko2017-03-081-0/+4
| | | | | | | | | | | | | | | nullary methods with type parameters were handled wrongly, which led to absence of type application and a cryptic error message.
| * | Add support for `-XemitTasty`.Dmitry Petrashko2017-03-082-7/+16
| | | | | | | | | | | | It saves tasty output near the class file output to a *.tasty-file.
* | | Merge pull request #2190 from dotty-staging/fix-robust-avoidanceGuillaume Martres2017-04-041-2/+8
|\ \ \ | | | | | | | | Make leak avoidance more robust
| * | | Make leak avoidance more robustMartin Odersky2017-04-041-2/+8
| | |/ | |/| | | | | | | | | | | | | If class files are missing, finding an underlying class reference might give a NoType. This caused an asInstanceOf to fail. We now handle that case gracefully.
* | | Merge pull request #2189 from dotty-staging/fix/privateleak-forcingGuillaume Martres2017-04-045-8/+48
|\ \ \ | | | | | | | | checkNoPrivateLeaks: Do not allow types to refer to leaky aliases
| * | | checkNoPrivateLeaks: Do not allow types to refer to leaky aliasesGuillaume Martres2017-04-045-8/+48
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `checkNoPrivateLeaks` can force a lot of things, this lead to hard-to-reproduce issues in unpickling because we called `checkNoPrivateLeaks` on the type parameters of a class before anything in the class was indexed. We fix this by making sure that `checkNoPrivateLeaks` never transforms type symbols, only term symbols, therefore we can unpickle type parameters without forcing too many things. tests/neg/leak-type.scala illustrates the new restriction that this necessitates.
* | | Merge pull request #2168 from allanrenucci/warningsGuillaume Martres2017-04-045-11/+10
|\ \ \ | |/ / |/| | Fixes `@unchecked` warnings
| * | Addresses review commentsAllan Renucci2017-04-044-10/+9
| | |
| * | Use `mapConserve` in `UntypedTreeMap`Allan Renucci2017-04-031-1/+1
| | |
| * | Fixes @unchecked warningsAllan Renucci2017-04-034-6/+6
| | |
* | | Merge pull request #2162 from abeln/infix-opDmitry Petrashko2017-04-042-3/+8
|\ \ \ | | | | | | | | Fix #1959: infix type operators in the REPL
| * | | Fix #1959: infix type operators in the REPLAbel Nieto2017-04-022-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Infix type operators were broken in the REPL. The REPL uses fold methods from the untpd package, but those were skipping the operator subtree when folding over an InfixOp. Fix the issue by taking the operator into account. Tested: 1) Verified that only the REPL code uses the modified fold method. 2) Added repl test.
* | | | Merge pull request #2149 from dotty-staging/fix/false-companion-2Dmitry Petrashko2017-04-041-5/+16
|\ \ \ \ | | | | | | | | | | Create dummy companions for classes without a real one
| * | | | Create dummy companions for classes without a real oneGuillaume Martres2017-03-291-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In #2139 I added code to create dummy companions for companion-less objects, but not for companion-less classes because I thought it wasn't needed. But it turns out that even if the classpath only has `Foo.class` and not `Foo$.class`, a module for `Foo` is entered by `initializeFromClassPath` when it calls `enterClassAndModule`, so we have to add dummy companions to classes. I don't have a test to illustrate this issue, but note that it fixes the incremental compilation bug demonstrated by https://github.com/dotty-staging/dotty/commits/incremental-compilation-bug. Note: I verified that adding a dummy companion to "class Foo" did not cause the backend to emit a Foo$.class, so this should have no visible impact.
* | | | | Merge pull request #2167 from dotty-staging/fix-copyDmitry Petrashko2017-04-041-19/+19
|\ \ \ \ \ | |_|_|/ / |/| | | | fix copy of flags for ModuleDef and refactor code
| * | | | fix copy of flags for ModuleDef and refactor codeliu fengyun2017-04-031-19/+19
|/ / / /
* | | | Merge pull request #2159 from dotty-staging/fix-hashcodeDmitry Petrashko2017-04-032-6/+7
|\ \ \ \ | | | | | | | | | | Make case class hashCode take class into account
| * \ \ \ Merge branch 'master' into fix-hashcodeFelix Mulder2017-04-0218-93/+298
| |\ \ \ \