summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-06-04 12:05:57 -0700
committerPaul Phillips <paulp@improving.org>2012-06-06 14:23:45 -0700
commit241c7606d0bf5f3209b9d549fb751dbbc5b8e514 (patch)
tree1a9ce60b92f37cf6ca58f69a7fdcaecd90e532bb /test
parenta43e070e232ce35ef14fce34458ee3ea6e823078 (diff)
downloadscala-241c7606d0bf5f3209b9d549fb751dbbc5b8e514.tar.gz
scala-241c7606d0bf5f3209b9d549fb751dbbc5b8e514.tar.bz2
scala-241c7606d0bf5f3209b9d549fb751dbbc5b8e514.zip
Generate abstract methods in scala.Byte and friends.
Rather than stub implementations. This saves over 50K of bytecode. I also added the necessary imports to silence the feature warnings.
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t5666.check36
-rw-r--r--test/files/run/repl-colon-type.check16
-rw-r--r--test/files/run/repl-type-verbose.check32
3 files changed, 47 insertions, 37 deletions
diff --git a/test/files/neg/t5666.check b/test/files/neg/t5666.check
index 4289b00ade..1c714796ba 100644
--- a/test/files/neg/t5666.check
+++ b/test/files/neg/t5666.check
@@ -4,33 +4,33 @@ t5666.scala:2: error: class Any is abstract; cannot be instantiated
t5666.scala:3: error: class AnyVal is abstract; cannot be instantiated
new AnyVal
^
-t5666.scala:4: error: Double does not have a constructor
+t5666.scala:4: error: class Double is abstract; cannot be instantiated
new Double
- ^
-t5666.scala:5: error: Float does not have a constructor
+ ^
+t5666.scala:5: error: class Float is abstract; cannot be instantiated
new Float
- ^
-t5666.scala:6: error: Long does not have a constructor
+ ^
+t5666.scala:6: error: class Long is abstract; cannot be instantiated
new Long
- ^
-t5666.scala:7: error: Int does not have a constructor
+ ^
+t5666.scala:7: error: class Int is abstract; cannot be instantiated
new Int
- ^
-t5666.scala:8: error: Char does not have a constructor
+ ^
+t5666.scala:8: error: class Char is abstract; cannot be instantiated
new Char
- ^
-t5666.scala:9: error: Short does not have a constructor
+ ^
+t5666.scala:9: error: class Short is abstract; cannot be instantiated
new Short
- ^
-t5666.scala:10: error: Byte does not have a constructor
+ ^
+t5666.scala:10: error: class Byte is abstract; cannot be instantiated
new Byte
- ^
-t5666.scala:11: error: Boolean does not have a constructor
+ ^
+t5666.scala:11: error: class Boolean is abstract; cannot be instantiated
new Boolean
- ^
-t5666.scala:12: error: Unit does not have a constructor
+ ^
+t5666.scala:12: error: class Unit is abstract; cannot be instantiated
new Unit
- ^
+ ^
t5666.scala:13: error: class Nothing is abstract; cannot be instantiated
new Nothing
^
diff --git a/test/files/run/repl-colon-type.check b/test/files/run/repl-colon-type.check
index cb0b9a6c8b..35cd04ba87 100644
--- a/test/files/run/repl-colon-type.check
+++ b/test/files/run/repl-colon-type.check
@@ -82,8 +82,10 @@ TypeRef(
TypeRef(
TypeSymbol(abstract trait Function1[-T1, +R] extends Object)
args = List(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
- TypeRef(TypeSymbol(final class Boolean extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
+ TypeRef(
+ TypeSymbol(final abstract class Boolean extends AnyVal)
+ )
)
)
TypeRef(
@@ -92,7 +94,7 @@ TypeRef(
)
args = List(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)
)
@@ -125,14 +127,14 @@ scala> :type -v def x = 1 ; def bar[T >: Null <: AnyRef](xyz: T) = 5
OverloadedType(
alts = List(
NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
PolyType(
typeParams = List(TypeParam(T >: Null <: AnyRef))
resultType = MethodType(
params = List(TermSymbol(xyz: T))
resultType = TypeRef(
- TypeSymbol(final class Int extends AnyVal)
+ TypeSymbol(final abstract class Int extends AnyVal)
)
)
)
@@ -147,7 +149,7 @@ Int => Iterator[List[Nothing]]
TypeRef(
TypeSymbol(abstract trait Function1[-T1, +R] extends Object)
args = List(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
TypeRef(
TypeSymbol(
abstract trait Iterator[+A] extends TraversableOnce[A]
@@ -180,7 +182,7 @@ PolyType(
TypeRef(
TypeSymbol(abstract trait Function1[-T1, +R] extends Object)
args = List(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
TypeRef(
TypeSymbol(
abstract trait Iterator[+A] extends TraversableOnce[A]
diff --git a/test/files/run/repl-type-verbose.check b/test/files/run/repl-type-verbose.check
index 103ac3e64d..989c0735b0 100644
--- a/test/files/run/repl-type-verbose.check
+++ b/test/files/run/repl-type-verbose.check
@@ -11,7 +11,7 @@ scala> :type -v def f = 5
// Internal Type structure
NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
scala> :type -v def f() = 5
@@ -20,7 +20,9 @@ scala> :type -v def f() = 5
// Internal Type structure
NullaryMethodType(
- resultType = TypeRef(TypeSymbol(final class Int extends AnyVal))
+ resultType = TypeRef(
+ TypeSymbol(final abstract class Int extends AnyVal)
+ )
)
scala> :type -v def f[T] = 5
@@ -31,7 +33,7 @@ scala> :type -v def f[T] = 5
PolyType(
typeParams = List(TypeParam(T))
resultType = NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)
@@ -43,7 +45,7 @@ scala> :type -v def f[T >: Null] = 5
PolyType(
typeParams = List(TypeParam(T >: Null))
resultType = NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)
@@ -55,7 +57,7 @@ scala> :type -v def f[T <: String] = 5
PolyType(
typeParams = List(TypeParam(T <: String))
resultType = NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)
@@ -67,7 +69,9 @@ scala> :type -v def f[T]() = 5
PolyType(
typeParams = List(TypeParam(T))
resultType = NullaryMethodType(
- resultType = TypeRef(TypeSymbol(final class Int extends AnyVal))
+ resultType = TypeRef(
+ TypeSymbol(final abstract class Int extends AnyVal)
+ )
)
)
@@ -79,7 +83,9 @@ scala> :type -v def f[T, U]() = 5
PolyType(
typeParams = List(TypeParam(T), TypeParam(U))
resultType = NullaryMethodType(
- resultType = TypeRef(TypeSymbol(final class Int extends AnyVal))
+ resultType = TypeRef(
+ TypeSymbol(final abstract class Int extends AnyVal)
+ )
)
)
@@ -93,7 +99,7 @@ PolyType(
resultType = NullaryMethodType(
resultType = NullaryMethodType(
resultType = TypeRef(
- TypeSymbol(final class Int extends AnyVal)
+ TypeSymbol(final abstract class Int extends AnyVal)
)
)
)
@@ -107,7 +113,7 @@ scala> :type -v def f[T, U <: T] = 5
PolyType(
typeParams = List(TypeParam(T), TypeParam(U <: T))
resultType = NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)
@@ -123,7 +129,7 @@ PolyType(
resultType = MethodType(
params = List(TermSymbol(y: U))
resultType = TypeRef(
- TypeSymbol(final class Int extends AnyVal)
+ TypeSymbol(final abstract class Int extends AnyVal)
)
)
)
@@ -138,7 +144,9 @@ PolyType(
typeParams = List(TypeParam(T))
resultType = MethodType(
params = List(TermSymbol(implicit evidence$1: Ordering[T]))
- resultType = TypeRef(TypeSymbol(final class Int extends AnyVal))
+ resultType = TypeRef(
+ TypeSymbol(final abstract class Int extends AnyVal)
+ )
)
)
@@ -177,7 +185,7 @@ PolyType(
)
)
resultType = NullaryMethodType(
- TypeRef(TypeSymbol(final class Int extends AnyVal))
+ TypeRef(TypeSymbol(final abstract class Int extends AnyVal))
)
)