finished handling of #limited and #final class modifiers

This commit is contained in:
hyunghwan.chung
2017-05-01 12:54:41 +00:00
parent c4d0b804ef
commit 68a7118fb2
11 changed files with 155 additions and 164 deletions

View File

@ -105,11 +105,18 @@ class(#character) String(Array)
{
^self
}
(* TODO: Symbol is a #final class. Symbol new is not allowed. To create a symbol programatically, you should
* build a string and send asSymbol to the string............
method asSymbol
{
}
*)
}
## -------------------------------------------------------------------------------
class(#character) Symbol(String)
class(#character,#final,#limited) Symbol(String)
{
method asString
{

View File

@ -1,5 +1,5 @@
class(#pointer,#limited) Process(Object)
class(#pointer,#final,#limited) Process(Object)
{
var initial_context, current_context, state, sp, prev, next, sem, perr.
@ -345,7 +345,7 @@ class SemaphoreHeap(Object)
}
}
class(#limited) ProcessScheduler(Object)
class(#final,#limited) ProcessScheduler(Object)
{
var tally, active, runnable_head, runnable_tail, sem_heap.

View File

@ -74,7 +74,8 @@ class MyObject(Object)
'duplicate class'
'contradictory class definition'
'wrong class name'
'non-pointer class inheriting superclass with trailer size set'
'non-pointer class not allowed to inherit a superclass with trailer size set'
'not allowed to inherit a #final class'
'variable declaration not allowed'
'modifier expected'
'wrong modifier'