nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
model: add `MEntity` as a superclass for model entities (ie. most classes in model)
[nit.git]
/
src
/
model
/
model.nit
diff --git
a/src/model/model.nit
b/src/model/model.nit
index
ad1c325
..
7af7656
100644
(file)
--- a/
src/model/model.nit
+++ b/
src/model/model.nit
@@
-287,6
+287,8
@@
end
# belong to a hierarchy since the property and the
# hierarchy of a class depends of a module.
class MClass
# belong to a hierarchy since the property and the
# hierarchy of a class depends of a module.
class MClass
+ super MEntity
+
# The module that introduce the class
# While classes are not bound to a specific module,
# the introducing module is used for naming an visibility
# The module that introduce the class
# While classes are not bound to a specific module,
# the introducing module is used for naming an visibility
@@
-412,6
+414,8
@@
end
# class. Unlike `MClass`, a `MClassDef` is a local definition that belong to
# a specific module
class MClassDef
# class. Unlike `MClass`, a `MClassDef` is a local definition that belong to
# a specific module
class MClassDef
+ super MEntity
+
# The module where the definition is
var mmodule: MModule
# The module where the definition is
var mmodule: MModule
@@
-542,6
+546,7
@@
end
# * foo(anchor, mmodule, othertype)
# * foo(othertype, mmodule, anchor)
abstract class MType
# * foo(anchor, mmodule, othertype)
# * foo(othertype, mmodule, anchor)
abstract class MType
+ super MEntity
# The model of the type
fun model: Model is abstract
# The model of the type
fun model: Model is abstract
@@
-1482,6
+1487,8
@@
end
# of any dynamic type).
# For instance, a call site "x.foo" is associated to a `MProperty`.
abstract class MProperty
# of any dynamic type).
# For instance, a call site "x.foo" is associated to a `MProperty`.
abstract class MProperty
+ super MEntity
+
# The associated MPropDef subclass.
# The two specialization hierarchy are symmetric.
type MPROPDEF: MPropDef
# The associated MPropDef subclass.
# The two specialization hierarchy are symmetric.
type MPROPDEF: MPropDef
@@
-1745,6
+1752,7
@@
end
# Unlike `MProperty`, a `MPropDef` is a local definition that belong to a
# specific class definition (which belong to a specific module)
abstract class MPropDef
# Unlike `MProperty`, a `MPropDef` is a local definition that belong to a
# specific class definition (which belong to a specific module)
abstract class MPropDef
+ super MEntity
# The associated `MProperty` subclass.
# the two specialization hierarchy are symmetric
# The associated `MProperty` subclass.
# the two specialization hierarchy are symmetric