diff options
author | Paul Phillips <paulp@improving.org> | 2012-06-04 12:05:57 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-06-06 14:23:45 -0700 |
commit | 241c7606d0bf5f3209b9d549fb751dbbc5b8e514 (patch) | |
tree | 1a9ce60b92f37cf6ca58f69a7fdcaecd90e532bb /test/files | |
parent | a43e070e232ce35ef14fce34458ee3ea6e823078 (diff) | |
download | scala-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/files')
-rw-r--r-- | test/files/neg/t5666.check | 36 | ||||
-rw-r--r-- | test/files/run/repl-colon-type.check | 16 | ||||
-rw-r--r-- | test/files/run/repl-type-verbose.check | 32 |
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)) ) ) |