model_utils: move shortcuts to `MClassKind` in `model`
authorAlexandre Terrasa <alexandre@moz-code.org>
Thu, 21 May 2015 22:32:27 +0000 (18:32 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Fri, 29 May 2015 23:10:10 +0000 (19:10 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/model/model.nit
src/model_utils.nit

index 94f11f2..999e7f1 100644 (file)
@@ -514,6 +514,18 @@ class MClass
 
        # Is there a `new` factory to allow the pseudo instantiation?
        var has_new_factory = false is writable
+
+       # Is `self` a standard or abstract class kind?
+       var is_class: Bool is lazy do return kind == concrete_kind or kind == abstract_kind
+
+       # Is `self` an interface kind?
+       var is_interface: Bool is lazy do return kind == interface_kind
+
+       # Is `self` an enum kind?
+       var is_enum: Bool is lazy do return kind == enum_kind
+
+       # Is `self` and abstract class?
+       var is_abstract: Bool is lazy do return kind == abstract_kind
 end
 
 
index eb4d82b..315dc6b 100644 (file)
@@ -316,22 +316,6 @@ redef class MClass
                end
                return res
        end
-
-       fun is_class: Bool do
-               return self.kind == concrete_kind or self.kind == abstract_kind
-       end
-
-       fun is_interface: Bool do
-               return self.kind == interface_kind
-       end
-
-       fun is_enum: Bool do
-               return self.kind == enum_kind
-       end
-
-       fun is_abstract: Bool do
-               return self.kind == abstract_kind
-       end
 end
 
 redef class MAttribute