| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
`enum' only allowed as a prefix of classes, dropped from traits and objects.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
It's completely redundant, docstring is just the comment found
at the `start` offset, which is passed anyway.
|
| | | |
| | | |
| | | |
| | | | |
Modify syntax.md and Tokens/Parser/untpd to support enums.
|
| |/ /
| | |
| | |
| | | |
Insert an empty line before "where" in an explanation.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
|\ \ \
| | | |
| | | | |
Fix #2024: TypeApply can be a final apply of a recursive method.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
nullary methods with type parameters were handled wrongly,
which led to absence of type application and a cryptic error message.
|
| | | |
| | | |
| | | |
| | | | |
It saves tasty output near the class file output to a *.tasty-file.
|
|\ \ \ \
| | | | |
| | | | | |
Make leak avoidance more robust
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| |_|_|/
|/| | | |
checkNoPrivateLeaks: Do not allow types to refer to leaky aliases
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`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.
|
|\ \ \
| |/ /
|/| | |
Fixes `@unchecked` warnings
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix #1959: infix type operators in the REPL
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | | | |
| | | | | |
Create dummy companions for classes without a real one
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
fix copy of flags for ModuleDef and refactor code
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Make case class hashCode take class into account
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Also, update check file.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously, elements of the following classes had the same hash code:
case class A()
case class B()
Now they are distinguished.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Test that SI-4400 stays fixed.
|
| |\ \ \ \ \ \
| | | |/ / / /
| | |/| | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | | |
Remove dead code in pattern matching
|
| | | | | | | |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Starting from unreachable case https://github.com/lampepfl/dotty/blob/f75caad00256db52bbd3310f245e51d23c2a76cc/compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala#L1408
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix #2151: don't die for wrong number of typeargs applied
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |/ / / / / |
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Add documentation for new parallel testing suite
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Make testing more robust
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Emacs often produces temporary files in directories. These used to
cause NPEs in the new testing framework. We now fix this by only
compiling file names that designate source files.
|
|\| | | | |
| |_|/ / /
|/| | | | |
Fix #2156
|