camlspotter avatar camlspotter committed 2e9ffa4 Merge

merge

Comments (0)

Files changed (48)

-#########################################################################
-#                                                                       #
-#                             OCamlSpotter                              #
-#                                                                       #
-#                              Jun FURUSE                               #
-#                                                                       #
-#     Copyright 2008 Jun Furuse. All rights reserved.                   #
-#     This file is distributed under the terms of the GNU Library       #
-#     General Public License, with the special exception on linking     #
-#     described in file LICENSE.                                        #
-#                                                                       #
-#########################################################################
+#######################################################################
+#                                                                     #
+#                            OCamlSpotter                             #
+#                                                                     #
+#                             Jun FURUSE                              #
+#                                                                     #
+#   Copyright 2008-2012 Jun Furuse. All rights reserved.              #
+#   This file is distributed under the terms of the GNU Library       #
+#   General Public License, with the special exception on linking     #
+#   described in file LICENSE.                                        #
+#                                                                     #
+#######################################################################
+
 
 OCAMLDIR=$(PREFIX)/lib/ocaml/
 include $(OCAMLDIR)/Makefile.config
 # Various commands and dir
 ##########################
 CAMLRUN= ocamlrun
-OCAMLC   = ocamlc -annot -bin-annot -w Ae-4-9 -warn-error Ae-4-9-32-33-34
-OCAMLOPT = ocamlopt -annot -bin-annot -w A-4-9 -warn-error Ae-4-9-32-33-34
+OCAMLC   = ocamlc -annot -bin-annot -w A-4-9 -warn-error A-4-9-32-33-34
+OCAMLOPT = ocamlopt -annot -bin-annot -w A-4-9 -warn-error A-4-9-32-33-34
 OCAMLDEP = ocamldep
 OCAMLLEX = ocamllex
 OCAMLYACC= ocamlyacc
 # Compilation
 #############
 OCAMLSRCDIR=..
-INCLUDES_DEP=-I $(OCAMLDIR)/compiler-libs
+INCLUDES_DEP=-I +compiler-libs
 
 # Requires unix!
 COMPFLAGS= $(INCLUDES_DEP) -I +unix
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)

copyhead.txt

-(***********************************************************************)
-(*                                                                     *)
-(*                            OCamlSpotter                             *)
-(*                                                                     *)
-(*                             Jun FURUSE                              *)
-(*                                                                     *)
-(*   Copyright 2008-2011 Jun Furuse. All rights reserved.              *)
-(*   This file is distributed under the terms of the GNU Library       *)
-(*   General Public License, with the special exception on linking     *)
-(*   described in file LICENSE.                                        *)
-(*                                                                     *)
-(***********************************************************************)
-
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
       is searched in $DIR/dirname/subdir/.
 *)
 
+open Utils
+
 let name = ".ocamlspot"
 
 let rec find absdir =
-  let path = Filename.concat absdir name in
+  let path = absdir ^/ name in
   if Sys.file_exists path then Some (absdir, path)
   else if absdir = "/" then None
   else find (Filename.dirname absdir)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 module Longident = struct
   include Longident
   include Xlongident
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 (* Name is an identifier name with its stamp number. For example, 
    an ident of name "string" with a stamp 3 has the name "string__3".
 
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Spot
 
 val get :
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 (* Annotations 
 
    Annotations are stored in .spot with their locations
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 (* This module is extended in ocamlspot, therefore it cannot be .mli *)
 
 (* Annotations 
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 include Spotconfig_intf.S

spotconfig_intf.ml

+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Ext
 
 module type S = sig
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 }
 
 let source_path_of_cmt file = match file.cmt_sourcefile with 
-  | Some f -> Some (Filename.concat file.cmt_builddir f)
+  | Some f -> Some (file.cmt_builddir ^/ f)
   | None -> None
 
 let dump_file file =
   in
   match dirname with
   | None -> filename
-  | Some d -> Filename.concat d filename
+  | Some d -> d ^/ filename
 
 let abstraction_of_cmt cmt = match cmt.cmt_annots with
   | Implementation str -> 
       end
   | Packed (_sg, files) ->
       (List.map (fun file ->
-        let fullpath = if Filename.is_relative file then Filename.concat cmt.cmt_builddir file else file in
+        let fullpath = if Filename.is_relative file then cmt.cmt_builddir ^/ file else file in
         let modname = match Filename.split_extension (Filename.basename file) with 
-          | modname, ".cmo" -> String.capitalize modname
+          | modname, (".cmo" | ".cmx") -> String.capitalize modname
           | _ -> assert false
         in
         Abstraction.AStr_module (Ident.create modname (* stamp is bogus *),
           end
         in
         List.find Sys.file_exists 
-          (List.map (fun d -> 
-            Filename.concat d source_base) source_dirs)
+          (List.map (fun d -> d ^/ source_base) source_dirs)
 
     let load_cmt_file file = snd (Cmt_format.read file)
 
           Debug.format "cmt loaded now extracting things from %s ...@." path;
           let str, loc_annots = abstraction_of_cmt cmt in
           Debug.format "cmt loaded: abstraction extracted from %s@." path;
-          let path = Option.default (Filename.chop_extension path ^ ".cmo") (source_path_of_cmt cmt) in
+
+          (* CR jfuruse: this is a dirty workaround. It should be nice if we could know cmt is created by opt or byte *)          
+          let cm_extension = 
+            if List.exists (fun x -> match Filename.split_extension x with (_, ".cmx") -> true | _ -> false) (Array.to_list cmt.cmt_args)
+            then ".cmx" else ".cmo"
+          in
+
+          let path = Option.default (Filename.chop_extension path ^ cm_extension) (source_path_of_cmt cmt) in
           let rannots = lazy (Hashtbl.fold (fun loc (_,annots) st -> 
             { Regioned.region = Region.of_parsing loc;  value = annots } :: st) loc_annots [])
           in
                 in
                 assert (found_dir = found_dir');
                 let dir = 
-                  if Filename.is_relative build_dir then 
-                    Filename.concat found_dir build_dir
+                  if Filename.is_relative build_dir then found_dir ^/ build_dir
                   else build_dir
                 in
-                Filename.concat dir rel_cmtname))
+                dir ^/ rel_cmtname))
       in
       try load ~load_paths cmtname with
       | e -> 
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 pack.cmo: packed.cmo
 	$(OCAMLC) -pack -o $@ $<
 
+packed.cmx: packed.ml
+	$(OCAMLOPT) -for-pack Pack $<   	
+
+packed.cmo: packed.ml
+	$(OCAMLC) -for-pack Pack $<   	
+
+pack.cmx: packed.cmx
+	$(OCAMLOPT) -pack -o $@ $<
+
 packed_alias.cmo: pack.cmo
 
+packed_alias.cmx: pack.cmx
+
 test2.cmo: test.cmo
 	$(OCAMLC) -pack -o $@ $<
 
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+#!/usr/bin/perl
+
+# exec in camlimages directory
+
+open(IN, "find . -name '*.ml' -o -name '*.mli' -o -name '*.ml.in' -o -name '*.mli.in' -o -name '*.c' | grep -v \.hg | grep -v tests/ |");
+
+while(<IN>){
+    chop;
+    $file= $_;
+    open(IN2, "$file");
+    $_ = <IN2>;
+    if ( /\(\*{10}\**\)/ ||
+	 /\/\*{10}\**\//
+	){
+	# long comment, should be copyright notice
+	print STDERR "Find a copyright in $file";
+	open(OUT, "> $file.out");
+	print STDERR "\n";
+	open(COPY, "tools/COPY");
+	if( $file =~ /\.c$/ ){  
+	    while(<COPY>){ 
+		s/[\(\)]/\//g;
+		print OUT $_; 
+	    }
+	} else {
+	    while(<COPY>){ print OUT $_; }
+	}
+	close COPY;
+	while(<IN2>){
+	    if ( /\(\*{10}\**\)/ ||
+		 /\/\*{10}\**\//
+		){
+		last;
+	    }
+	}
+
+	while(<IN2>){
+	    if ( ! /^\s*[\r\n]+$/ ){ last; }
+	}
+	print OUT "\n";
+	print OUT "$_";
+
+	while(<IN2>){ print OUT $_; }
+	close IN2;
+	close OUT;
+	# `mv $file $file.bak`;
+	`mv $file.out $file`;
+    } else {
+	# we have no copyright notice
+	$org = $_;
+	print STDERR "Newly put a copyright in $file\n";
+	open(OUT, "> $file.out");
+	open(COPY, "tools/COPY");
+	if( $file =~ /\.c$/ ){  
+	    while(<COPY>){ 
+		s/[\(\)]/\//g;
+		print OUT $_; 
+	    }
+	} else {
+	    while(<COPY>){ print OUT $_; }
+	}
+	close COPY;
+	print OUT $org;
+
+	while(<IN2>){
+	    if ( ! /^\s*[\r\n]+$/ ){ last; }
+	}
+	print OUT "\n";
+	print OUT "$_";
+
+	while(<IN2>){ print OUT $_; }
+	close IN2;
+	close OUT;
+	# `mv $file $file.bak`;
+	`mv $file.out $file`;
+    }
+}
+
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Asttypes
 open Types
 open Typedtree
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Typedtree
 
 class fold : object ('self)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009, 2010 Jun Furuse. All rights reserved.       *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Types
 
 val type_expr : type_expr -> type_expr
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Misc
 open Asttypes
 open Types
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (***********************************************************************)
 (*                                                                     *)
-(*                            ocamlspotter                             *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
       }
 
   let path ~depth ~dir base =
-    let path = match Filename.concat dir base with
+    let path = match dir ^/ base with
       | "./." -> "."
       | s -> s
     in
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 module List : sig
   include module type of List
   val find_map_opt : ('a -> 'b option) -> 'a list -> 'b option
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 (* extend the original module *)
 open Ident
 
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Ident
 
 val name : t -> Name.t
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Longident
 
 let rec to_string = function
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Longident
 
 val to_string : t -> string
 (***********************************************************************)
 (*                                                                     *)
-(*                           Objective Caml                            *)
+(*                            OCamlSpotter                             *)
 (*                                                                     *)
-(*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
+(*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*  Copyright 1996 Institut National de Recherche en Informatique et   *)
-(*  en Automatique.  All rights reserved.  This file is distributed    *)
-(*  under the terms of the Q Public License version 1.0.               *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (***********************************************************************)
 
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 val main : string array -> unit
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 (* extend the original module *)
 open Path
 module Ident = struct
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Path
 
 val name : t -> Name.t
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
 
   open Printtyp
 
+(***********************************************************************)
+(*                                                                     *)
+(*                            OCamlSpotter                             *)
+(*                                                                     *)
+(*                             Jun FURUSE                              *)
+(*                                                                     *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
+(*   This file is distributed under the terms of the GNU Library       *)
+(*   General Public License, with the special exception on linking     *)
+(*   described in file LICENSE.                                        *)
+(*                                                                     *)
+(***********************************************************************)
+
 open Format
 
 val type_expr :
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
 (*                                                                     *)
 (*                             Jun FURUSE                              *)
 (*                                                                     *)
-(*   Copyright 2008, 2009 Jun Furuse. All rights reserved.             *)
+(*   Copyright 2008-2012 Jun Furuse. All rights reserved.              *)
 (*   This file is distributed under the terms of the GNU Library       *)
 (*   General Public License, with the special exception on linking     *)
 (*   described in file LICENSE.                                        *)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.