src/SfpLang.g in sfp-0.4.2 vs src/SfpLang.g in sfp-0.4.4
- old
+ new
@@ -187,17 +187,22 @@
object_schemata
: ',' object_schema
;
abstract_object
- : 'abstract' object_def
+ : {
+ @is_final = false
+ @now['_finals'] = [] if !@now.has_key? '_finals'
+ }
+ 'abstract' object_def
{ @root[$object_def.id]['_context'] = 'abstract' }
;
object_def returns [id]
: ID { $id = $ID.text }
{
@use_template = false
+ @now['_finals'] = [] if !@now.has_key? '_finals'
@now['_finals'] << $ID.text if @is_final
}
('extends' path
{
template = @root.at?($path.text)