nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
model: MParameterType::lookup_bound works for the easy case
[nit.git]
/
src
/
model
/
model_base.nit
diff --git
a/src/model/model_base.nit
b/src/model/model_base.nit
index
666ce8e
..
4ee1eb6
100644
(file)
--- a/
src/model/model_base.nit
+++ b/
src/model/model_base.nit
@@
-23,10
+23,13
@@
class Model
end
# A named and possibly documented entity in the model.
end
# A named and possibly documented entity in the model.
-# This class is usefull to generalize presentation of entities to the human.
+# This class is useful to generalize presentation of entities to the human.
abstract class MEntity
# The short (unqualified) name of this model entity
fun name: String is abstract
abstract class MEntity
# The short (unqualified) name of this model entity
fun name: String is abstract
+
+ # A Model Entity has a direct link to its model
+ fun model: Model is abstract
end
# Something that represents a concern
end
# Something that represents a concern
@@
-43,6
+46,7
@@
end
# * `public_visibility`
# * `protected_visibility`
# * `none_visibility`
# * `public_visibility`
# * `protected_visibility`
# * `none_visibility`
+# * `private_visiblity`
#
# Note this class is basically an enum.
# FIXME: use a real enum once user-defined enums are available
#
# Note this class is basically an enum.
# FIXME: use a real enum once user-defined enums are available
@@
-54,11
+58,7
@@
class MVisibility
private var level: Int
private var level: Int
- private init(s: String, level: Int)
- do
- self.to_s = s
- self.level = level
- end
+ # TODO: private init because enumeration.
# Is self give less visibility than other
# none < private < protected < public < intrude
# Is self give less visibility than other
# none < private < protected < public < intrude
@@
-68,8
+68,13
@@
class MVisibility
end
end
end
end
+# The visibility level `intrude`
fun intrude_visibility: MVisibility do return once new MVisibility("intrude", 5)
fun intrude_visibility: MVisibility do return once new MVisibility("intrude", 5)
+# The visibility level `public`
fun public_visibility: MVisibility do return once new MVisibility("public", 4)
fun public_visibility: MVisibility do return once new MVisibility("public", 4)
+# The visibility level `protected`
fun protected_visibility: MVisibility do return once new MVisibility("protected", 3)
fun protected_visibility: MVisibility do return once new MVisibility("protected", 3)
+# The visibility level `private`
fun private_visibility: MVisibility do return once new MVisibility("private", 2)
fun private_visibility: MVisibility do return once new MVisibility("private", 2)
+# The visibility level `none` (no visibility)
fun none_visibility: MVisibility do return once new MVisibility("none", 1)
fun none_visibility: MVisibility do return once new MVisibility("none", 1)