Module Cobol_typeck.Condition

type abbrev_implied_parts =
  1. | Nothing
  2. | ImpliedRelOp
  3. | ImpliedSubjectAndRelOp
val add_implied_relop : abbrev_implied_parts -> abbrev_implied_parts
type abbrev_condition_expansion_state = {
  1. subject : Cobol_ptree.expr Cobol_common.with_loc option;
  2. relop : Cobol_ptree.relop Cobol_common.with_loc option;
  3. unused : abbrev_implied_parts;
  4. changed_in_parens : abbrev_implied_parts;
}

abbrev_condition_expansion_state is used internally by expand_abbrev_cond to remember the previous subject and relational operator that are implied in the abbreviation.

val no_subject_state : abbrev_condition_expansion_state
type object_bool_expr_disambiguation =
  1. | CondBoolExpr
  2. | CondObject
  3. | CondUnknown
val warn_before_state_reset : abbrev_condition_expansion_state -> Cobol_typeck__.Typeck_diagnostics.diagnostic list
val use_and_reset_subject : f:(Cobol_ptree.expr Cobol_common.with_loc -> 'a) -> missing_subject_error:Cobol_typeck__.Typeck_condition_diagnostics.error -> abbrev_condition_expansion_state -> 'a option Cobol_typeck__.Typeck_results.TYPES.with_diags * abbrev_condition_expansion_state
val expand_selection_subject : Cobol_data.Types.data_definition Cobol_unit.Resolver_map.resolver_map -> Cobol_ptree.selection_subject Cobol_common__Srcloc.TYPES.with_loc -> Cobol_unit.Types.expanded_selection_subject Cobol_common__Srcloc.TYPES.with_loc option Cobol_typeck__.Typeck_results.TYPES.with_diags
val expand_selection_object : Cobol_data.Types.data_definition Cobol_unit.Resolver_map.resolver_map -> Cobol_unit.Types.expanded_selection_subject Cobol_common__Srcloc.TYPES.with_loc -> Cobol_ptree.selection_object Cobol_common.with_loc -> Cobol_unit.Types.expanded_selection_object Cobol_common__Srcloc.TYPES.with_loc option Cobol_typeck__.Typeck_results.TYPES.with_diags
val check_procedure : env:Cobol_data.Types.data_definition Cobol_unit.Resolver_map.resolver_map -> diags:Cobol_typeck__.Typeck_diagnostics.diagnostic list -> Cobol_unit__.Unit_types.procedure -> Cobol_typeck__.Typeck_diagnostics.diagnostic list