Module IR.JavaClassName
module Map : IStdlib.IStd.Caml.Map.S with type Map.key = tmodule Set : IStdlib.IStd.Caml.Set.S with type Set.elt = tval make : package:string option -> classname:string -> tval from_string : string -> tval to_string : t -> stringval pp : Stdlib.Format.formatter -> t -> unitval pp_with_verbosity : verbose:bool -> Stdlib.Format.formatter -> t -> unitif
verbosethen print package if present, otherwise only print class
val package : t -> string optionval classname : t -> stringval is_external_via_config : t -> boolConsidered external based on config flags.
val get_outer_class_name : t -> t optionIf this is an inner class, return the closest outer, e.g. A$B for A$B$C. None if the class is outermost
val is_anonymous_inner_class_name : t -> boolTrue if it is either "classic" anonymous Java class: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html, or a synthetic Java class corresponding to a lambda expression.
val get_user_defined_class_if_anonymous_inner : t -> t optionIf the current class is anonymous (
is_anonymous_inner_class_nameis true), return the corresponding user defined (not anonymous) class this anonymous class belongs to.In general case, BOTH anonymous classes and user-defined classes can be nested: SomeClass$NestedClass$1$17$5. In this example, we should return SomeClass$NestedClass.
If this is not an anonymous class, returns
None.