Module: RGen::MetamodelBuilder::ModuleExtension

Includes:
ECore::ECoreInterface
Included in:
RGen, ECore, MMBase, UML13, UML13EA
Defined in:
lib/rgen/metamodel_builder/module_extension.rb

Overview

This module is used to extend modules which should be part of RGen metamodels

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ECore::ECoreInterface

#_set_ecore_internal, clear_ecore_cache, #ecore

Class Method Details

.extended(m) ⇒ Object



34
35
36
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 34

def self.extended(m)
  MetamodelBuilder::ConstantOrderHelper.moduleCreated(m)
end

Instance Method Details

#_annotationsObject



17
18
19
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 17

def _annotations
  @_annotations ||= []
end

#_constantOrderObject



21
22
23
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 21

def _constantOrder
  @_constantOrder ||= []
end

#annotation(hash) ⇒ Object



13
14
15
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 13

def annotation(hash)
  _annotations << Intermediate::Annotation.new(hash)
end

#final_method(m) ⇒ Object



25
26
27
28
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 25

def final_method(m)
  @final_methods ||= []
  @final_methods << m
end

#method_added(m) ⇒ Object



30
31
32
# File 'lib/rgen/metamodel_builder/module_extension.rb', line 30

def method_added(m)
  raise "Method #{m} can not be redefined" if @final_methods && @final_methods.include?(m)
end