| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1) Move passing test to pickling
2) Add test case for #1212 in pending
3) Disable annotations/internal in pickling tests. They lead to a stable symbol error
which is explainable (modifiers are read before symbol is created).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This leads to an infinite cycle when trying to unpickling, because
the modifiers and annotations of a symbol are read before the symbol
itself is created.
See #1212 for the general case.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of separate source file sections, pickle SourceFile as an
annotation of all toplevel classes.
We represent it like this anyway when reading back Tasty-defined classes.
|
| | | |
| | | |
| | | |
| | | | |
This is the same as what Java does for its ClassFile attribute.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Two problems were fixed:
- isJava needs to look at function symbol, not its type (references
to Java methods get normal MethodTypes not JavMethodTypes)
- we also need to handle the case where the repeated argument is
wrspped in a type ascription.
|
| | | |
| | | |
| | | |
| | | | |
SeqLiteral have an elemTpt, which was missing in format.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ParamAccessor is not a pickled flag. This is not a problem for
normal parameter accessors which are pickled as PARAM fields. But setters
of parameter accessors also need to have the flag set (and Deferred reset).
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a file was loaded from TASTY, it can not still have a non-null source file,
since the source file is unpickled into the annotation of a top-level class.
Also, fix typo in previous commit.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
The previous path name always had a "Simple(...)" wrapped around it.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`isTyper` is used to enable some error checking and handling, which
need not be done when in FromTasty.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
... of class parameters using the gadt mechanism. Previously they were encoded as aliases
by hardcoding alias bounds in the type parameter declaration, but that then leads to
weird behavior and failures in unpickling.
To make this work, we also need to propagate gadt bounds into the this-call context.
Test case in pickling/i1202a.scala.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, those were inferred from arguments, but this is wrong
because we implicitly assume that the type parameters of the constructor
and the type parameters of the class are the same.
I could not find a test that fails for this. But if you look at the
-Xprint:front output of pos/i941.scala, you notice that the
inferred argument to the this(...) call was `Nothing` where
it should have been `A`.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For explicit arguments of this(...) constrictor calls we have a special
context that hides members of the current class. But for implicit arguments
we did not. This led to implicit shadowing errors for
scala.collection.immutable.PagedSeq when secondary constructor
type parameters were fixed (as done in subsequent commits).
|
|\ \ \ \
| |_|_|/
|/| | | |
Fix #1216 Desugar: vals that are desugared PatDef may need setters.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Setters are normally synthesised in Desugar while expanding the ValDef.
If the tree is a PatDef it is being desugared into several ValDefs that
may need to be desugared once again.
|
|\ \ \ \
| |/ / /
|/| | | |
Fix issues with `enterBlock` for comment parsing
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add support for raw docstrings in ASTs
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This commit also adds a printer for use by dottydoc.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit fixes errors that would've occurred in this situation:
```
/** Docstring 1 */ <- this one would've been chosen
/** Docstring 2 */
/** Docstring 3 */
class Class
```
And this situation:
```
/** Docstring 1 */
trait Trait
/** Docstring 2 */ <- this one would've been chosen
```
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Check Java classes are not used as objects
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Following code should not pass Ycheck:
import java.lang.Math
val myMath: Math.type = Math
myMath.sqrt(3.0)
id(myMath)
|
|\ \ \
| | | |
| | | | |
Improvements to cyclic checking, avoidance, named parameters
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now verifies that the named type parameters of an overriding
type or class are the same as the named type parameters of
an overridden type.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also: In a TypeMap, the variance of the prefix is unchanged
(was: always 0). This brings it in line with TypeAccumulator
and the subtyping rules.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
We should not return a ClassInfo as a value type.
|
| | | |
| | | |
| | | |
| | | | |
No need to form the glb.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Do it only if at least one of the types has unnamed parameters. This is
a fundamental conflict with how we deal with intersections and unions.
|