use cattr instead of metaclass

so we can catch it in the compiler, like also attr
define cattr in adapter, no change in tests !
This commit is contained in:
Torsten Ruger 2019-03-04 19:56:53 +02:00
parent 8d4eab72bf
commit 9bd2195a15
2 changed files with 9 additions and 1 deletions

View File

@ -16,7 +16,7 @@
@page_size = 1024 @page_size = 1024
@reserve_size = 10 @reserve_size = 10
class << self; attr_accessor :page_size ; attr :reserve_size end cattr :page_size , :reserve_size
# initialize for a given type (for_type). The attribute that is used to create the # initialize for a given type (for_type). The attribute that is used to create the
# list is the first that starts with next_ . "next" itself would have been nice and general # list is the first that starts with next_ . "next" itself would have been nice and general

View File

@ -54,6 +54,14 @@ module Parfait
@memory._set(index , value) @memory._set(index , value)
end end
end end
def self.cattr( *names )
names.each do |ca|
class_eval "@@#{ca} = 0"
class_eval "def self.#{ca}; return @#{ca};end"
class_eval "def self.#{ca}=(val); @#{ca} = val;end"
end
end
end end
# new list from ruby array to be precise # new list from ruby array to be precise