| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
...unless the HK type can be eta-reduced to a class type.
|
| |
|
|\
| |
| | |
Fix #756 super accessors
|
| |
| |
| |
| |
| | |
There was a transcription error from scalac which caused the scope
of a `!` to be wrong.
|
| |
| |
| |
| |
| | |
Introduce a new non-terminal "SimpleLiteral". Only SimpleLiterals can be
types.
|
| |
| |
| |
| |
| | |
Tested are now other numeric values, strings, booleans, which are
all legal singleton types.
|
|/
|
|
|
|
| |
As the comment in pos/singletons.scala says, we currently
test only constant propagation during typer. We should also have a
test that literalize produces the literals in the right places.
|
|
|
|
|
|
|
|
| |
There were two architectural errors here, which confused TreeTransforms and MiniPhases
and which caused "NotDefinedHere" on transformFollowing:
1. TreeTransforms should not have idx fields, MiniPhases have them.2
2. TreeTransformers initialize arrays of MiniPhases not TreeTransforms.
|
|
|
|
| |
This reverts commit c8afd79b4c7f145ba090a2d936d627c3ab35b1c2.
|
|
|
|
|
| |
Phase lifts tries that would be illegal because they execute on non-empty
expression stacks.
|
|
|
|
|
| |
Disable the check because if fails for desugar.scala and also in some dotty files.
This test failed before the addition of NonLocalReturns.
|
|\
| |
| | |
Ycheck that methods defined in ClassInfo exist in tree.
|
| | |
|
|\ \
| | |
| | | |
Enable Ycheck after labelDef. Fixes #701
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Done by setting an environment variable and checking it in runtime.
This enables Ycheck:all for all kinds of tests, including partest.
|
| |/ |
|
|\ \
| | |
| | | |
Avoid crashes on double definitions
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
As the spec[1] says:
"The parts of a type T are [...] if T is an abstract type, the parts of
its upper bound;"
[1]: http://www.scala-lang.org/files/archive/spec/2.11/07-implicits.html#implicit-parameters
|
|\ \
| | |
| | | |
Check that dotty is reentrant
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Some globally accessible vars were never updated; should be vals.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
What is checked: A self type T is a subtype of all
selftypes of classes refernced by T. That is, a self type
has to subsume all self types of its required type. Ot,
otherwise said, requirements must be closed; you cannot
discover new ones in following them.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A TypeRef can have be unresolved, either because it refers to something that's missing
from the classpath or because of transitive self type references. Instead of crashing
in sigName, we now report the error.
Achieved by defining a new exception type, MissingType, which derives from TypeError.
This catches t7933.scala, now integrated in the neg/selfreq.scala. The problem there was
a reference to AbsSettings, which was not a member of StandardScalaSettings.this,
but was a member of the required type of AbsSettings, which itself appeared in the
required type of StandardScalaSettings. We will outlaw in the next commit such transitive
required references.
Also collapsed TypeError and FatalTypeError. It was a misnomer anyway. Fatal were those
type errors that were caught and reported!
Open: Where else we should check for unresolved NamedTypes.
|
|\ \
| |/
|/| |
Fix/dependent methods
|
| |
| |
| |
| | |
Previously, we could die with a <notype> when an implicit argument was not found.
|
|\ \
| | |
| | | |
Avoid crasher when first token of a program is in error
|
| |/
| |
| |
| |
| | |
This used to give a crash in SourcePositiom, promoted by feeding
its calculations with a negative offset.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to SIP 15 a value class C must obey the following restrictions:
C may not have secondary constructors.
C may not declare fields (other than the parameter of a value class).
C may not contain object definitions.
C may not have initialization statements.
These are enforced by this commit. We are still missing restrictions on
value class paremeters. We should review what the right set of conditions
is (probably we want to admit non-vals, and maybe even multiple
parameters).
|
| | |
|
| |
| |
| |
| |
| | |
Reporters are part of the context which is passed into a compiler run. Passing them
as a separate option is an unnecessary complication.
|
|\ \
| |/
|/| |
Partest output redirection over context.reporter
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add necessary logic to Mixin. Also add tests
that all parameterized traits are called with
parameters set.
|
| |
| |
| |
| |
| | |
A parent trait may not be parameterized (as in T()) if the calling class does not
directly implement that trait.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shadowing tests could go into an infinite recursion when
the found sahdwoing member itself needs an implicit that
is resolved and then shadowed again by the same member.
A test case is neg/arrayclone-new.scala. This caused
a SO before, now gives two errors.
|
| |
| |
| |
| |
| | |
neg/projections required certain types of the form C#T to be ill-formed.
This is no longer done.
|
|/
|
|
|
|
|
|
|
|
|
| |
Skolemize unstable prefixes in asSeenFrom provided
- the prefix appears at least once in non-variant or contra-variant position
- we are in phase typer.
After typer, we have already established soundness, so there's no need to
do skolemization again. We can simply do the (otherwise unsound) substitution
from this-type to prefix.
|
|
|
|
| |
Previously was only done for DefDefs. Caused backend failure.
|
| |
|
|\
| |
| | |
Less verbose partest
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Otherwise Intellij stops running JUnit tests correctly. No idea why.
|
|
|
|
| |
Needed for scala-infra.
|
| |
|