Generating a runtime error on subclassing of builtins

As discussed in https://github.com/munificent/wren/issues/70, it is not allowed to subclass built-in types.
This commit is contained in:
Peter Reijnders
2015-02-25 20:13:37 +01:00
parent 3802609644
commit f05d6143f5
9 changed files with 44 additions and 3 deletions
+2
View File
@@ -0,0 +1,2 @@
class SubClass is Class {} // expect runtime error: Class 'SubClass' may not subclass a built-in
+16
View File
@@ -0,0 +1,16 @@
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
@@ -0,0 +1,2 @@
class SubFiber is Fiber {} // expect runtime error: Class 'SubFiber' may not subclass a built-in
+2
View File
@@ -0,0 +1,2 @@
class SubFn is Fn {} // expect runtime error: Class 'SubFn' may not subclass a built-in
+1
View File
@@ -0,0 +1 @@
class SubList is List {} // expect runtime error: Class 'SubList' may not subclass a built-in
+2
View File
@@ -0,0 +1,2 @@
class SubMap is Map {} // expect runtime error: Class 'SubMap' may not subclass a built-in
+1
View File
@@ -0,0 +1 @@
class SubRange is Range {} // expect runtime error: Class 'SubRange' may not subclass a built-in
+2
View File
@@ -0,0 +1,2 @@
class SubString is String {} // expect runtime error: Class 'SubString' may not subclass a built-in