Reorganize superclass validation a bit.

This commit is contained in:
Bob Nystrom
2015-02-27 08:08:27 -08:00
parent 46713a5bb3
commit c27a094882
18 changed files with 56 additions and 49 deletions
-2
View File
@@ -1,2 +0,0 @@
class SubClass is Class {} // expect runtime error: Class 'SubClass' may not subclass a built-in
-16
View File
@@ -1,16 +0,0 @@
var f = null
{
var a = "a"
f = new Fn {
IO.print(a)
}
}
//@FIXME: repair the segfault create a propper test for the subclassing
//var closureSegfault = f
//class SubClosureSegfault is closureSegfault {}
//var closureOk = f.call
//class SubClosureOk is closureOk {}
-2
View File
@@ -1,2 +0,0 @@
class SubFiber is Fiber {} // expect runtime error: Class 'SubFiber' may not subclass a built-in
-2
View File
@@ -1,2 +0,0 @@
class SubFn is Fn {} // expect runtime error: Class 'SubFn' may not subclass a built-in
+1
View File
@@ -0,0 +1 @@
class Subclass is Class {} // expect runtime error: Subclass cannot inherit from Class.
@@ -0,0 +1,8 @@
var ClosureType
{
var a = "a"
ClosureType = new Fn { IO.print(a) }.type
}
class Subclass is ClosureType {} // expect runtime error: Subclass cannot inherit from Fn.
+1
View File
@@ -0,0 +1 @@
class Subclass is Fiber {} // expect runtime error: Subclass cannot inherit from Fiber.
+1
View File
@@ -0,0 +1 @@
class Subclass is Fn {} // expect runtime error: Subclass cannot inherit from Fn.
+1
View File
@@ -0,0 +1 @@
class Subclass is List {} // expect runtime error: Subclass cannot inherit from List.
+1
View File
@@ -0,0 +1 @@
class Subclass is Map {} // expect runtime error: Subclass cannot inherit from Map.
@@ -0,0 +1 @@
class Foo is 123 {} // expect runtime error: Must inherit from a class.
+1
View File
@@ -0,0 +1 @@
class Subclass is Range {} // expect runtime error: Subclass cannot inherit from Range.
@@ -0,0 +1 @@
class Subclass is String {} // expect runtime error: Subclass cannot inherit from String.
-1
View File
@@ -1 +0,0 @@
class SubList is List {} // expect runtime error: Class 'SubList' may not subclass a built-in
-2
View File
@@ -1,2 +0,0 @@
class SubMap is Map {} // expect runtime error: Class 'SubMap' may not subclass a built-in
-1
View File
@@ -1 +0,0 @@
class SubRange is Range {} // expect runtime error: Class 'SubRange' may not subclass a built-in
-2
View File
@@ -1,2 +0,0 @@
class SubString is String {} // expect runtime error: Class 'SubString' may not subclass a built-in