Merge: Clean old projects from `contrib`
[nit.git] / contrib / neo_doxygen / src / model / inner_class.nit
diff --git a/contrib/neo_doxygen/src/model/inner_class.nit b/contrib/neo_doxygen/src/model/inner_class.nit
deleted file mode 100644 (file)
index 9476739..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Adds the possibility to define inner classses.
-module model::inner_class
-
-import member
-import class_compound
-
-# An inner class.
-class InnerClass
-       super MemberOrInner
-
-       redef type INTRODUCER_TYPE: InnerClassIntroducer
-
-       # The outer class definition.
-       #
-       # Used to correct the short name of the inner class definition when
-       # `put_edges` is called.
-       #
-       # SEE: The notice concerning `name` in `/src/neo.nit`.
-       var outer: ClassDef
-
-       # The `model_id` of the actual inner class (`ClassCompound`).
-       var inner: String
-
-       init do
-               super
-               self.labels.add("MInnerClassDef")
-       end
-
-       redef fun is_intro do return true
-       redef fun create_introducer do return new InnerClassIntroducer(graph, self)
-       redef fun resolve_introducer do return introducer
-
-       redef fun put_edges do
-               super
-               var inner = graph.by_id[self.inner]
-               assert inner isa ClassCompound
-               var inner_def = inner.class_def
-               # Correct the short name of `inner` to avoid name collisions in a module.
-               inner_def.name = "{outer.name}{ns_separator}{name}"
-               graph.add_edge(self, "NESTS", inner_def)
-       end
-end
-
-# A `MProperty` node for an inner class.
-class InnerClassIntroducer
-       super MemberIntroducer
-
-       # The definition.
-       var def: InnerClass
-
-       init do
-               super
-               self.labels.add("MInnerClass")
-       end
-
-       redef fun put_edges do
-               super
-               var inner = graph.by_id[def.inner]
-               assert inner isa ClassCompound
-               var outer = def.outer.class_compound
-               # Correct the short name of `inner` to avoid name collisions in a module.
-               inner.name = "{outer.name}{ns_separator}{name}"
-               graph.add_edge(self, "NESTS", inner)
-       end
-end
-
-# Implements `declare_class`.
-redef class ClassCompound
-       redef fun declare_class(id, name, prot) do
-               class_def.declare_class(id, name, prot)
-       end
-end
-
-# Implements `declare_class`.
-redef class ClassDef
-
-       # The set of the defined inner classes.
-       #
-       # All `InnerClass` entities registred here are automatically added to the
-       # graph with the `ClassDef`.
-       #
-       # To ensure that each inner class will be correctly linked,
-       # `declare_class` should be used to add each inner class.
-       var inner_classes: SimpleCollection[InnerClass] = new Array[InnerClass]
-
-       # Declare an inner class.
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the inner class definition.
-       # * `name`: name of the inner class definition.
-       # * `prot`: visibility (proctection).
-       fun declare_class(id: String, name: String, prot: String) do
-               var member = new InnerClass(graph, self, id)
-               member.name = name
-               member.visibility = prot
-               members.add member
-               inner_classes.add member
-       end
-
-       redef fun put_in_graph do
-               super
-               for member in inner_classes do
-                       member.put_in_graph
-               end
-       end
-end