| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
Most tests were still commented out in last merge. Also,
an outdated comment in TreeTypeMap was removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and in compiled source.
[error] Test dotc.tests.dotty failed: java.lang.AssertionError: assertion failed: data race? overwriting symbol of dotty.DottyPredef$ / TypeRef(ThisType(TypeRef(NoPrefix,dotty)),DottyPredef$) / class dotty.tools.dotc.core.Types$CachedTypeRef / 9007 / 9748, took 1.276 sec
[error] at scala.Predef$.assert(Predef.scala:165)
[error] at dotty.tools.dotc.core.Types$NamedType.checkSymAssign(Types.scala:1263)
[error] at dotty.tools.dotc.core.Types$NamedType.setDenot(Types.scala:1293)
[error] at dotty.tools.dotc.core.Types$NamedType.withDenot(Types.scala:1286)
[error] at dotty.tools.dotc.core.Types$TypeRef$.apply(Types.scala:1669)
[error] at dotty.tools.dotc.core.Types$Type.select(Types.scala:819)
[error] at dotty.tools.dotc.typer.Namer.moduleValSig(Namer.scala:602)
[error] at dotty.tools.dotc.typer.Namer$Completer.typeSig(Namer.scala:465)
[error] at dotty.tools.dotc.typer.Namer$Completer.completeInCreationContext(Namer.scala:499)
[error] at dotty.tools.dotc.typer.Namer$Completer.complete(Namer.scala:495)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.completeFrom(SymDenotations.scala:161)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.info(SymDenotations.scala:143)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.ensureCompleted(SymDenotations.scala:253)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.flags(SymDenotations.scala:97)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.is(SymDenotations.scala:119)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.isStable(SymDenotations.scala:464)
[error] at dotty.tools.dotc.core.Types$Type.widenIfUnstable(Types.scala:691)
[error] at dotty.tools.dotc.core.Types$Type$$anonfun$member$1.apply(Types.scala:394)
[error] at dotty.tools.dotc.core.Types$Type$$anonfun$member$1.apply(Types.scala:394)
[error] at dotty.tools.dotc.util.Stats$.track(Stats.scala:35)
[error] at dotty.tools.dotc.core.Types$Type.member(Types.scala:393)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedIdent$1.wildImportRef$1(Typer.scala:192)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedIdent$1.findRef$1(Typer.scala:240)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedIdent$1.apply(Typer.scala:263)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedIdent$1.apply(Typer.scala:79)
[error] at dotty.tools.dotc.util.Stats$.track(Stats.scala:35)
[error] at dotty.tools.dotc.typer.Typer.typedIdent(Typer.scala:79)
[error] at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:1017)
[error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:1076)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typed$2.apply(Typer.scala:1088)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typed$2.apply(Typer.scala:1086)
[error] at dotty.tools.dotc.reporting.Reporting$class.traceIndented(Reporter.scala:147)
[error] at dotty.tools.dotc.core.Contexts$Context.traceIndented(Contexts.scala:51)
[error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:1086)
[error] at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:1125)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedPackageDef$1.apply(Typer.scala:961)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typedPackageDef$1.apply(Typer.scala:960)
[error] at dotty.tools.dotc.util.Stats$.track(Stats.scala:35)
[error] at dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:960)
[error] at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:1066)
[error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:1078)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typed$2.apply(Typer.scala:1088)
[error] at dotty.tools.dotc.typer.Typer$$anonfun$typed$2.apply(Typer.scala:1086)
[error] at dotty.tools.dotc.reporting.Reporting$class.traceIndented(Reporter.scala:147)
[error] at dotty.tools.dotc.core.Contexts$Context.traceIndented(Contexts.scala:51)
[error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:1086)
[error] at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:1125)
[error] at dotty.tools.dotc.typer.FrontEnd$$anonfun$typeCheck$1.apply$mcV$sp(FrontEnd.scala:41)
[error] at dotty.tools.dotc.typer.FrontEnd.monitor(FrontEnd.scala:18)
[error] at dotty.tools.dotc.typer.FrontEnd.typeCheck(FrontEnd.scala:39)
[error] at dotty.tools.dotc.typer.FrontEnd$$anonfun$runOn$3.apply(FrontEnd.scala:52)
[error] at dotty.tools.dotc.typer.FrontEnd$$anonfun$runOn$3.apply(FrontEnd.scala:52)
[error] at scala.collection.immutable.List.foreach(List.scala:381)
[error] at dotty.tools.dotc.typer.FrontEnd.runOn(FrontEnd.scala:52)
[error] at dotty.tools.dotc.Run$$anonfun$compileSources$1$$anonfun$apply$mcV$sp$3.apply(Run.scala:55)
[error] at dotty.tools.dotc.Run$$anonfun$compileSources$1$$anonfun$apply$mcV$sp$3.apply(Run.scala:52)
[error] at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
[error] at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
[error] at dotty.tools.dotc.Run$$anonfun$compileSources$1.apply$mcV$sp(Run.scala:52)
[error] at dotty.tools.dotc.Run$$anonfun$compileSources$1.apply(Run.scala:47)
[error] at dotty.tools.dotc.Run$$anonfun$compileSources$1.apply(Run.scala:47)
[error] at dotty.tools.dotc.util.Stats$.monitorHeartBeat(Stats.scala:68)
[error] at dotty.tools.dotc.Run.compileSources(Run.scala:46)
[error] at dotty.tools.dotc.Run.compile(Run.scala:33)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:20)
[error] at dotty.tools.dotc.Bench$.dotty$tools$dotc$Bench$$super$doCompile(Bench.scala:38)
[error] at dotty.tools.dotc.Bench$$anonfun$doCompile$1.apply(Bench.scala:38)
[error] at dotty.tools.dotc.Bench$$anonfun$doCompile$1.apply(Bench.scala:36)
[error] at dotty.tools.dotc.Bench$$anonfun$ntimes$1.apply(Bench.scala:30)
[error] at dotty.tools.dotc.Bench$$anonfun$ntimes$1.apply(Bench.scala:30)
[error] at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:142)
[error] at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:142)
[error] at scala.collection.immutable.Range.foreach(Range.scala:166)
[error] at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:142)
[error] at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
[error] at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:136)
[error] at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] at dotty.tools.dotc.Bench$.ntimes(Bench.scala:30)
[error] at dotty.tools.dotc.Bench$.doCompile(Bench.scala:36)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:31)
[error] at dotty.tools.dotc.Bench$.dotty$tools$dotc$Bench$$super$process(Bench.scala:53)
[error] at dotty.tools.dotc.Bench$$anonfun$process$1.apply(Bench.scala:53)
[error] at dotty.tools.dotc.Bench$$anonfun$process$1.apply(Bench.scala:53)
[error] at dotty.tools.dotc.Bench$$anonfun$ntimes$1.apply(Bench.scala:30)
[error] at dotty.tools.dotc.Bench$$anonfun$ntimes$1.apply(Bench.scala:30)
[error] at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:142)
[error] at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:142)
[error] at scala.collection.immutable.Range.foreach(Range.scala:166)
[error] at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:142)
[error] at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
[error] at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:136)
[error] at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] at dotty.tools.dotc.Bench$.ntimes(Bench.scala:30)
[error] at dotty.tools.dotc.Bench$.process(Bench.scala:53)
[error] at test.CompilerTest.compileArgs(CompilerTest.scala:159)
[error] at test.CompilerTest.compileDir(CompilerTest.scala:104)
[error] at dotc.tests.dotty(tests.scala:141)
|
| |
|
|
|
|
| |
The phase replaces SAM closures with anonymous classes when necessary.
|
|
|
|
|
| |
Each test needs to have its own package because pos_all will try to
compile the whole valueclasses directory at once.
|
|
|
|
| |
This fixes the issues reported in SI-5866 and SI-8097
|
|
|
|
| |
Hurray!
|
|\
| |
| | |
Refactor/super accessors
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New phase: PostTransform, runs after Typer.
SuperAccessors and ParamForwarders (renamed from ForwardParamAccessors) are
helper objects of post transform.
Next: Add instChecks as well.
|
|/ |
|
|\
| |
| | |
Alt/instantiation checks (2)
|
| |
| |
| |
| |
| |
| | |
- Abstract classes cannot be instantiated (exceptions:
parent news and Java annotations)
- Instantiateed class must conform to its self type.
|
| |
| |
| |
| | |
Check that the self type of a class conforms to the self types of its parent classes.
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
The test introduced a double definition, which led to a double
binding. With -Yno-double-bindings this cauases an assertion violation
instead of a reported error.
|
| |
|
|
|
|
|
|
|
| |
This aligns with the "-" instead of CamelCase convention for
the other command line options.
Also, enable -Yno-double-bindings for dotc_core.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Used to be "with fixed sym". Now it is: With initial symbol
as given in the serialized info.
It turns out the only previous uses of (TERM|TYPE)REFsymbol were
types that were made symbolic in self types. But exactly that caused
that problems in unpickling which we tried to workaround by changing
WithFixedSym#newLikeThis. And these fixes became less and less intuitive and
still could not solve the problem for good. Last hurdle was pickle-testing
all files in ast together.
It's much simpler to reserve (TERM|TYPE)REFsymbol for NamedTypes that have
an initial symbol. Like the previous "WithFixedSym" pickling, this avoids
inifinite recursions in pickling/extmethods.scala. But it also avoids problens
with unpickling ast/*.scala. The reason it is better is that it more accurately
models that types that exist before pickling.
This change also undoes previous changes to WithFixedSym#newlikeThis. Better to keep
the more restrictive contract for these.
|
| |
|
|
|
|
|
|
|
|
| |
... in order to save some time. On my laptop:
Without twice: 175sec
With full twice as in last commit: 220sec
With reduced twice: 188sec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stillValid should always be tested at the phase where the initial
denotation is defined. If we do not do this we get false stale symbol errors.
Here is a scenario:
To `bringForward` `Predef$$ArrowAsscoc`, we check whether its initial denotation
has an owner which contains the denotation as one of its members. But if we do this
at a later phase (e.g. GenBCode), the owner of the initial denotation is Predef, but
Predef no longer contains ArraoAssoc - it lost the member at flatten.
With this fix we can run everything with -twice, except dotc_core. I left a comment what
goes wrong there.
|
|
|
|
|
| |
When reading external symbols from class Object, need to consider
members of Any as well.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Move pickling tests into separate top-level test directory.
That way they are not needlessly pos-tested before.
Also, disable core tests for now - after rebasing we get a stale symbol error.
Need to investigate that.
|
|
|
|
|
|
|
|
|
| |
1) DefDefs with implicit method types generate implicit parameters
2) Super accessors are inserted after class parameters.
With these changes files in core also print the same after pickling,
with the exception of Types and TypeOps which have some spurious differences:
Types are equal but appear in more simplified form after pickling.
|
|
|
|
|
|
|
|
|
| |
The unpickled term in a package id is different from the original but the
type is the same.
In a literal prefer constants in the types over thsoe in the terms.
With this change, we get identical typed tree output also for core/pickled.
|
|
|
|
|
|
|
|
| |
We got some spurious differences in the types in TemplateParents
because simplification was done in Typer but not in Unpickler.
With the change we get perfect matches for all files in pickleOK
also if we print their types.
|
|
|
|
| |
Some pickling tests are now run on every check in.
|
|
|
|
|
|
|
|
| |
We planned this for a long time but never implemented it. Instead, we sometimes
issued an erro in Splitter, namely if reflection would have been needed to access the
member. It turns out that some tests (e.g. neg/t625) fail -Ycheck (we knew that before
and disabled) but also fail Pickling because they generate orhpan PolyParams. So rather
than patching this up it seems now is a good time to enforce the restriction for real.
|
| |
|
| |
|
| |
|
|
|
|
| |
compiling dotty is stil WIP
|
|
|
|
|
| |
The `from` field of a Return tree should either be EmptyTree or an Ident
corresponding to the method we're returning from.
|
|\
| |
| | |
Fix/erasure lub alternative
|
| |
| |
| |
| | |
Will do it in a different PR.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, tests fail. The failures I checked are all related to tailcalls.
Not sure whether there are others.
This is a blocker for serialization. Orphan parameters cannot be serialized.
Maybe rethink the position of tailcalls? It looks to me that the repeated trouble it gives us is
more than the effort required to put an efficient tailcall recognition after pattern matching in place.
But I might be wrong.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Fixes two bugs needed for java-override test:
Namer was creating a MethodType instead of a JavaMethodType even though
the JavaDefined flag was set on the DefDef.
Following Scalac, Namer needs to convert Java method parameters
of type j.l.Object to s.Any.
|
| |
|
|
|
|
|
| |
Reformulated matchign spec and implemented accordingly. Previous
fix for #329 would have missed third new error case in over.scala.
|
|
|
|
| |
Overriding pairs needs to match ExprTypes with field types. Closes #329.
|
| |
|