Module JavaFrontend__JSourceFileInfo
module Array : sig ... endval incr_linenum : Stdlib.Lexing.lexbuf -> unitclassic Ocamllex function to update current lexbuf line at each end of line
val location_suffix : string -> Stdlib.Lexing.lexbuf -> int * intreturn the exact position start of the suffix
classnameinlexbuf
type expr=|AllocExpr|OtherExprWe traverse the structure of the source file by recording the encompassing blocks in a stack of frame. We use the stack to recover the full inner class name at bytecode level
type frame={short_class_name : string;is_enum : bool;next_anonymous_class : int;opened_blocks : int;exprs : expr list;}type state={stack : frame list;record_location : classname:string -> col:int -> line:int -> unit;}
val add_package : string -> state -> stateval pop_class : state -> stateval incr_next_anonymous : state -> stateval add_expr : expr -> state -> stateval pop_exprs : state -> expr * stateval in_field_declaration_area : state -> boolval get_opened_blocks : state -> intval is_enum : state -> boolval get_next_anonymous_class : state -> stringval decr_opened_blocks : state -> stateval incr_opened_blocks : state -> stateval long_class_name : string -> state -> stringval __ocaml_lex_tables : Stdlib.Lexing.lex_tablesval class_scan : state -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_class_scan_rec : state -> Stdlib.Lexing.lexbuf -> int -> unitval do_at_next_left_bracket : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_do_at_next_left_bracket_rec : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> int -> unitval search_anonymous_class_body : state -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_search_anonymous_class_body_rec : state -> Stdlib.Lexing.lexbuf -> int -> unitval found_entrance_of_anonymous_class : state -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_found_entrance_of_anonymous_class_rec : state -> Stdlib.Lexing.lexbuf -> int -> unitval skip_well_parenthesized_angles : Core_kernel__Int.t -> (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_skip_well_parenthesized_angles_rec : Core_kernel__Int.t -> (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> int -> unitval skip_well_parenthesized_parentheses : Core_kernel__Int.t -> (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_skip_well_parenthesized_parentheses_rec : Core_kernel__Int.t -> (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> int -> unitval skip_string : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_skip_string_rec : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> int -> unitval skip_comments : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_skip_comments_rec : (Stdlib.Lexing.lexbuf -> unit) -> Stdlib.Lexing.lexbuf -> int -> unit
val collect_class_location : JavaFrontend.JProgramDesc.t -> IBase.SourceFile.t -> Base.unitWe scan source file
fileand record location of each class declaration