[{ s =
   (DirectiveStmt
      { d = (ImportAll (_, (DottedName [("System", _)]), _)); d_attrs = [] });
   s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("HelloWorldLock", _),
                { id_resolved = ref (None);
                  id_resolved_alternatives = ref ([]); id_type = ref (None);
                  id_svalue = ref (Unknown); id_flags = ref (0);
                  id_info_id = _ }
                )));
          attrs = []; tparams = None },
        (ClassDef
           { ckind = (Class, _); cextends = []; cimplements = [];
             cmixins = []; cparams = (_, [], _);
             cbody =
             (_,
              [(F
                  { s =
                    (DefStmt
                       ({ name =
                          (EN
                             (Id (("_lockObject", _),
                                { id_resolved = ref ((Some (EnclosedVar, _)));
                                  id_resolved_alternatives = ref ([]);
                                  id_type =
                                  ref ((Some { t =
                                               (TyN
                                                  (Id (("object", _),
                                                     { id_resolved =
                                                       ref (None);
                                                       id_resolved_alternatives =
                                                       ref ([]);
                                                       id_type = ref (None);
                                                       id_svalue =
                                                       ref (Unknown);
                                                       id_flags = ref (0);
                                                       id_info_id = _ }
                                                     )));
                                               t_attrs = [] }));
                                  id_svalue = ref (Unknown);
                                  id_flags = ref (0); id_info_id = _ }
                                )));
                          attrs =
                          [(KeywordAttr (Private, _));
                            (KeywordAttr (Static, _))];
                          tparams = None },
                        (VarDef
                           { vinit =
                             (Some { e =
                                     (New (_,
                                        { t =
                                          (TyN
                                             (Id (("Object", _),
                                                { id_resolved = ref (None);
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type = ref (None);
                                                  id_svalue = ref (Unknown);
                                                  id_flags = ref (0);
                                                  id_info_id = _ }
                                                )));
                                          t_attrs = [] },
                                        { id_resolved = ref (None);
                                          id_resolved_alternatives = ref ([]);
                                          id_type = ref (None);
                                          id_svalue = ref (Unknown);
                                          id_flags = ref (0); id_info_id = _
                                          },
                                        (_,
                                         [(Arg
                                             { e =
                                               (Container (Tuple, (_, [], _)
                                                  ));
                                               e_id = 0; e_range = None;
                                               is_implicit_return = false;
                                               facts = <opaque> })
                                           ],
                                         _)
                                        ));
                                     e_id = 0; e_range = None;
                                     is_implicit_return = false;
                                     facts = <opaque> });
                             vtype =
                             (Some { t =
                                     (TyN
                                        (Id (("object", _),
                                           { id_resolved = ref (None);
                                             id_resolved_alternatives =
                                             ref ([]); id_type = ref (None);
                                             id_svalue = ref (Unknown);
                                             id_flags = ref (0);
                                             id_info_id = _ }
                                           )));
                                     t_attrs = [] });
                             vtok = (Some _) })));
                    s_range = None });
                (F
                   { s =
                     (DefStmt
                        ({ name =
                           (EN
                              (Id (("Main", _),
                                 { id_resolved = ref (None);
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }
                                 )));
                           attrs =
                           [(KeywordAttr (Public, _));
                             (KeywordAttr (Static, _))];
                           tparams = None },
                         (FuncDef
                            { fkind = (Method, _); fparams = (_, [], _);
                              frettype =
                              (Some { t =
                                      (TyN
                                         (Id (("void", _),
                                            { id_resolved = ref (None);
                                              id_resolved_alternatives =
                                              ref ([]); id_type = ref (None);
                                              id_svalue = ref (Unknown);
                                              id_flags = ref (0);
                                              id_info_id = _ }
                                            )));
                                      t_attrs = [] });
                              fbody =
                              (FBStmt
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (OtherStmtWithStmt (
                                             (OSWS_Block ("Lock", _)),
                                             [(E
                                                 { e =
                                                   (N
                                                      (Id (
                                                         ("_lockObject", _),
                                                         { id_resolved =
                                                           ref ((Some (
                                                           EnclosedVar, _)));
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyN
                                                                (Id (
                                                                   ("object",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }
                                                                   )));
                                                             t_attrs = [] }));
                                                           id_svalue =
                                                           ref (Unknown);
                                                           id_flags = ref (0);
                                                           id_info_id = _ }
                                                         )));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> })
                                               ],
                                             { s =
                                               (Block
                                                  (_,
                                                   [{ s =
                                                      (ExprStmt (
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (DotAccess (
                                                                   { e =
                                                                    (N
                                                                    (Id (
                                                                    ("Console",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                   _,
                                                                   (FN
                                                                    (Id (
                                                                    ("WriteLine",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    t_attrs =
                                                                    [] }));
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })))
                                                                   ));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("hello world",
                                                                    _), _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         _));
                                                      s_range = None }
                                                     ],
                                                   _));
                                               s_range = None }
                                             ));
                                          s_range = None }
                                         ],
                                       _));
                                   s_range = None })
                              })));
                     s_range = None })
                ],
              _)
             })));
    s_range = None }
  ]