rgen 0.8.4 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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 |