| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Drop Seq implementation of name. This implementation
was always problematic because it entailed potentially
very costly conversions to toSimpleName. We now have
better control over when we convert a name to a simple
name.
|
| |
|
| |
|
| |
|
|
|
|
| |
Plus further bug fixes.
|
|
|
|
| |
nameddefaults.scala now compiles without crashing
|
|
|
|
|
|
|
|
|
|
| |
Strictly speaking, all the info about a skolem type is printed, e.g.
A(?2)
But it's reassuring to have an explanation line like
?2 is an unknown value of type A
|
|
|
|
| |
These were not printed before, fell back to toString method.
|
| |
|
| |
|
|
|
|
|
| |
- Use TypeLambda instead of PolyType.
- Further harmonize factory operations
|
| |
|
| |
|
| |
|
|
|
|
| |
Use an abstract type instead.
|
|
|
|
| |
Trying to bring PolyTypes closer to TypeLambdas
|
|
|
|
|
|
| |
MethodTypes have paramTypes whereas PolyTypes have paramBounds.
We now harmonize by alling both paramInfos, and parameterizing
types that will become common to both.
|
|
|
|
|
| |
and generalize MethodParam to ParamRef, and
TypeParamInfo to ParamInfo
|
|
|
|
|
|
|
|
|
|
| |
This leads to a slight overall simplification, harmonizes pickle
format with internal representation, and makes MethodTypes and
PolyTypes more similar to each other.
I believe the change is useful as it is, but in particular it is
a useful step for an eventual unification of MethodTypes and
PolyTypes.
|
|
|
|
| |
Insert an empty line before "where" in an explanation.
|
| |
|
|
|
|
| |
You can still have positions printed by explictly passing -Yprintpos
|
|\
| |
| | |
Fix type inference for HLists and HMaps
|
| |
| |
| |
| |
| |
| | |
If an applied type has a refinement, it was
printed before as one large refinement type
including the type parameter bindings.
|
|/ |
|
|\
| |
| | |
Avoid accidental captures of Context
|
| |
| |
| |
| |
| | |
ImportInfo#toString required the ctx parameter,so it was replaced by
ImportInfo#toText.
|
|\ \
| |/
|/| |
Fix #1747: Improve error message for Scala/Java type mismatch
|
| |
| |
| |
| | |
Omit the `=>' if a PolyType has a MethodType as result type.
|
|/
|
|
|
|
|
|
| |
* Add `isSyntheticFunction` checks for synthetic functions such as FuntionN
for N > 22 and ImplicitFunctionN for N >= 0.
* Add `erasedFunctionClass` to get the erased verion of synthetic functions.
* Change the semantics of `isFunctionClass` to return true if it is any kind of
FunctionN or ImplicitFunctionN.
|
|\
| |
| | |
Better positions for infix operations
|
| |
| |
| |
| |
| |
| |
| |
| | |
This has two advantages:
- We can distinguish BackquotedIdent from Ident, allowing the user to
use a defined "type `&`", see testcase.
- We get better positions for the operators. This is useful in IDEs, for
example to get the type at point.
|
|/ |
|
| |
|
|\
| |
| | |
Add implicit function types
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also: show implicit function types correctly.
Also: refine applications of implicit funcitons
- don't do it for closure trees
- don't do it after typer.
|
|/
|
|
|
|
|
|
|
| |
Typer#ensureReported's comment outlines an example where errors
could go unreported, resulting in error trees after typer without
any reported error messages. This commit makes sure that at least
one error is reported if a tree node has an error type.
Fixes #1802.
|
|
|
|
|
| |
Had duplications of `import` before.
Also: add import info when printing contexts.
|
| |
|
|
|