Browse Source

create src/display/displayTypes.ml

Simon Krajewski 9 years ago
parent
commit
e2192174ab
6 changed files with 72 additions and 68 deletions
  1. 6 4
      Makefile
  2. 4 47
      src/display/display.ml
  3. 59 0
      src/display/displayTypes.ml
  4. 1 1
      src/main.ml
  5. 1 15
      src/typing/common.ml
  6. 1 1
      src/typing/typecore.ml

+ 6 - 4
Makefile

@@ -52,8 +52,8 @@ CC_PARSER_CMD = $(COMPILER) -pp camlp4o $(ALL_CFLAGS) -c src/syntax/parser.ml
 
 RELDIR=../../..
 
-MODULES=json syntax/ast typing/type syntax/lexer typing/common generators/genxml syntax/parser typing/typecore \
-	display/display \
+MODULES=json syntax/ast display/displayTypes typing/type syntax/lexer typing/common generators/genxml syntax/parser \
+	typing/typecore display/display \
 	optimization/optimizer typing/typeload generators/codegen generators/gencommon generators/genas3 \
 	generators/gencpp generators/genjs generators/genneko generators/genphp generators/genswf9 \
 	generators/genswf generators/genjava generators/gencs generators/genpy macro/interp generators/genhl \
@@ -134,7 +134,9 @@ uninstall:
 
 # display
 
-src/display/display.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT)
+src/display/display.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/display/displayTypes.$(MODULE_EXT)
+
+src/display/displayTypes.$(MODULE_EXT) : src/syntax/ast.$(MODULE_EXT)
 
 # generators
 
@@ -201,7 +203,7 @@ src/syntax/parser.$(MODULE_EXT): src/syntax/parser.ml src/syntax/lexer.$(MODULE_
 
 # typing
 
-src/typing/common.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
+src/typing/common.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/display/displayTypes.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
 
 src/typing/matcher.$(MODULE_EXT): src/optimization/optimizer.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/typer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
 

+ 4 - 47
src/display/display.ml

@@ -141,53 +141,9 @@ let display_enum_field dm ef p = match dm.dms_kind with
 	| DMType -> raise (DisplayType (ef.ef_type,p))
 	| _ -> ()
 
-module SymbolKind = struct
-	type t =
-		| Class
-		| Interface
-		| Enum
-		| Typedef
-		| Abstract
-		| Field
-		| Property
-		| Method
-		| Constructor
-		| Function
-		| Variable
-
-	let to_int = function
-		| Class -> 1
-		| Interface -> 2
-		| Enum -> 3
-		| Typedef -> 4
-		| Abstract -> 5
-		| Field -> 6
-		| Property -> 7
-		| Method -> 8
-		| Constructor -> 9
-		| Function -> 10
-		| Variable -> 11
-end
-
-module SymbolInformation = struct
-	type t = {
-		name : string;
-		kind : SymbolKind.t;
-		pos : pos;
-		container_name : string option;
-	}
-
-	let make name kind pos container_name = {
-		name = name;
-		kind = kind;
-		pos = pos;
-		container_name = container_name;
-	}
-end
-
-open SymbolKind
-open SymbolInformation
 open Json
+open DisplayTypes.SymbolKind
+open DisplayTypes.SymbolInformation
 
 let pos_to_json_range p =
 	if p.pmin = -1 then
@@ -203,7 +159,7 @@ let pos_to_json_range p =
 let print_module_symbols (pack,decls) =
 	let l = DynArray.create() in
 	let add name kind location parent =
-		let si = SymbolInformation.make name kind location (match parent with None -> None | Some si -> Some si.name) in
+		let si = make name kind location (match parent with None -> None | Some si -> Some si.name) in
 		DynArray.add l si;
 		si
 	in
@@ -382,6 +338,7 @@ module Diagnostics = struct
 
 	open UnresolvedIdentifierSuggestion
 	open DiagnosticsKind
+	open DisplayTypes
 
 	let find_unused_variables com e =
 		let vars = Hashtbl.create 0 in

+ 59 - 0
src/display/displayTypes.ml

@@ -0,0 +1,59 @@
+open Ast
+
+module SymbolKind = struct
+	type t =
+		| Class
+		| Interface
+		| Enum
+		| Typedef
+		| Abstract
+		| Field
+		| Property
+		| Method
+		| Constructor
+		| Function
+		| Variable
+
+	let to_int = function
+		| Class -> 1
+		| Interface -> 2
+		| Enum -> 3
+		| Typedef -> 4
+		| Abstract -> 5
+		| Field -> 6
+		| Property -> 7
+		| Method -> 8
+		| Constructor -> 9
+		| Function -> 10
+		| Variable -> 11
+end
+
+module SymbolInformation = struct
+	type t = {
+		name : string;
+		kind : SymbolKind.t;
+		pos : pos;
+		container_name : string option;
+	}
+
+	let make name kind pos container_name = {
+		name = name;
+		kind = kind;
+		pos = pos;
+		container_name = container_name;
+	}
+end
+
+module DiagnosticsSeverity = struct
+	type t =
+		| Error
+		| Warning
+		| Information
+		| Hint
+
+	let to_int = function
+		| Error -> 1
+		| Warning -> 2
+		| Information -> 3
+		| Hint -> 4
+end

+ 1 - 1
src/main.ml

@@ -1474,7 +1474,7 @@ try
 	process ctx.com.args;
 	process_libs();
 	if com.display.dms_display then begin
-		com.warning <- if com.display.dms_error_policy = EPCollect then (fun s p -> add_diagnostics_message com s p DiagnosticsSeverity.Warning) else message ctx;
+		com.warning <- if com.display.dms_error_policy = EPCollect then (fun s p -> add_diagnostics_message com s p DisplayTypes.DiagnosticsSeverity.Warning) else message ctx;
 		com.error <- error ctx;
 	end;
 	begin match com.display.dms_display_file_policy with

+ 1 - 15
src/typing/common.ml

@@ -212,23 +212,9 @@ module IdentifierType = struct
 		| ITPackage s -> s
 end
 
-module DiagnosticsSeverity = struct
-	type t =
-		| Error
-		| Warning
-		| Information
-		| Hint
-
-	let to_int = function
-		| Error -> 1
-		| Warning -> 2
-		| Information -> 3
-		| Hint -> 4
-end
-
 type shared_display_information = {
 	mutable import_positions : (pos,bool ref * placed_name list) PMap.t;
-	mutable diagnostics_messages : (string * pos * DiagnosticsSeverity.t) list;
+	mutable diagnostics_messages : (string * pos * DisplayTypes.DiagnosticsSeverity.t) list;
 	mutable type_hints : (pos,Type.t) Hashtbl.t;
 }
 

+ 1 - 1
src/typing/typecore.ml

@@ -233,7 +233,7 @@ let pass_name = function
 
 let display_error ctx msg p = match ctx.com.display.DisplayMode.dms_error_policy with
 	| DisplayMode.EPShow | DisplayMode.EPIgnore -> ctx.on_error ctx msg p
-	| DisplayMode.EPCollect -> add_diagnostics_message ctx.com msg p DiagnosticsSeverity.Error
+	| DisplayMode.EPCollect -> add_diagnostics_message ctx.com msg p DisplayTypes.DiagnosticsSeverity.Error
 
 let error msg p = raise (Error (Custom msg,p))