1 # $Id: constant.rb,v 1.4 2011/12/12 20:19:14 machan Exp $
2
3 require 'tmdoc/constant'
4 require 'tmdoc/model/module'
5
6
7 module TmDoc
8
9 module Transformer::CoreIntoModule
10 TOPLEVEL_MODULE_NAME = 'Toplevel-Module'
11 TOPLEVEL_MODULE_PATH = MMLP::AbsolutePath.new_root
12
13 BUILTIN_MODULE_NAME = 'Builtin-Module'
14 BUILTIN_MODULE_PATH = TOPLEVEL_MODULE_PATH << BUILTIN_MODULE_NAME
15
16 OBJECT_CLASS_NAME = 'Object'
17 OBJECT_CLASS_PATH = BUILTIN_MODULE_PATH << OBJECT_CLASS_NAME
18
19 UNKNOWN_MODULE_NAME = 'Unknown-Module'
20 UNKNOWN_MODULE_PATH = TOPLEVEL_MODULE_PATH << UNKNOWN_MODULE_NAME
21
22 UNKNOWN_CLASS_NAME = 'Unknown-Class'
23 UNKNOWN_CLASS_PATH = UNKNOWN_MODULE_PATH << UNKNOWN_CLASS_NAME
24
25
26 MM_OBJECT_CLASS = MMLN::Object.new(
27 BUILTIN_MODULE_PATH,
28 OBJECT_CLASS_NAME
29 )
30 MM_BUILTIN_MODULE = MMLN::BuiltinModule.new(
31 TOPLEVEL_MODULE_PATH,
32 BUILTIN_MODULE_NAME,
33 MMLA::SetOfModule.new([MM_OBJECT_CLASS])
34 )
35 MM_UNKNOWN_CLASS = MMLN::UnknownClass.new(
36 UNKNOWN_MODULE_PATH,
37 UNKNOWN_CLASS_NAME,
38 OBJECT_CLASS_NAME
39 )
40 MM_UNKNOWN_CLASS.inherit_path! OBJECT_CLASS_PATH
41 MM_UNKNOWN_MODULE = MMLN::UnknownModule.new(
42 TOPLEVEL_MODULE_PATH,
43 UNKNOWN_MODULE_NAME,
44 MMLA::SetOfModule.new([MM_UNKNOWN_CLASS])
45 )
46 MM_TOPLEVEL_MODULE = MMLN::ToplevelModule.new(
47 TOPLEVEL_MODULE_PATH,
48 TOPLEVEL_MODULE_NAME,
49 MMLA::SetOfModule.new([MM_BUILTIN_MODULE, MM_UNKNOWN_MODULE])
50 )
51 end
52
53 end # TmDoc