From 2e5a405ba5d1a04effab020a709eba4ea88ed1b3 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Fri, 10 Oct 2014 21:24:36 -0400 Subject: [PATCH] src: remove some warnings and do some cleaning Signed-off-by: Jean Privat --- src/astbuilder.nit | 1 - src/compiler/abstract_compiler.nit | 57 +++++++++++++--------------- src/compiler/android_annotations.nit | 2 - src/compiler/coloring.nit | 2 - src/compiler/compiler_ffi.nit | 4 +- src/compiler/separate_compiler.nit | 18 ++++----- src/compiler/separate_erasure_compiler.nit | 5 +-- src/ffi/java.nit | 11 ++---- src/highlight.nit | 2 - src/interpreter/debugger.nit | 13 +------ src/interpreter/naive_interpreter.nit | 36 +++++++++--------- src/metrics/tables_metrics.nit | 2 - src/model_utils.nit | 3 -- src/modelize/modelize_class.nit | 3 +- src/modelize/modelize_property.nit | 32 ++++++++-------- src/neo.nit | 1 - src/nitpretty.nit | 1 - src/parser/parser_work.nit | 2 - src/semantize/auto_super_init.nit | 4 -- src/semantize/typing.nit | 21 +++++----- 20 files changed, 86 insertions(+), 134 deletions(-) diff --git a/src/astbuilder.nit b/src/astbuilder.nit index 8e17b4e..3dae82c 100644 --- a/src/astbuilder.nit +++ b/src/astbuilder.nit @@ -251,7 +251,6 @@ redef class ACallExpr if args != null then self.n_args.n_exprs.add_all(args) end - var mtype = recv.mtype.as(not null) self.callsite = callsite self.mtype = callsite.msignature.return_mtype self.is_typed = true diff --git a/src/compiler/abstract_compiler.nit b/src/compiler/abstract_compiler.nit index 04e0719..0a11d32 100644 --- a/src/compiler/abstract_compiler.nit +++ b/src/compiler/abstract_compiler.nit @@ -27,43 +27,43 @@ import mixin # Add compiling options redef class ToolContext # --output - var opt_output: OptionString = new OptionString("Output file", "-o", "--output") + var opt_output = new OptionString("Output file", "-o", "--output") # --dir - var opt_dir: OptionString = new OptionString("Output directory", "--dir") + var opt_dir = new OptionString("Output directory", "--dir") # --no-cc - var opt_no_cc: OptionBool = new OptionBool("Do not invoke C compiler", "--no-cc") + var opt_no_cc = new OptionBool("Do not invoke C compiler", "--no-cc") # --no-main - var opt_no_main: OptionBool = new OptionBool("Do not generate main entry point", "--no-main") + var opt_no_main = new OptionBool("Do not generate main entry point", "--no-main") # --cc-paths - var opt_cc_path: OptionArray = new OptionArray("Set include path for C header files (may be used more than once)", "--cc-path") + var opt_cc_path = new OptionArray("Set include path for C header files (may be used more than once)", "--cc-path") # --make-flags - var opt_make_flags: OptionString = new OptionString("Additional options to make", "--make-flags") + var opt_make_flags = new OptionString("Additional options to make", "--make-flags") # --compile-dir - var opt_compile_dir: OptionString = new OptionString("Directory used to generate temporary files", "--compile-dir") + var opt_compile_dir = new OptionString("Directory used to generate temporary files", "--compile-dir") # --hardening - var opt_hardening: OptionBool = new OptionBool("Generate contracts in the C code against bugs in the compiler", "--hardening") + var opt_hardening = new OptionBool("Generate contracts in the C code against bugs in the compiler", "--hardening") # --no-shortcut-range - var opt_no_shortcut_range: OptionBool = new OptionBool("Always insantiate a range and its iterator on 'for' loops", "--no-shortcut-range") + var opt_no_shortcut_range = new OptionBool("Always insantiate a range and its iterator on 'for' loops", "--no-shortcut-range") # --no-check-covariance - var opt_no_check_covariance: OptionBool = new OptionBool("Disable type tests of covariant parameters (dangerous)", "--no-check-covariance") + var opt_no_check_covariance = new OptionBool("Disable type tests of covariant parameters (dangerous)", "--no-check-covariance") # --no-check-attr-isset - var opt_no_check_attr_isset: OptionBool = new OptionBool("Disable isset tests before each attribute access (dangerous)", "--no-check-attr-isset") + var opt_no_check_attr_isset = new OptionBool("Disable isset tests before each attribute access (dangerous)", "--no-check-attr-isset") # --no-check-assert - var opt_no_check_assert: OptionBool = new OptionBool("Disable the evaluation of explicit 'assert' and 'as' (dangerous)", "--no-check-assert") + var opt_no_check_assert = new OptionBool("Disable the evaluation of explicit 'assert' and 'as' (dangerous)", "--no-check-assert") # --no-check-autocast - var opt_no_check_autocast: OptionBool = new OptionBool("Disable implicit casts on unsafe expression usage (dangerous)", "--no-check-autocast") + var opt_no_check_autocast = new OptionBool("Disable implicit casts on unsafe expression usage (dangerous)", "--no-check-autocast") # --no-check-null - var opt_no_check_null: OptionBool = new OptionBool("Disable tests of null receiver (dangerous)", "--no-check-null") + var opt_no_check_null = new OptionBool("Disable tests of null receiver (dangerous)", "--no-check-null") # --no-check-all - var opt_no_check_all: OptionBool = new OptionBool("Disable all tests (dangerous)", "--no-check-all") + var opt_no_check_all = new OptionBool("Disable all tests (dangerous)", "--no-check-all") # --typing-test-metrics - var opt_typing_test_metrics: OptionBool = new OptionBool("Enable static and dynamic count of all type tests", "--typing-test-metrics") + var opt_typing_test_metrics = new OptionBool("Enable static and dynamic count of all type tests", "--typing-test-metrics") # --invocation-metrics - var opt_invocation_metrics: OptionBool = new OptionBool("Enable static and dynamic count of all method invocations", "--invocation-metrics") + var opt_invocation_metrics = new OptionBool("Enable static and dynamic count of all method invocations", "--invocation-metrics") # --isset-checks-metrics - var opt_isset_checks_metrics: OptionBool = new OptionBool("Enable static and dynamic count of isset checks before attributes access", "--isset-checks-metrics") + var opt_isset_checks_metrics = new OptionBool("Enable static and dynamic count of isset checks before attributes access", "--isset-checks-metrics") # --stacktrace - var opt_stacktrace: OptionString = new OptionString("Control the generation of stack traces", "--stacktrace") + var opt_stacktrace = new OptionString("Control the generation of stack traces", "--stacktrace") # --no-gcc-directives var opt_no_gcc_directive = new OptionArray("Disable a advanced gcc directives for optimization", "--no-gcc-directive") # --release @@ -182,7 +182,6 @@ class MakefileToolchain do gather_cc_paths - var mainmodule = compiler.mainmodule var compile_dir = compile_dir # Generate the .h and .c files @@ -230,7 +229,6 @@ class MakefileToolchain compiler.files_to_copy.add "{cc_paths.first}/gc_chooser.h" # FFI - var m2m = toolcontext.modelbuilder.mmodule2nmodule for m in compiler.mainmodule.in_importation.greaters do compiler.finalize_ffi_for_module(m) end @@ -352,7 +350,6 @@ class MakefileToolchain end var linker_options = new HashSet[String] - var m2m = toolcontext.modelbuilder.mmodule2nmodule for m in mainmodule.in_importation.greaters do var libs = m.collect_linker_libs if libs != null then linker_options.add_all(libs) @@ -460,7 +457,7 @@ abstract class AbstractCompiler # The real main module of the program var realmainmodule: MModule - # The modeulbuilder used to know the model and the AST + # The modelbuilder used to know the model and the AST var modelbuilder: ModelBuilder is protected writable # Is hardening asked? (see --hardening) @@ -484,7 +481,7 @@ abstract class AbstractCompiler # The list of all associated files # Used to generate .c files - var files: List[CodeFile] = new List[CodeFile] + var files = new List[CodeFile] # Initialize a visitor specific for a compiler engine fun new_visitor: VISITOR is abstract @@ -551,8 +548,6 @@ abstract class AbstractCompiler # Compile C headers # This method call compile_header_strucs method that has to be refined fun compile_header do - var v = self.header - var toolctx = modelbuilder.toolcontext self.header.add_decl("#include ") self.header.add_decl("#include ") self.header.add_decl("#include ") @@ -1229,7 +1224,7 @@ abstract class AbstractCompilerVisitor # Checks - # Add a check and an abort for a null reciever if needed + # Add a check and an abort for a null receiver if needed fun check_recv_notnull(recv: RuntimeVariable) do if self.compiler.modelbuilder.toolcontext.opt_no_check_null.value then return @@ -1244,7 +1239,7 @@ abstract class AbstractCompilerVisitor # Names handling - private var names: HashSet[String] = new HashSet[String] + private var names = new HashSet[String] private var last: Int = 0 # Return a new name based on `s` and unique in the visitor @@ -1286,7 +1281,7 @@ abstract class AbstractCompilerVisitor # Variables handling - protected var variables: HashMap[Variable, RuntimeVariable] = new HashMap[Variable, RuntimeVariable] + protected var variables = new HashMap[Variable, RuntimeVariable] # Return the local runtime_variable associated to a Nit local variable fun variable(variable: Variable): RuntimeVariable @@ -2787,7 +2782,7 @@ redef class ACrangeExpr var i2 = v.expr(self.n_expr2, null) var mtype = self.mtype.as(MClassType) var res = v.init_instance(mtype) - var it = v.compile_callsite(init_callsite.as(not null), [res, i1, i2]) + v.compile_callsite(init_callsite.as(not null), [res, i1, i2]) return res end end @@ -2799,7 +2794,7 @@ redef class AOrangeExpr var i2 = v.expr(self.n_expr2, null) var mtype = self.mtype.as(MClassType) var res = v.init_instance(mtype) - var it = v.compile_callsite(init_callsite.as(not null), [res, i1, i2]) + v.compile_callsite(init_callsite.as(not null), [res, i1, i2]) return res end end diff --git a/src/compiler/android_annotations.nit b/src/compiler/android_annotations.nit index a6fc4e2..cc24d6e 100644 --- a/src/compiler/android_annotations.nit +++ b/src/compiler/android_annotations.nit @@ -125,11 +125,9 @@ redef class AAnnotation # revision number. If the working tree is dirty, it will append another field with "d" for dirty. private fun as_version(modelbuilder: ModelBuilder): String do - var annotation_name = n_atid.n_id.text var version_fields = new Array[Object] var args = n_args - var platform_name if args.length < 1 then modelbuilder.error(self, "Annotation error: \"{name}\" expects at least a single argument.") return "" diff --git a/src/compiler/coloring.nit b/src/compiler/coloring.nit index ed9b466..e447080 100644 --- a/src/compiler/coloring.nit +++ b/src/compiler/coloring.nit @@ -279,8 +279,6 @@ class BucketsColorer[H: Object, E: Object] private var colors = new HashMap[E, Int] private var conflicts = new HashMap[E, Set[E]] - init do end - # Start bucket coloring fun colorize(buckets: Map[H, Set[E]]): Map[E, Int] do compute_conflicts(buckets) diff --git a/src/compiler/compiler_ffi.nit b/src/compiler/compiler_ffi.nit index 37689d8..e9c740a 100644 --- a/src/compiler/compiler_ffi.nit +++ b/src/compiler/compiler_ffi.nit @@ -82,7 +82,7 @@ extern void nitni_global_ref_decr(void*); return res end - private var compiled_callbacks: Array[NitniCallback] = new Array[NitniCallback] + private var compiled_callbacks = new Array[NitniCallback] # Returns true if callbacks has yet to be generated and register it as being generated private fun check_callback_compilation(cb: NitniCallback): Bool @@ -98,7 +98,6 @@ redef class AMethPropdef do var mmodule = mpropdef.mclassdef.mmodule var mainmodule = v.compiler.mainmodule - var amainmodule = v.compiler.modelbuilder.mmodule2nmodule[mainmodule] var amodule = v.compiler.modelbuilder.mmodule2nmodule[mmodule] var mclass_type = mpropdef.mclassdef.bound_mtype @@ -428,7 +427,6 @@ redef class MExplicitSuper var mproperty = from.mproperty assert mproperty isa MMethod var mclass_type = from.mclassdef.mclass.mclass_type - var mmodule = from.mclassdef.mmodule # In nitni files, declare internal function as extern var internal_csignature = mproperty.build_csignature(mclass_type, v.compiler.mainmodule, "___super", long_signature, internal_call_context) diff --git a/src/compiler/separate_compiler.nit b/src/compiler/separate_compiler.nit index 8c400f9..7eed804 100644 --- a/src/compiler/separate_compiler.nit +++ b/src/compiler/separate_compiler.nit @@ -22,19 +22,19 @@ import rapid_type_analysis # Add separate compiler specific options redef class ToolContext # --separate - var opt_separate: OptionBool = new OptionBool("Use separate compilation", "--separate") + var opt_separate = new OptionBool("Use separate compilation", "--separate") # --no-inline-intern - var opt_no_inline_intern: OptionBool = new OptionBool("Do not inline call to intern methods", "--no-inline-intern") + var opt_no_inline_intern = new OptionBool("Do not inline call to intern methods", "--no-inline-intern") # --no-union-attribute - var opt_no_union_attribute: OptionBool = new OptionBool("Put primitive attibutes in a box instead of an union", "--no-union-attribute") + var opt_no_union_attribute = new OptionBool("Put primitive attibutes in a box instead of an union", "--no-union-attribute") # --no-shortcut-equate - var opt_no_shortcut_equate: OptionBool = new OptionBool("Always call == in a polymorphic way", "--no-shortcut-equal") + var opt_no_shortcut_equate = new OptionBool("Always call == in a polymorphic way", "--no-shortcut-equal") # --inline-coloring-numbers - var opt_inline_coloring_numbers: OptionBool = new OptionBool("Inline colors and ids (semi-global)", "--inline-coloring-numbers") + var opt_inline_coloring_numbers = new OptionBool("Inline colors and ids (semi-global)", "--inline-coloring-numbers") # --inline-some-methods - var opt_inline_some_methods: OptionBool = new OptionBool("Allow the separate compiler to inline some methods (semi-global)", "--inline-some-methods") + var opt_inline_some_methods = new OptionBool("Allow the separate compiler to inline some methods (semi-global)", "--inline-some-methods") # --direct-call-monomorph - var opt_direct_call_monomorph: OptionBool = new OptionBool("Allow the separate compiler to direct call monomorph sites (semi-global)", "--direct-call-monomorph") + var opt_direct_call_monomorph = new OptionBool("Allow the separate compiler to direct call monomorph sites (semi-global)", "--direct-call-monomorph") # --skip-dead-methods var opt_skip_dead_methods = new OptionBool("Do not compile dead methods (semi-global)", "--skip-dead-methods") # --semi-global @@ -42,7 +42,7 @@ redef class ToolContext # --no-colo-dead-methods var opt_colo_dead_methods = new OptionBool("Force colorization of dead methods", "--colo-dead-methods") # --tables-metrics - var opt_tables_metrics: OptionBool = new OptionBool("Enable static size measuring of tables used for vft, typing and resolution", "--tables-metrics") + var opt_tables_metrics = new OptionBool("Enable static size measuring of tables used for vft, typing and resolution", "--tables-metrics") redef init do @@ -963,7 +963,6 @@ class SeparateCompilerVisitor redef fun unbox_signature_extern(m, args) do var msignature = m.msignature.resolve_for(m.mclassdef.bound_mtype, m.mclassdef.bound_mtype, m.mclassdef.mmodule, true) - var recv = args.first if not m.mproperty.is_init and m.is_extern then args.first = self.unbox_extern(args.first, m.mclassdef.mclass.mclass_type) end @@ -1063,7 +1062,6 @@ class SeparateCompilerVisitor redef fun compile_callsite(callsite, args) do var rta = compiler.runtime_type_analysis - var recv = args.first.mtype var mmethod = callsite.mproperty # TODO: Inlining of new-style constructors if compiler.modelbuilder.toolcontext.opt_direct_call_monomorph.value and rta != null and not mmethod.is_root_init then diff --git a/src/compiler/separate_erasure_compiler.nit b/src/compiler/separate_erasure_compiler.nit index af3a43c..c23476d 100644 --- a/src/compiler/separate_erasure_compiler.nit +++ b/src/compiler/separate_erasure_compiler.nit @@ -20,11 +20,11 @@ intrude import separate_compiler # Add separate erased compiler specific options redef class ToolContext # --erasure - var opt_erasure: OptionBool = new OptionBool("Erase generic types", "--erasure") + var opt_erasure = new OptionBool("Erase generic types", "--erasure") # --rta var opt_rta = new OptionBool("Activate RTA (implicit with --global and --separate)", "--rta") # --no-check-erasure-cast - var opt_no_check_erasure_cast: OptionBool = new OptionBool("Disable implicit casts on unsafe return with erasure-typing policy (dangerous)", "--no-check-erasure-cast") + var opt_no_check_erasure_cast = new OptionBool("Disable implicit casts on unsafe return with erasure-typing policy (dangerous)", "--no-check-erasure-cast") redef init do @@ -549,7 +549,6 @@ class SeparateErasureCompilerVisitor end var class_ptr - var type_table if value.mtype.ctype == "val*" then class_ptr = "{value}->class->" else diff --git a/src/ffi/java.nit b/src/ffi/java.nit index 7be54ce..ddaf7d9 100644 --- a/src/ffi/java.nit +++ b/src/ffi/java.nit @@ -96,7 +96,6 @@ class JavaLanguage var jni_signature_alt var return_type - var c_return_type var params = new Array[String] params.add "nit_ffi_jni_env" params.add "java_class" @@ -105,19 +104,16 @@ class JavaLanguage if mproperty.is_init then jni_signature_alt = mclass_type.jni_signature_alt return_type = mclass_type - c_return_type = mclass_type.cname else params.add "recv" if signature.return_mtype != null then var ret_mtype = signature.return_mtype ret_mtype = ret_mtype.resolve_for(mclass_type, mclass_type, mmodule, true) return_type = signature.return_mtype - c_return_type = mclass_type.cname jni_signature_alt = return_type.jni_signature_alt else jni_signature_alt = "Void" return_type = null - c_return_type = null end end @@ -262,12 +258,12 @@ redef class AMethPropdef end end - # Insert additionnal explicit calls to get the current `JNIEnv` + # Insert additional explicit calls to get the current `JNIEnv` # # This forces declaration of callbacks to Nit. The callbacks will be available in Java # but will be used mainly by the FFI itself. # - # The developper can aso customize the JNIEnv used by the FFI by redefing `Sys::jni_env`. + # The developer can also customize the JNIEnv used by the FFI by redefining `Sys::jni_env`. private fun insert_artificial_callbacks(toolcontext: ToolContext) do var fcc = foreign_callbacks @@ -450,7 +446,7 @@ redef class MType # Type name in Java # # * Primitives common to both languages use their Java primitive type - # * Nit extern Java classes are reprensented by their full Java type + # * Nit extern Java classes are represented by their full Java type # * Other Nit objects are represented by `int` in Java. It holds the # pointer to the underlying C structure. # TODO create static Java types to store and hide the pointer @@ -502,7 +498,6 @@ redef class MClassType do var ftype = mclass.ftype if ftype isa ForeignJavaType then - var ori_jni_type = jni_type var jni_type = ftype.java_type. replace('.', "/").replace(' ', "").replace('\n', "") diff --git a/src/highlight.nit b/src/highlight.nit index 06075b4..fe5375c 100644 --- a/src/highlight.nit +++ b/src/highlight.nit @@ -52,7 +52,6 @@ class HighlightVisitor do var stack2 = new Array[HTMLTag] var stack = new Array[Prod] - var closes = new Array[Prod] var line = 0 var c: nullable Token = first_token var hv = new HighlightVisitor @@ -932,4 +931,3 @@ redef class AExpr return t.infobox(v) end end - diff --git a/src/interpreter/debugger.nit b/src/interpreter/debugger.nit index 586c04c..b242141 100644 --- a/src/interpreter/debugger.nit +++ b/src/interpreter/debugger.nit @@ -120,9 +120,9 @@ redef class ToolContext end # -d - var opt_debugger_mode: OptionBool = new OptionBool("Launches the target program with the debugger attached to it", "-d") + var opt_debugger_mode = new OptionBool("Launches the target program with the debugger attached to it", "-d") # -c - var opt_debugger_autorun: OptionBool = new OptionBool("Launches the target program with the interpreter, such as when the program fails, the debugging prompt is summoned", "-c") + var opt_debugger_autorun = new OptionBool("Launches the target program with the interpreter, such as when the program fails, the debugging prompt is summoned", "-c") redef init do @@ -324,7 +324,6 @@ class Debugger var mmod = e.mmodule if mmod != null then self.mainmodule = mmod - var local_classdefs = mmod.mclassdefs var sys_type = mmod.sys_type if sys_type == null then print "Fatal error, cannot find Class Sys !\nAborting" @@ -399,7 +398,6 @@ class Debugger var identifiers_in_instruction = get_identifiers_in_current_instruction(n.location.text) for i in identifiers_in_instruction do - var variable = seek_variable(i, frame) for j in self.traces do if j.is_variable_traced_in_frame(i, frame) then n.debug("Traced variable {i} used") @@ -588,8 +586,6 @@ class Debugger if parts_of_command[1] == "*" then var map_of_instances = frame.map - var keys = map_of_instances.iterator - var self_var = seek_variable("self", frame) print "self: {self_var.to_s}" @@ -832,14 +828,12 @@ class Debugger var trigger_char_escape = false var trigger_string_escape = false - var trigger_concat_in_string = false for i in instruction.chars do if trigger_char_escape then if i == '\'' then trigger_char_escape = false else if trigger_string_escape then if i == '{' then - trigger_concat_in_string = true trigger_string_escape = false else if i == '\"' then trigger_string_escape = false else @@ -857,7 +851,6 @@ class Debugger else if i == '\"' then trigger_string_escape = true else if i == '}' then - trigger_concat_in_string = false trigger_string_escape = true else if instruction_buffer.length > 0 and not instruction_buffer.is_numeric and not (instruction_buffer.chars[0] >= 'A' and instruction_buffer.chars[0] <= 'Z') then result_array.push(instruction_buffer.to_s) @@ -1084,8 +1077,6 @@ class Debugger do var collection_length_attribute = get_attribute_in_mutable_instance(collection, "length") - var real_collection_length: nullable Int = null - if collection_length_attribute != null then var primitive_length_instance = collection.attributes[collection_length_attribute] if primitive_length_instance isa PrimitiveInstance[Int] then diff --git a/src/interpreter/naive_interpreter.nit b/src/interpreter/naive_interpreter.nit index 55c6567..09d05e6 100644 --- a/src/interpreter/naive_interpreter.nit +++ b/src/interpreter/naive_interpreter.nit @@ -24,7 +24,7 @@ import mixin redef class ToolContext # --discover-call-trace - var opt_discover_call_trace: OptionBool = new OptionBool("Trace calls of the first invocation of a method", "--discover-call-trace") + var opt_discover_call_trace = new OptionBool("Trace calls of the first invocation of a method", "--discover-call-trace") redef init do @@ -58,7 +58,7 @@ class NaiveInterpreter # The modelbuilder that know the AST and its associations with the model var modelbuilder: ModelBuilder - # The main moduleof the program (used to lookup methoda + # The main module of the program (used to lookup method) var mainmodule: MModule # The command line arguments of the interpreted program @@ -66,6 +66,7 @@ class NaiveInterpreter # arguments[1] is the first argument var arguments: Array[String] + # The main Sys instance var mainobj: nullable Instance init(modelbuilder: ModelBuilder, mainmodule: MModule, arguments: Array[String]) @@ -226,13 +227,13 @@ class NaiveInterpreter return new PrimitiveInstance[Float](ic.mclass_type, val) end - # The unique intance of the `true` value. + # The unique instance of the `true` value. var true_instance: Instance - # The unique intance of the `false` value. + # The unique instance of the `false` value. var false_instance: Instance - # The unique intance of the `null` value. + # The unique instance of the `null` value. var null_instance: Instance # Return a new array made of `values`. @@ -283,9 +284,9 @@ class NaiveInterpreter fun frame: Frame do return frames.first # The stack of all frames. The first one is the current one. - var frames: List[Frame] = new List[Frame] + var frames = new List[Frame] - # Return a stack stace. One line per function + # Return a stack trace. One line per function fun stack_trace: String do var b = new FlatBuffer @@ -332,7 +333,7 @@ class NaiveInterpreter f.map[v] = value end - # Store known method, used to trace methods as thez are reached + # Store known methods, used to trace methods as they are reached var discover_call_trace: Set[MMethodDef] = new HashSet[MMethodDef] # Common code for calls to injected methods and normal methods @@ -367,8 +368,8 @@ class NaiveInterpreter end # Execute `mpropdef` for a `args` (where `args[0]` is the receiver). - # Return a falue if `mpropdef` is a function, or null if it is a procedure. - # The call is direct/static. There is no message-seding/late-binding. + # Return a value if `mpropdef` is a function, or null if it is a procedure. + # The call is direct/static. There is no message-sending/late-binding. fun call(mpropdef: MMethodDef, args: Array[Instance]): nullable Instance do args = call_commons(mpropdef, args) @@ -444,7 +445,7 @@ class NaiveInterpreter end # Execute a full `callsite` for given `args` - # Use this method, instead of `send` to execute and control the aditionnal behavior of the call-sites + # Use this method, instead of `send` to execute and control the additional behavior of the call-sites fun callsite(callsite: nullable CallSite, arguments: Array[Instance]): nullable Instance do var initializers = callsite.mpropdef.initializers @@ -473,8 +474,8 @@ class NaiveInterpreter end # Execute `mproperty` for a `args` (where `args[0]` is the receiver). - # Return a falue if `mproperty` is a function, or null if it is a procedure. - # The call is polimotphic. There is a message-seding/late-bindng according to te receiver (args[0]). + # Return a value if `mproperty` is a function, or null if it is a procedure. + # The call is polymorphic. There is a message-sending/late-binding according to the receiver (args[0]). fun send(mproperty: MMethod, args: Array[Instance]): nullable Instance do var recv = args.first @@ -534,7 +535,7 @@ class NaiveInterpreter return res end - var collect_attr_propdef_cache = new HashMap[MType, Array[AAttrPropdef]] + private var collect_attr_propdef_cache = new HashMap[MType, Array[AAttrPropdef]] # Fill the initial values of the newly created instance `recv`. # `recv.mtype` is used to know what must be filled. @@ -770,7 +771,7 @@ redef class AMethPropdef var txt = recv.mtype.to_s return v.native_string_instance(txt) else if pname == "==" then - # == is correclt redefined for instances + # == is correctly redefined for instances return v.bool_instance(args[0] == args[1]) else if pname == "!=" then return v.bool_instance(args[0] != args[1]) @@ -1591,7 +1592,6 @@ redef class AAsNotnullExpr do var i = v.expr(self.n_expr) if i == null then return null - var mtype = v.unanchor_type(self.mtype.as(not null)) if i.mtype isa MNullType then fatal(v, "Cast failed") end @@ -1676,7 +1676,7 @@ redef class ASuperExpr var callsite = self.callsite if callsite != null then - # Add additionnals arguments for the super init call + # Add additional arguments for the super init call if args.length == 1 then for i in [0..callsite.msignature.arity[ do args.add(v.frame.arguments[i+1]) @@ -1691,7 +1691,7 @@ redef class ASuperExpr args = v.frame.arguments end - # stantard call-next-method + # standard call-next-method var mpropdef = self.mpropdef mpropdef = mpropdef.lookup_next_definition(v.mainmodule, recv.mtype) var res = v.call_without_varargs(mpropdef, args) diff --git a/src/metrics/tables_metrics.nit b/src/metrics/tables_metrics.nit index 664415a..eac5853 100644 --- a/src/metrics/tables_metrics.nit +++ b/src/metrics/tables_metrics.nit @@ -35,8 +35,6 @@ end # Print class tables metrics for the classes of the program main fun compute_tables_metrics(main: MModule) do - var model = main.model - var nc = 0 # Number of runtime classes var nl = 0 # Number of usages of class definitions (a class definition can be used more than once) var nhp = 0 # Number of usages of properties (a property can be used more than once) diff --git a/src/model_utils.nit b/src/model_utils.nit index 3153274..9297793 100644 --- a/src/model_utils.nit +++ b/src/model_utils.nit @@ -528,7 +528,6 @@ class MEntityNameSorter super Comparator redef type COMPARED: MEntity redef fun compare(a, b) do return a.name <=> b.name - init do end end # Sort MConcerns based on the module importation hierarchy ranking @@ -544,8 +543,6 @@ class MConcernRankSorter super Comparator redef type COMPARED: MConcern - init do end - redef fun compare(a, b) do if a.concern_rank == b.concern_rank then return a.name <=> b.name diff --git a/src/modelize/modelize_class.nit b/src/modelize/modelize_class.nit index 2a5e9fb..441a6c2 100644 --- a/src/modelize/modelize_class.nit +++ b/src/modelize/modelize_class.nit @@ -258,7 +258,6 @@ redef class ModelBuilder private fun check_supertypes(nmodule: AModule, nclassdef: AClassdef) do var mmodule = nmodule.mmodule.as(not null) - var objectclass = try_get_mclass_by_name(nmodule, mmodule, "Object") var mclass = nclassdef.mclass.as(not null) var mclassdef = nclassdef.mclassdef.as(not null) @@ -410,7 +409,7 @@ redef class ModelBuilder # Register the nclassdef associated to each mclassdef # FIXME: why not refine the `MClassDef` class with a nullable attribute? - var mclassdef2nclassdef: HashMap[MClassDef, AClassdef] = new HashMap[MClassDef, AClassdef] + var mclassdef2nclassdef = new HashMap[MClassDef, AClassdef] # Return the static type associated to the node `ntype`. # `mmodule` and `mclassdef` is the context where the call is made (used to understand formal types) diff --git a/src/modelize/modelize_property.nit b/src/modelize/modelize_property.nit index cbcae54..bb4d2cd 100644 --- a/src/modelize/modelize_property.nit +++ b/src/modelize/modelize_property.nit @@ -38,7 +38,7 @@ end redef class ModelBuilder # Register the npropdef associated to each mpropdef # FIXME: why not refine the `MPropDef` class with a nullable attribute? - var mpropdef2npropdef: HashMap[MPropDef, APropdef] = new HashMap[MPropDef, APropdef] + var mpropdef2npropdef = new HashMap[MPropDef, APropdef] # Build the properties of `nclassdef`. # REQUIRE: all superclasses are built. @@ -244,7 +244,7 @@ redef class ModelBuilder # Extract visibility information of the main part of `mtype` # It is a case-by case var vis_type: nullable MVisibility = null # The own visibility of the type - var mmodule_type: nullable MModule = null # The origial module of the type + var mmodule_type: nullable MModule = null # The original module of the type mtype = mtype.as_notnullable if mtype isa MClassType then vis_type = mtype.mclass.visibility @@ -291,7 +291,7 @@ redef class MPropDef end redef class AClassdef - var build_properties_is_done: Bool = false + var build_properties_is_done = false # The free init (implicitely constructed by the class if required) var mfree_init: nullable MMethodDef = null @@ -474,7 +474,7 @@ redef class ASignature var ntype = self.n_type if ntype != null then self.ret_type = modelbuilder.resolve_mtype(mmodule, mclassdef, ntype) - if self.ret_type == null then return false # Skip errir + if self.ret_type == null then return false # Skip error end self.is_visited = true @@ -762,12 +762,12 @@ redef class AAttrPropdef # Is the node tagged `noinit`? var noinit = false - # Is the node taggeg lazy? + # Is the node tagged lazy? var is_lazy = false - # The guard associated to a lasy attribute. + # The guard associated to a lazy attribute. # Because some engines does not have a working `isset`, - # this additionnal attribute is used to guard the lazy initialization. + # this additional attribute is used to guard the lazy initialization. # TODO: to remove once isset is correctly implemented var mlazypropdef: nullable MAttributeDef @@ -874,7 +874,7 @@ redef class AAttrPropdef redef fun build_signature(modelbuilder) do var mpropdef = self.mpropdef - if mpropdef == null then return # Error thus skiped + if mpropdef == null then return # Error thus skipped var mclassdef = mpropdef.mclassdef var mmodule = mclassdef.mmodule var mtype: nullable MType = null @@ -887,10 +887,10 @@ redef class AAttrPropdef if mtype == null then return end - # Inherit the type from the getter (usually an abstact getter) + # Inherit the type from the getter (usually an abstract getter) if mtype == null and mreadpropdef != null and not mreadpropdef.is_intro then var msignature = mreadpropdef.mproperty.intro.msignature - if msignature == null then return # Error, thus skiped + if msignature == null then return # Error, thus skipped mtype = msignature.return_mtype end @@ -962,12 +962,10 @@ redef class AAttrPropdef redef fun check_signature(modelbuilder) do var mpropdef = self.mpropdef - if mpropdef == null then return # Error thus skiped - var mclassdef = mpropdef.mclassdef - var mmodule = mclassdef.mmodule + if mpropdef == null then return # Error thus skipped var ntype = self.n_type var mtype = self.mpropdef.static_mtype - if mtype == null then return # Error thus skiped + if mtype == null then return # Error thus skipped # Lookup for signature in the precursor # FIXME all precursors should be considered @@ -1090,7 +1088,7 @@ redef class ATypePropdef redef fun build_signature(modelbuilder) do var mpropdef = self.mpropdef - if mpropdef == null then return # Error thus skiped + if mpropdef == null then return # Error thus skipped var mclassdef = mpropdef.mclassdef var mmodule = mclassdef.mmodule var mtype: nullable MType = null @@ -1106,10 +1104,10 @@ redef class ATypePropdef redef fun check_signature(modelbuilder) do var mpropdef = self.mpropdef - if mpropdef == null then return # Error thus skiped + if mpropdef == null then return # Error thus skipped var bound = self.mpropdef.bound - if bound == null then return # Error thus skiped + if bound == null then return # Error thus skipped modelbuilder.check_visibility(n_type, bound, mpropdef) diff --git a/src/neo.nit b/src/neo.nit index b44d034..a45c91c 100644 --- a/src/neo.nit +++ b/src/neo.nit @@ -446,7 +446,6 @@ class NeoModel node.labels.add "MModule" node["full_name"] = mmodule.full_name node["location"] = mmodule.location.to_s - var mgroup = mmodule.mgroup for parent in mmodule.in_importation.direct_greaters do node.out_edges.add(new NeoEdge(node, "IMPORTS", to_node(parent))) end diff --git a/src/nitpretty.nit b/src/nitpretty.nit index e7a733a..e43ff7f 100644 --- a/src/nitpretty.nit +++ b/src/nitpretty.nit @@ -2252,7 +2252,6 @@ end redef class ASuperstringExpr redef fun accept_pretty_printer(v) do - var force_inline = self.force_inline for n_expr in n_exprs do v.visit n_expr end diff --git a/src/parser/parser_work.nit b/src/parser/parser_work.nit index 7daee0f..b60ed2e 100644 --- a/src/parser/parser_work.nit +++ b/src/parser/parser_work.nit @@ -237,8 +237,6 @@ private class ComputeProdLocationVisitor end end end - - init do end end # Each reduce action has its own class, this one is the root of the hierarchy. diff --git a/src/semantize/auto_super_init.nit b/src/semantize/auto_super_init.nit index 95b2acb..13d2b78 100644 --- a/src/semantize/auto_super_init.nit +++ b/src/semantize/auto_super_init.nit @@ -32,10 +32,6 @@ end private class AutoSuperInitVisitor super Visitor - init - do - end - redef fun visit(n) do n.accept_auto_super_init(self) diff --git a/src/semantize/typing.nit b/src/semantize/typing.nit index cf84e4c..1c885bd 100644 --- a/src/semantize/typing.nit +++ b/src/semantize/typing.nit @@ -47,7 +47,7 @@ private class TypeVisitor # The analyzed property var mpropdef: nullable MPropDef - var selfvariable: Variable = new Variable("self") + var selfvariable = new Variable("self") # Is `self` use restricted? # * no explicit `self` @@ -395,7 +395,6 @@ private class TypeVisitor fun merge_types(node: ANode, col: Array[nullable MType]): nullable MType do if col.length == 1 then return col.first - var res = new Array[nullable MType] for t1 in col do if t1 == null then continue # return null var found = true @@ -461,8 +460,8 @@ end redef class FlowContext # Store changes of types because of type evolution - private var vars: HashMap[Variable, nullable MType] = new HashMap[Variable, nullable MType] - private var cache: HashMap[Variable, nullable Array[nullable MType]] = new HashMap[Variable, nullable Array[nullable MType]] + private var vars = new HashMap[Variable, nullable MType] + private var cache = new HashMap[Variable, nullable Array[nullable MType]] # Adapt the variable to a static type # Warning1: do not modify vars directly. @@ -747,7 +746,7 @@ redef class AContinueExpr do var nexpr = self.n_expr if nexpr != null then - var mtype = v.visit_expr(nexpr) + v.visit_expr(nexpr) end self.is_typed = true end @@ -758,7 +757,7 @@ redef class ABreakExpr do var nexpr = self.n_expr if nexpr != null then - var mtype = v.visit_expr(nexpr) + v.visit_expr(nexpr) end self.is_typed = true end @@ -771,9 +770,9 @@ redef class AReturnExpr var ret_type = v.mpropdef.as(MMethodDef).msignature.return_mtype if nexpr != null then if ret_type != null then - var mtype = v.visit_expr_subtype(nexpr, ret_type) + v.visit_expr_subtype(nexpr, ret_type) else - var mtype = v.visit_expr(nexpr) + v.visit_expr(nexpr) v.error(self, "Error: Return with value in a procedure.") end else if ret_type != null then @@ -1207,9 +1206,9 @@ redef class AIsaExpr var variable = self.n_expr.its_variable if variable != null then - var orig = self.n_expr.mtype - var from = if orig != null then orig.to_s else "invalid" - var to = if mtype != null then mtype.to_s else "invalid" + #var orig = self.n_expr.mtype + #var from = if orig != null then orig.to_s else "invalid" + #var to = if mtype != null then mtype.to_s else "invalid" #debug("adapt {variable}: {from} -> {to}") self.after_flow_context.when_true.set_var(variable, mtype) end -- 1.7.9.5