JavaFrontend.JSourceFileInfomodule Array : sig ... endclassic Ocamllex function to update current lexbuf line at each end of line
return the exact position start of the suffix classname in lexbuf
We 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 in_field_declaration_area : state -> boolval get_opened_blocks : state -> intval is_enum : state -> boolval get_next_anonymous_class : state -> stringval long_class_name : string -> state -> stringval class_scan : state -> Stdlib.Lexing.lexbuf -> unitval __ocaml_lex_class_scan_rec : state -> 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 collect_class_location : JProgramDesc.t -> IBase.SourceFile.t -> Base.unitWe scan source file file and record location of each class declaration