rgen 0.8.4 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e58b57346e1f7e95fcaa15f29112706c911d20ed
4
- data.tar.gz: 6551cb4e9579f7e76582018876973edd9a58d0e6
2
+ SHA256:
3
+ metadata.gz: 16727fb8ac509f1c0d992f9325059453b2a18c3060dcfaa580c73c5afbee80ef
4
+ data.tar.gz: 1558e56312461e98faafb733334af9cb995fc39facf6424a249158cd1542a024
5
5
  SHA512:
6
- metadata.gz: 1e82e58dd4eaf95de47ef1714a778558a6bd3cb76f8229fb43e029a98f9e03c6234ee2fab831adde1d7de1b953665afab031f27f39b0ad7a060a91c4ed7c7328
7
- data.tar.gz: 47b73a00783a82d630b0771fb55b01c4da6adffe73a459cd35828dd5040644b8b0f6cd00a565a4abf257d8c4d2e97ca17db2c072cbe05e8ae44fe9b2b3a2637e
6
+ metadata.gz: 54e6edfead77fb9e6065af8b09d3ee6998ea9bf5171ada9c4846dfcebfd0802d97c7c0708caffd9568b0e50ee7bf36c42813bcc3e21a7b50285bf37ba0693b3b
7
+ data.tar.gz: 48065bb8017587ee8c83f22b15337f2e7b2133560d466a0f91b9efc42ed6859337cacd2cc80f2e07883cd0571d3cf298daa6912cd9e07a2d6a01bf97b3f68768
data/CHANGELOG CHANGED
@@ -222,3 +222,11 @@
222
222
 
223
223
  * Add early loading for types which have attributes conflicting with Ruby reserved words.
224
224
  * Change type checking code to use ObjectSpace to find class objects. This is to find classes with an unbound name.
225
+
226
+ =0.9.0
227
+
228
+ * Update to support Ruby 2.7, drop support for older Rubies
229
+
230
+ =0.9.1
231
+
232
+ * fixes in ecore model (make ENamedElement required; set default for EClass::{abstract, interface})
data/Project.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  name: rgen
2
2
  gemspec: rgen.gemspec
3
3
  git: https://github.com/mthiede/rgen.git
4
- version: 0.8.4
4
+ version: 0.9.1
5
5
  summary: Ruby Modelling and Generator Framework
6
6
  email: martin dot thiede at gmx de
7
7
  homepage: http://ruby-gen.org
@@ -15,7 +15,8 @@ exclude_files: ['**/*.bak']
15
15
  encrypt_sources: false
16
16
  dependencies:
17
17
  https://rubygems.org:
18
- - {name: nokogiri, version: ['~> 1.6.0', '>= 1.6.8.1'], development: true}
19
- - {name: rake, version: '~> 12.0', development: true}
20
- - {name: minitest, version: ['~> 5.0', '>= 5.10.1'], development: true}
21
- - {name: minitest-fail-fast, version: '~> 0.1.0', development: true}
18
+ - {name: nokogiri, version: ['>= 1.11.2', '< 1.12'], development: true}
19
+ - {name: rake, version: '~> 12.0', development: true}
20
+ - {name: minitest, version: ['~> 5.0', '>= 5.10.1'], development: true}
21
+ - {name: minitest-fail-fast, version: '~> 0.1.0', development: true}
22
+ - {name: andand, version: '1.3.3', development: true}
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'rubygems/package_task'
2
2
  require 'rdoc/task'
3
- require 'bundler/setup'
4
3
  require 'rake/testtask'
5
4
 
6
5
  RGenGemSpec = eval(File.read('rgen.gemspec'))
@@ -12,9 +12,11 @@ module RGen
12
12
  extend RGen::MetamodelBuilder::ModuleExtension
13
13
 
14
14
  class EObject < RGen::MetamodelBuilder::MMBase
15
+ abstract
15
16
  end
16
17
 
17
18
  class EModelElement < RGen::MetamodelBuilder::MMBase
19
+ abstract
18
20
  end
19
21
 
20
22
  class EAnnotation < RGen::MetamodelBuilder::MMMultiple(EModelElement, EObject)
@@ -22,10 +24,12 @@ module RGen
22
24
  end
23
25
 
24
26
  class ENamedElement < EModelElement
25
- has_attr 'name', String
27
+ abstract
28
+ has_attr 'name', String, :lowerBound => 1
26
29
  end
27
30
 
28
31
  class ETypedElement < ENamedElement
32
+ abstract
29
33
  has_attr 'lowerBound', Integer, :defaultValueLiteral => "0"
30
34
  has_attr 'ordered', Boolean, :defaultValueLiteral => "true"
31
35
  has_attr 'unique', Boolean, :defaultValueLiteral => "true"
@@ -43,6 +47,7 @@ module RGen
43
47
  end
44
48
 
45
49
  class EStructuralFeature < ETypedElement
50
+ abstract
46
51
  has_attr 'changeable', Boolean, :defaultValueLiteral => "true"
47
52
  has_attr 'defaultValue', Object, :derived=>true
48
53
  has_attr 'defaultValueLiteral', String
@@ -76,6 +81,7 @@ module RGen
76
81
  end
77
82
 
78
83
  class EClassifier < ENamedElement
84
+ abstract
79
85
  has_attr 'defaultValue', Object, :derived=>true
80
86
  has_attr 'instanceClass', Object, :derived=>true
81
87
  has_attr 'instanceClassName', String
@@ -142,8 +148,8 @@ module RGen
142
148
  end
143
149
 
144
150
  class EClass < EClassifier
145
- has_attr 'abstract', Boolean
146
- has_attr 'interface', Boolean
151
+ has_attr 'abstract', Boolean, :defaultValueLiteral => "false"
152
+ has_attr 'interface', Boolean, :defaultValueLiteral => "false"
147
153
  has_one 'eIDAttribute', ECore::EAttribute, :derived=>true, :resolveProxies=>false
148
154
 
149
155
  has_many 'eAllAttributes', ECore::EAttribute, :derived=>true
@@ -1,5 +1,6 @@
1
1
  require 'rgen/ecore/ecore'
2
2
  require 'json'
3
+ require 'andand'
3
4
 
4
5
  module RGen
5
6
 
@@ -105,10 +106,9 @@ def eenum(enum)
105
106
  merge(edatatype(enum), {
106
107
  :_class_ref => 'RGen.ECore.EEnum',
107
108
  :eLiterals => enum.eLiterals.map do |l|
108
- merge({}, {
109
+ merge(enamedelement(l), {
109
110
  :_class_ref => 'RGen.ECore.EEnumLiteral',
110
111
  :value => l.value,
111
- :literal => l.literal
112
112
  })
113
113
  end
114
114
  })
@@ -116,6 +116,7 @@ end
116
116
 
117
117
  def eannotation(e)
118
118
  merge(emodelelement(e), {
119
+ :_class_ref => 'RGen.ECore.EAnnotation',
119
120
  :source => e.source,
120
121
  :details => e.details.map do |d|
121
122
  merge({}, {
@@ -133,8 +134,6 @@ def etypedelement(te)
133
134
  :unique => te.unique,
134
135
  :lowerBound => te.lowerBound,
135
136
  :upperBound => te.upperBound,
136
- :many => te.many,
137
- :required => te.required,
138
137
  :eType => {:_ref => te.eType ? ref_id(te.eType) : nil}
139
138
  })
140
139
  end
@@ -172,7 +171,7 @@ def ref_id(obj)
172
171
  end
173
172
 
174
173
  def ref_parts(obj)
175
- return [obj.name] unless obj&.eContainer
174
+ return [obj.name] unless obj.andand.eContainer
176
175
  ref_parts(obj.eContainer) << obj.name
177
176
  end
178
177
 
@@ -196,7 +196,7 @@ class MetamodelBuilderTest < MiniTest::Test
196
196
  err = assert_raises StandardError do
197
197
  sc.name = 5
198
198
  end
199
- assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
199
+ assert_match /In (\w+::)+SimpleClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
200
200
  assert_equal "EString", mm::SimpleClass.ecore.eAttributes.find{|a| a.name=="name"}.eType.name
201
201
 
202
202
  assert_equal "xtest", sc.stringWithDefault
@@ -264,7 +264,7 @@ class MetamodelBuilderTest < MiniTest::Test
264
264
  assert_equal "123456789012345680.0", sprintf("%.1f", sc.floatWithDefault)
265
265
  end
266
266
  sc.floatWithDefault = nil
267
- sc.floatWithDefault = BigDecimal.new("123456789012345678.0")
267
+ sc.floatWithDefault = BigDecimal("123456789012345678.0")
268
268
  assert sc.floatWithDefault.is_a?(BigDecimal)
269
269
  assert_equal "123456789012345678.0", sc.floatWithDefault.to_s("F")
270
270
 
@@ -298,7 +298,7 @@ class MetamodelBuilderTest < MiniTest::Test
298
298
  err = assert_raises(StandardError) do
299
299
  o.addLiterals(1)
300
300
  end
301
- assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
301
+ assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
302
302
 
303
303
  assert_equal [], o.literals
304
304
  o.addLiterals("a")
@@ -333,7 +333,7 @@ class MetamodelBuilderTest < MiniTest::Test
333
333
  err = assert_raises(StandardError) do
334
334
  o.literals = 1
335
335
  end
336
- assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
336
+ assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a Enumerable is expected/, err.message
337
337
 
338
338
  o.bools = [true, false, true, false]
339
339
  assert_equal [true, false, true, false], o.bools
@@ -0,0 +1,71 @@
1
+ require 'rgen/metamodel_builder'
2
+
3
+ module HouseMetamodel
4
+ extend RGen::MetamodelBuilder::ModuleExtension
5
+ include RGen::MetamodelBuilder::DataTypes
6
+
7
+ SexEnum = Enum.new(:name => 'SexEnum', :literals =>[ :male, :female ])
8
+
9
+ class MeetingPlace < RGen::MetamodelBuilder::MMBase
10
+ annotation :source => "testmodel", :details => {'complexity' => '1', 'date_created' => '2006-07-12 08:40:46', 'date_modified' => '2006-07-12 08:44:02', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'}
11
+ end
12
+
13
+ class Person < RGen::MetamodelBuilder::MMBase
14
+ annotation 'complexity' => '1', 'date_created' => '2006-06-27 08:34:23', 'date_modified' => '2006-06-27 08:34:26', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
15
+ has_attr 'sex', HouseMetamodel::SexEnum
16
+ has_attr 'id', Long
17
+ has_many_attr 'nicknames', String
18
+ end
19
+
20
+ class House < RGen::MetamodelBuilder::MMBase
21
+ annotation 'complexity' => '1', 'date_created' => '2005-09-16 19:52:18', 'date_modified' => '2006-02-28 08:29:19', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'stereotype' => 'dummy', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
22
+ has_attr 'size', Integer
23
+ has_attr 'module', String
24
+ has_attr 'address', String, :changeable => false do
25
+ annotation 'collection' => 'false', 'containment' => 'Not Specified', 'derived' => '0', 'duplicates' => '0', 'ea_guid' => '{A8DF581B-9AC6-4f75-AB48-8FAEDFC6E068}', 'lowerBound' => '1', 'ordered' => '0', 'position' => '0', 'styleex' => 'volatile=0;', 'type' => 'String', 'upperBound' => '1'
26
+ end
27
+ end
28
+
29
+
30
+ module Rooms
31
+ extend RGen::MetamodelBuilder::ModuleExtension
32
+ include RGen::MetamodelBuilder::DataTypes
33
+
34
+
35
+ class Room < RGen::MetamodelBuilder::MMBase
36
+ abstract
37
+ annotation 'complexity' => '1', 'date_created' => '2005-09-16 19:52:28', 'date_modified' => '2006-06-22 21:15:25', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
38
+ end
39
+
40
+ class Bathroom < Room
41
+ annotation 'complexity' => '1', 'date_created' => '2006-06-27 08:32:25', 'date_modified' => '2006-06-27 08:34:23', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
42
+ end
43
+
44
+ class Kitchen < RGen::MetamodelBuilder::MMMultiple(HouseMetamodel::MeetingPlace, Room)
45
+ annotation 'complexity' => '1', 'date_created' => '2005-11-30 19:26:13', 'date_modified' => '2006-06-22 21:15:34', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
46
+ end
47
+
48
+ end
49
+
50
+ module DependingOnRooms
51
+ extend RGen::MetamodelBuilder::ModuleExtension
52
+ include RGen::MetamodelBuilder::DataTypes
53
+
54
+
55
+ class RoomSub < HouseMetamodel::Rooms::Room
56
+ end
57
+
58
+ end
59
+ end
60
+
61
+ HouseMetamodel::Person.has_many 'home', HouseMetamodel::House do
62
+ annotation 'containment' => 'Unspecified'
63
+ end
64
+ HouseMetamodel::House.has_one 'bathroom', HouseMetamodel::Rooms::Bathroom, :lowerBound => 1, :transient => true
65
+ HouseMetamodel::House.one_to_one 'kitchen', HouseMetamodel::Rooms::Kitchen, 'house', :lowerBound => 1, :opposite_lowerBound => 1 do
66
+ annotation 'containment' => 'Unspecified'
67
+ opposite_annotation 'containment' => 'Unspecified'
68
+ end
69
+ HouseMetamodel::House.contains_many 'room', HouseMetamodel::Rooms::Room, 'house', :lowerBound => 1 do
70
+ opposite_annotation 'containment' => 'Unspecified'
71
+ end
@@ -0,0 +1,162 @@
1
+ <ecore:EPackage name="HouseMetamodel" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
2
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::MeetingPlace" name="MeetingPlace" eSubTypes="#//Rooms/Kitchen" xsi:type="ecore:EClass">
3
+ <eAnnotations source="testmodel" xsi:type="ecore:EAnnotation">
4
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
5
+ <details key="date_created" value="2006-07-12 08:40:46" xsi:type="ecore:EStringToStringMapEntry"/>
6
+ <details key="date_modified" value="2006-07-12 08:44:02" xsi:type="ecore:EStringToStringMapEntry"/>
7
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
8
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
9
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
10
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
11
+ <details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
12
+ <details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
13
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
14
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
15
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
16
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
17
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
18
+ </eAnnotations>
19
+ </eClassifiers>
20
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Person" name="Person" xsi:type="ecore:EClass">
21
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="sex" eType="#//SexEnum" xsi:type="ecore:EAttribute"/>
22
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
23
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="-1" name="nicknames" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
24
+ <eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="-1" name="home" eType="#//House" xsi:type="ecore:EReference">
25
+ <eAnnotations xsi:type="ecore:EAnnotation">
26
+ <details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
27
+ </eAnnotations>
28
+ </eStructuralFeatures>
29
+ <eAnnotations xsi:type="ecore:EAnnotation">
30
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
31
+ <details key="date_created" value="2006-06-27 08:34:23" xsi:type="ecore:EStringToStringMapEntry"/>
32
+ <details key="date_modified" value="2006-06-27 08:34:26" xsi:type="ecore:EStringToStringMapEntry"/>
33
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
34
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
35
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
36
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
37
+ <details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
38
+ <details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
39
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
40
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
41
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
42
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
43
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
44
+ </eAnnotations>
45
+ </eClassifiers>
46
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::House" name="House" xsi:type="ecore:EClass">
47
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
48
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="module" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
49
+ <eStructuralFeatures iD="false" changeable="false" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute">
50
+ <eAnnotations xsi:type="ecore:EAnnotation">
51
+ <details key="collection" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
52
+ <details key="containment" value="Not Specified" xsi:type="ecore:EStringToStringMapEntry"/>
53
+ <details key="derived" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
54
+ <details key="duplicates" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
55
+ <details key="ea_guid" value="{A8DF581B-9AC6-4f75-AB48-8FAEDFC6E068}" xsi:type="ecore:EStringToStringMapEntry"/>
56
+ <details key="lowerBound" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
57
+ <details key="ordered" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
58
+ <details key="position" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
59
+ <details key="styleex" value="volatile=0;" xsi:type="ecore:EStringToStringMapEntry"/>
60
+ <details key="type" value="String" xsi:type="ecore:EStringToStringMapEntry"/>
61
+ <details key="upperBound" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
62
+ </eAnnotations>
63
+ </eStructuralFeatures>
64
+ <eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="true" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="bathroom" eType="#//Rooms/Bathroom" xsi:type="ecore:EReference"/>
65
+ <eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="kitchen" eOpposite="#//Rooms/Kitchen/house" eType="#//Rooms/Kitchen" xsi:type="ecore:EReference">
66
+ <eAnnotations xsi:type="ecore:EAnnotation">
67
+ <details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
68
+ </eAnnotations>
69
+ </eStructuralFeatures>
70
+ <eStructuralFeatures containment="true" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="-1" name="room" eOpposite="#//Rooms/Room/house" eType="#//Rooms/Room" xsi:type="ecore:EReference"/>
71
+ <eAnnotations xsi:type="ecore:EAnnotation">
72
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
73
+ <details key="date_created" value="2005-09-16 19:52:18" xsi:type="ecore:EStringToStringMapEntry"/>
74
+ <details key="date_modified" value="2006-02-28 08:29:19" xsi:type="ecore:EStringToStringMapEntry"/>
75
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
76
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
77
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
78
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
79
+ <details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
80
+ <details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
81
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
82
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
83
+ <details key="stereotype" value="dummy" xsi:type="ecore:EStringToStringMapEntry"/>
84
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
85
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
86
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
87
+ </eAnnotations>
88
+ </eClassifiers>
89
+ <eClassifiers instanceClassName="HouseMetamodel::SexEnum" name="SexEnum" xsi:type="ecore:EEnum">
90
+ <eLiterals name="male" xsi:type="ecore:EEnumLiteral"/>
91
+ <eLiterals name="female" xsi:type="ecore:EEnumLiteral"/>
92
+ </eClassifiers>
93
+ <eSubpackages name="Rooms" xsi:type="ecore:EPackage">
94
+ <eClassifiers abstract="true" interface="false" instanceClassName="HouseMetamodel::Rooms::Room" name="Room" eSubTypes="#//Rooms/Bathroom #//Rooms/Kitchen #//DependingOnRooms/RoomSub" xsi:type="ecore:EClass">
95
+ <eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="house" eOpposite="#//House/room" eType="#//House" xsi:type="ecore:EReference">
96
+ <eAnnotations xsi:type="ecore:EAnnotation">
97
+ <details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
98
+ </eAnnotations>
99
+ </eStructuralFeatures>
100
+ <eAnnotations xsi:type="ecore:EAnnotation">
101
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
102
+ <details key="date_created" value="2005-09-16 19:52:28" xsi:type="ecore:EStringToStringMapEntry"/>
103
+ <details key="date_modified" value="2006-06-22 21:15:25" xsi:type="ecore:EStringToStringMapEntry"/>
104
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
105
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
106
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
107
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
108
+ <details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
109
+ <details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
110
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
111
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
112
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
113
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
114
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
115
+ </eAnnotations>
116
+ </eClassifiers>
117
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Rooms::Bathroom" name="Bathroom" eSuperTypes="#//Rooms/Room" xsi:type="ecore:EClass">
118
+ <eAnnotations xsi:type="ecore:EAnnotation">
119
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
120
+ <details key="date_created" value="2006-06-27 08:32:25" xsi:type="ecore:EStringToStringMapEntry"/>
121
+ <details key="date_modified" value="2006-06-27 08:34:23" xsi:type="ecore:EStringToStringMapEntry"/>
122
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
123
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
124
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
125
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
126
+ <details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
127
+ <details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
128
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
129
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
130
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
131
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
132
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
133
+ </eAnnotations>
134
+ </eClassifiers>
135
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Rooms::Kitchen" name="Kitchen" eSuperTypes="#//MeetingPlace #//Rooms/Room" xsi:type="ecore:EClass">
136
+ <eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="house" eOpposite="#//House/kitchen" eType="#//House" xsi:type="ecore:EReference">
137
+ <eAnnotations xsi:type="ecore:EAnnotation">
138
+ <details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
139
+ </eAnnotations>
140
+ </eStructuralFeatures>
141
+ <eAnnotations xsi:type="ecore:EAnnotation">
142
+ <details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
143
+ <details key="date_created" value="2005-11-30 19:26:13" xsi:type="ecore:EStringToStringMapEntry"/>
144
+ <details key="date_modified" value="2006-06-22 21:15:34" xsi:type="ecore:EStringToStringMapEntry"/>
145
+ <details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
146
+ <details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
147
+ <details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
148
+ <details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
149
+ <details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
150
+ <details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
151
+ <details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
152
+ <details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
153
+ <details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
154
+ <details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
155
+ <details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
156
+ </eAnnotations>
157
+ </eClassifiers>
158
+ </eSubpackages>
159
+ <eSubpackages name="DependingOnRooms" xsi:type="ecore:EPackage">
160
+ <eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::DependingOnRooms::RoomSub" name="RoomSub" eSuperTypes="#//Rooms/Room" xsi:type="ecore:EClass"/>
161
+ </eSubpackages>
162
+ </ecore:EPackage>
@@ -1,5 +1,5 @@
1
1
  <ecore:EPackage name="P1" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
2
- <eClassifiers name="C1" xsi:type="ecore:EClass">
2
+ <eClassifiers abstract="false" interface="false" name="C1" xsi:type="ecore:EClass">
3
3
  <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
4
4
  <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
5
5
  <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a3" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
@@ -0,0 +1,9 @@
1
+ <ecore:EPackage name="P1" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
2
+ <eClassifiers abstract="false" interface="false" name="C1" xsi:type="ecore:EClass">
3
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
4
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
5
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a3" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
6
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a4" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" xsi:type="ecore:EAttribute"/>
7
+ <eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a5" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" xsi:type="ecore:EAttribute"/>
8
+ </eClassifiers>
9
+ </ecore:EPackage>
@@ -0,0 +1,113 @@
1
+ ePackage "ECore", :eSuperPackage => "" do
2
+ eClass "EObject", :abstract => true, :instanceClassName => "RGen::ECore::EObject"
3
+ eClass "EModelElement", :abstract => true, :instanceClassName => "RGen::ECore::EModelElement" do
4
+ eReference "eAnnotations", :containment => true, :resolveProxies => false, :eOpposite => "EAnnotation.eModelElement", :upperBound => -1, :eType => "EAnnotation"
5
+ end
6
+ eClass "EAnnotation", :eSuperTypes => ["EModelElement", "EObject"], :instanceClassName => "RGen::ECore::EAnnotation" do
7
+ eAttribute "source", :eType => ""
8
+ eReference "eModelElement", :eOpposite => "EModelElement.eAnnotations", :eType => "EModelElement"
9
+ eReference "details", :containment => true, :resolveProxies => false, :upperBound => -1, :eType => "EStringToStringMapEntry"
10
+ eReference "contents", :containment => true, :resolveProxies => false, :upperBound => -1, :eType => "EObject"
11
+ eReference "references", :upperBound => -1, :eType => "EObject"
12
+ end
13
+ eClass "ENamedElement", :abstract => true, :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::ENamedElement" do
14
+ eAttribute "name", :lowerBound => 1, :eType => ""
15
+ end
16
+ eClass "ETypedElement", :abstract => true, :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::ETypedElement" do
17
+ eAttribute "lowerBound", :defaultValueLiteral => "0", :eType => ""
18
+ eAttribute "ordered", :defaultValueLiteral => "true", :eType => ""
19
+ eAttribute "unique", :defaultValueLiteral => "true", :eType => ""
20
+ eAttribute "upperBound", :defaultValueLiteral => "1", :eType => ""
21
+ eAttribute "many", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
22
+ eAttribute "required", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
23
+ eReference "eType", :eType => "EClassifier"
24
+ end
25
+ eClass "EStructuralFeature", :abstract => true, :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EStructuralFeature" do
26
+ eAttribute "changeable", :defaultValueLiteral => "true", :eType => ""
27
+ eAttribute "defaultValue", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
28
+ eAttribute "defaultValueLiteral", :eType => ""
29
+ eAttribute "derived", :defaultValueLiteral => "false", :eType => ""
30
+ eAttribute "transient", :defaultValueLiteral => "false", :eType => ""
31
+ eAttribute "unsettable", :defaultValueLiteral => "false", :eType => ""
32
+ eAttribute "volatile", :defaultValueLiteral => "false", :eType => ""
33
+ eReference "eContainingClass", :eOpposite => "EClass.eStructuralFeatures", :eType => "EClass"
34
+ end
35
+ eClass "EAttribute", :eSuperTypes => ["EStructuralFeature"], :instanceClassName => "RGen::ECore::EAttribute" do
36
+ eAttribute "iD", :defaultValueLiteral => "false", :eType => ""
37
+ eReference "eAttributeType", :changeable => false, :derived => true, :transient => true, :volatile => true, :lowerBound => 1, :eType => "EDataType"
38
+ end
39
+ eClass "EClassifier", :abstract => true, :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EClassifier" do
40
+ eAttribute "defaultValue", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
41
+ eAttribute "instanceClass", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
42
+ eAttribute "instanceClassName", :eType => ""
43
+ eReference "ePackage", :eOpposite => "EPackage.eClassifiers", :eType => "EPackage"
44
+ end
45
+ eClass "EDataType", :eSuperTypes => ["EClassifier"], :instanceClassName => "RGen::ECore::EDataType" do
46
+ eAttribute "serializable", :eType => ""
47
+ end
48
+ eClass "EGenericType", :eSuperTypes => ["EDataType"], :instanceClassName => "RGen::ECore::EGenericType" do
49
+ eReference "eClassifier", :eType => "EDataType"
50
+ eReference "eParameter", :eOpposite => "EParameter.eGenericType", :eType => "EParameter"
51
+ eReference "eTypeArguments", :containment => true, :eOpposite => "ETypeArgument.eGenericType", :upperBound => -1, :eType => "ETypeArgument"
52
+ end
53
+ eClass "ETypeArgument", :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::ETypeArgument" do
54
+ eReference "eClassifier", :eType => "EDataType"
55
+ eReference "eGenericType", :eOpposite => "EGenericType.eTypeArguments", :eType => "EGenericType"
56
+ end
57
+ eClass "EEnum", :eSuperTypes => ["EDataType"], :instanceClassName => "RGen::ECore::EEnum" do
58
+ eReference "eLiterals", :containment => true, :resolveProxies => false, :eOpposite => "EEnumLiteral.eEnum", :upperBound => -1, :eType => "EEnumLiteral"
59
+ end
60
+ eClass "EEnumLiteral", :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EEnumLiteral" do
61
+ eAttribute "literal", :eType => ""
62
+ eAttribute "value", :eType => ""
63
+ eReference "eEnum", :eOpposite => "EEnum.eLiterals", :eType => "EEnum"
64
+ end
65
+ eClass "EFactory", :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::EFactory" do
66
+ eReference "ePackage", :resolveProxies => false, :eOpposite => "EPackage.eFactoryInstance", :transient => true, :lowerBound => 1, :eType => "EPackage"
67
+ end
68
+ eClass "EOperation", :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EOperation" do
69
+ eReference "eContainingClass", :eOpposite => "EClass.eOperations", :eType => "EClass"
70
+ eReference "eParameters", :containment => true, :resolveProxies => false, :eOpposite => "EParameter.eOperation", :upperBound => -1, :eType => "EParameter"
71
+ eReference "eExceptions", :upperBound => -1, :eType => "EClassifier"
72
+ end
73
+ eClass "EPackage", :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EPackage" do
74
+ eAttribute "nsPrefix", :eType => ""
75
+ eAttribute "nsURI", :eType => ""
76
+ eReference "eClassifiers", :containment => true, :eOpposite => "EClassifier.ePackage", :upperBound => -1, :eType => "EClassifier"
77
+ eReference "eSubpackages", :containment => true, :eOpposite => "eSuperPackage", :upperBound => -1, :eType => "EPackage"
78
+ eReference "eSuperPackage", :eOpposite => "eSubpackages", :eType => "EPackage"
79
+ eReference "eFactoryInstance", :eOpposite => "EFactory.ePackage", :eType => "EFactory"
80
+ end
81
+ eClass "EParameter", :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EParameter" do
82
+ eReference "eOperation", :eOpposite => "EOperation.eParameters", :eType => "EOperation"
83
+ eReference "eGenericType", :containment => true, :eOpposite => "EGenericType.eParameter", :eType => "EGenericType"
84
+ end
85
+ eClass "EReference", :eSuperTypes => ["EStructuralFeature"], :instanceClassName => "RGen::ECore::EReference" do
86
+ eAttribute "container", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
87
+ eAttribute "containment", :defaultValueLiteral => "false", :eType => ""
88
+ eAttribute "resolveProxies", :defaultValueLiteral => "true", :eType => ""
89
+ eReference "eOpposite", :eType => "EReference"
90
+ eReference "eReferenceType", :changeable => false, :derived => true, :transient => true, :volatile => true, :lowerBound => 1, :eType => "EClass"
91
+ end
92
+ eClass "EStringToStringMapEntry", :instanceClassName => "RGen::ECore::EStringToStringMapEntry" do
93
+ eAttribute "key", :eType => ""
94
+ eAttribute "value", :eType => ""
95
+ end
96
+ eClass "EClass", :eSuperTypes => ["EClassifier"], :instanceClassName => "RGen::ECore::EClass" do
97
+ eAttribute "abstract", :defaultValueLiteral => "false", :eType => ""
98
+ eAttribute "interface", :defaultValueLiteral => "false", :eType => ""
99
+ eReference "eIDAttribute", :resolveProxies => false, :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => "EAttribute"
100
+ eReference "eAllAttributes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EAttribute"
101
+ eReference "eAllContainments", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
102
+ eReference "eAllOperations", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EOperation"
103
+ eReference "eAllReferences", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
104
+ eReference "eAllStructuralFeatures", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EStructuralFeature"
105
+ eReference "eAllSuperTypes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EClass"
106
+ eReference "eAttributes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EAttribute"
107
+ eReference "eReferences", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
108
+ eReference "eOperations", :containment => true, :resolveProxies => false, :eOpposite => "EOperation.eContainingClass", :upperBound => -1, :eType => "EOperation"
109
+ eReference "eStructuralFeatures", :containment => true, :resolveProxies => false, :eOpposite => "EStructuralFeature.eContainingClass", :upperBound => -1, :eType => "EStructuralFeature"
110
+ eReference "eSuperTypes", :eOpposite => "eSubTypes", :upperBound => -1, :eType => "EClass"
111
+ eReference "eSubTypes", :eOpposite => "eSuperTypes", :upperBound => -1, :eType => "EClass"
112
+ end
113
+ end
@@ -0,0 +1,2 @@
1
+ first line (unix) |
2
+ second line (windows) |
@@ -0,0 +1,2 @@
1
+ first line |
2
+ second line |
@@ -0,0 +1,2 @@
1
+ first line |
2
+ second line |