module abstract_compiler
import literal
-import typing
-import auto_super_init
+import semantize
import platform
import c_tools
import parser_util
import modelbuilder
-import modelize_property
+import modelize
import literal
-import typing
+import semantize
private import annotation
# Metadata associated to an Android project
# print AST in an human form
module astprinter
-import typing
import phase
+import semantize
intrude import parser
import literal
# complex annotation that modify both the model and the AST of a Nit program
module cached
-import modelize_property
import parser_util
+import modelize
import simple_misc_analysis
private import annotation
--- /dev/null
+# 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.
+
+# Compilation to C
+module compiler
+
+import separate_erasure_compiler
+import global_compiler
+import compiler_ffi
+
+import android_platform
+import pnacl_platform
+import emscripten_platform
import phase
import literal # Because we need the real value of literal in the AST
-import typing # Because we need the static type of receivers
+import semantize # Because we need the static type of receivers
# Note, `ToolContext` is the main overlord class
# Among its jobs, it orchestrates and executes the various phases
# Collect and orchestration of main frontend phases
module frontend
-import phase
import simple_misc_analysis
import literal
-import scope
-import flow
-import local_var_init
-import typing
-import auto_super_init
+import modelize
+import semantize
import div_by_zero
import cached
import serialization_phase
# Highliting of Nit AST
module highlight
-import modelize_property
import frontend
import html
import pipeline
--- /dev/null
+# 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.
+
+# Interpretation of Nit programs
+module interpreter
+
+import naive_interpreter
+import debugger
+import debugger_socket
# Statistics about the usage of nullables
module nullables_metrics
-import modelbuilder
-private import typing
import model_utils
import mclasses_metrics
-import frontend
+import semantize
redef class ToolContext
var nullables_metrics_phase: Phase = new NullablesMetricsPhase(self, null)
module static_types_metrics
private import metrics_base
-import modelbuilder
-import modelize_class
import frontend
redef class ToolContext
--- /dev/null
+# 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.
+
+# Create a model from nit source files
+module modelize
+
+import modelize_property
# A naive Nit interpreter
module nit
-import naive_interpreter
-import debugger
-import debugger_socket
+import interpreter
+import frontend
# Create a tool context to handle options and paths
var toolcontext = new ToolContext
# A global Nit compiler
module nitg
-import modelbuilder
import frontend
+import compiler
import transform
-import rapid_type_analysis
-import global_compiler
-import separate_erasure_compiler
-import separate_compiler
-import android_platform
-import compiler_ffi
-import pnacl_platform
-import emscripten_platform
redef class ToolContext
redef fun process_options(args)
# A ligHt Nit compiler
module nith
-import phase
-import literal
-import scope
-import flow
-import local_var_init
-import typing
-import auto_super_init
-import modelbuilder
+import modelize
+import transform
+
import rapid_type_analysis
import separate_erasure_compiler
-import transform
redef class ToolContext
redef fun process_options(args)
module nitvm
import vm
+import frontend
# Create a tool context to handle options and paths
var toolcontext = new ToolContext
module nitx
import model_utils
-import modelize_property
+import modelize
# Main class of the nit index tool
# NitIndex build the model using the toolcontext argument
# to the target platform. Also detects conflicts between targetted platforms.
module platform
-import modelize_property
import parser_util
import modelbuilder
+import modelize
private import annotation
redef class ToolContext
import model
import modelbuilder
-import typing
-import auto_super_init
+import semantize
import csv # for live_types_to_csv
import ordered_tree # for live_methods_to_tree
--- /dev/null
+# 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.
+
+# Process bodies of methods in regard with the model.
+module semantize
+
+import auto_super_init
import phase
import parser_util
-import modelize_property
-intrude import modelize_class
+import modelize
redef class ToolContext
var serialization_phase_pre_model: Phase = new SerializationPhasePreModel(self, null)
# Program to test the `markdown` module on real source files.
module test_markdown
-import modelize_property
+import modelize
import highlight
import markdown
# Base options for testing tools.
module testing_base
-import modelize_property
import parser_util
+import modelize
redef class ToolContext
# opt --full
module typing
import flow
-import modelize_property
import phase
+import modelize
import local_var_init
redef class ToolContext