diff options
author | Martin Odersky <odersky@gmail.com> | 2014-03-30 10:49:42 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-03-31 14:52:08 +0200 |
commit | 9bd1e6a99e1cb09a3527e548699d1561e72e36d3 (patch) | |
tree | e9f3899d05cf3cb2012e3f3032f1a3fc4da52415 /test | |
parent | fc4648d33a051ff5d220c2fea097fc99b5883ecc (diff) | |
download | dotty-9bd1e6a99e1cb09a3527e548699d1561e72e36d3.tar.gz dotty-9bd1e6a99e1cb09a3527e548699d1561e72e36d3.tar.bz2 dotty-9bd1e6a99e1cb09a3527e548699d1561e72e36d3.zip |
More fixes and tests for easure.
1. Object_isInstanceOf/asInstanceOf are no longer parameterized methods (seems there's
no point in writing x.$asInstanceOf[T]() instead of the shorter x.$asInstanceOf[T]).
2. Array constructor's type is unchanged (the previous rules erased it to
def <init>(len: Int)Object
which is clearly wrong).
3. indexing needs to be disabled.
4. typedTypeApply needs to keep type applications that apply to type tests and type casts as well as
array ops.
5. References to self-ids are typed ThisType(cls) before erasure; are replaced by This(cls) references
during erasure.
Diffstat (limited to 'test')
-rw-r--r-- | test/dotc/tests.scala | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala index ed6f3b5d9..dcd5c67c8 100644 --- a/test/dotc/tests.scala +++ b/test/dotc/tests.scala @@ -15,37 +15,39 @@ class tests extends CompilerTest { "-pagewidth", "160" ) val twice = List("#runs", "2") + val doErase = List("-Ystop-before:terminal") val posDir = "./tests/pos/" val negDir = "./tests/neg/" val newDir = "./tests/new/" val dotcDir = "./src/dotty/" -/* - @Test def pos_Coder() = compileFile(posDir, "Coder", twice) - @Test def pos_blockescapes() = compileFile(posDir, "blockescapes", twice) - @Test def pos_collections() = compileFile(posDir, "collections", twice) - @Test def pos_functions1() = compileFile(posDir, "functions1", twice) - @Test def pos_implicits1() = compileFile(posDir, "implicits1", twice) - @Test def pos_inferred() = compileFile(posDir, "inferred", twice) - @Test def pos_Patterns() = compileFile(posDir, "Patterns", twice) - @Test def pos_selftypes() = compileFile(posDir, "selftypes", twice) - @Test def pos_varargs() = compileFile(posDir, "varargs", twice) - @Test def pos_opassign() = compileFile(posDir, "opassign", twice) - @Test def pos_typedapply() = compileFile(posDir, "typedapply", twice) - @Test def pos_nameddefaults() = compileFile(posDir, "nameddefaults", twice) - @Test def pos_desugar() = compileFile(posDir, "desugar", twice) - @Test def pos_sigs() = compileFile(posDir, "sigs", twice) - @Test def pos_typers() = compileFile(posDir, "typers", twice) - @Test def pos_typedidents() = compileFile(posDir, "typedIdents", twice) - @Test def pos_assignments() = compileFile(posDir, "assignments", twice) - @Test def pos_packageobject() = compileFile(posDir, "packageobject", twice) - @Test def pos_overloaded() = compileFile(posDir, "overloaded", twice) - @Test def pos_templateParents() = compileFile(posDir, "templateParents", twice) - @Test def pos_structural() = compileFile(posDir, "structural", twice) - @Test def pos_i39 = compileFile(posDir, "i39", twice) - @Test def pos_overloadedAccess = compileFile(posDir, "overloadedAccess", twice) - @Test def pos_approximateUnion = compileFile(posDir, "approximateUnion", twice) -*/ + + @Test def pos_erasure = compileFile(posDir, "erasure", doErase) + @Test def pos_Coder() = compileFile(posDir, "Coder", doErase) + @Test def pos_blockescapes() = compileFile(posDir, "blockescapes", doErase) + @Test def pos_collections() = compileFile(posDir, "collections", doErase) + @Test def pos_functions1() = compileFile(posDir, "functions1", doErase) + @Test def pos_implicits1() = compileFile(posDir, "implicits1", doErase) + @Test def pos_inferred() = compileFile(posDir, "inferred", doErase) + @Test def pos_Patterns() = compileFile(posDir, "Patterns", doErase) + @Test def pos_selftypes() = compileFile(posDir, "selftypes", doErase) + @Test def pos_varargs() = compileFile(posDir, "varargs", doErase) + @Test def pos_opassign() = compileFile(posDir, "opassign", doErase) + @Test def pos_typedapply() = compileFile(posDir, "typedapply", doErase) + @Test def pos_nameddefaults() = compileFile(posDir, "nameddefaults", doErase) + @Test def pos_desugar() = compileFile(posDir, "desugar", doErase) + @Test def pos_sigs() = compileFile(posDir, "sigs", doErase) + @Test def pos_typers() = compileFile(posDir, "typers", doErase) + @Test def pos_typedidents() = compileFile(posDir, "typedIdents", doErase) + @Test def pos_assignments() = compileFile(posDir, "assignments", doErase) + @Test def pos_packageobject() = compileFile(posDir, "packageobject", doErase) + @Test def pos_overloaded() = compileFile(posDir, "overloaded", doErase) + @Test def pos_templateParents() = compileFile(posDir, "templateParents", doErase) + @Test def pos_structural() = compileFile(posDir, "structural", doErase) + @Test def pos_i39 = compileFile(posDir, "i39", doErase) + @Test def pos_overloadedAccess = compileFile(posDir, "overloadedAccess", doErase) + @Test def pos_approximateUnion = compileFile(posDir, "approximateUnion", doErase) + @Test def pos_all = compileFiles(posDir, twice) @Test def new_all = compileFiles(newDir, twice) |