(TranslationUnit
    (SymbolTable
        1
        {
            fpm_dependency:
                (Module
                    (SymbolTable
                        2
                        {
                            add_dependency:
                                (Function
                                    (SymbolTable
                                        6
                                        {
                                            1_find_dependency:
                                                (ExternalSymbol
                                                    6
                                                    1_find_dependency
                                                    5 find_dependency
                                                    dependency_tree_t
                                                    []
                                                    find_dependency
                                                    Public
                                                ),
                                            dependency:
                                                (Variable
                                                    6
                                                    dependency
                                                    []
                                                    In
                                                    ()
                                                    ()
                                                    Default
                                                    (StructType
                                                        2 dependency_config_t
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            id:
                                                (Variable
                                                    6
                                                    id
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            self:
                                                (Variable
                                                    6
                                                    self
                                                    []
                                                    InOut
                                                    ()
                                                    ()
                                                    Default
                                                    (ClassType
                                                        2 dependency_tree_t
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    add_dependency
                                    (FunctionType
                                        [(ClassType
                                            2 dependency_tree_t
                                        )
                                        (StructType
                                            2 dependency_config_t
                                        )]
                                        ()
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .true.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 6 self)
                                    (Var 6 dependency)]
                                    [(Assignment
                                        (Var 6 id)
                                        (FunctionCall
                                            6 1_find_dependency
                                            5 find
                                            [((Var 6 self))
                                            ((Var 6 dependency))]
                                            (Integer 4)
                                            ()
                                            ()
                                        )
                                        ()
                                    )]
                                    ()
                                    Private
                                    .false.
                                    .false.
                                    ()
                                ),
                            dependency_config_t:
                                (Struct
                                    (SymbolTable
                                        3
                                        {
                                            name:
                                                (Variable
                                                    3
                                                    name
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            path:
                                                (Variable
                                                    3
                                                    path
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    dependency_config_t
                                    []
                                    [name
                                    path]
                                    Source
                                    Private
                                    .false.
                                    .false.
                                    []
                                    ()
                                    ()
                                ),
                            dependency_node_t:
                                (Struct
                                    (SymbolTable
                                        4
                                        {
                                            done:
                                                (Variable
                                                    4
                                                    done
                                                    []
                                                    Local
                                                    (LogicalConstant
                                                        .false.
                                                        (Logical 4)
                                                    )
                                                    (LogicalConstant
                                                        .false.
                                                        (Logical 4)
                                                    )
                                                    Save
                                                    (Logical 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            proj_dir:
                                                (Variable
                                                    4
                                                    proj_dir
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            revision:
                                                (Variable
                                                    4
                                                    revision
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            update:
                                                (Variable
                                                    4
                                                    update
                                                    []
                                                    Local
                                                    (LogicalConstant
                                                        .false.
                                                        (Logical 4)
                                                    )
                                                    (LogicalConstant
                                                        .false.
                                                        (Logical 4)
                                                    )
                                                    Save
                                                    (Logical 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    dependency_node_t
                                    []
                                    [proj_dir
                                    revision
                                    done
                                    update]
                                    Source
                                    Private
                                    .false.
                                    .false.
                                    []
                                    ()
                                    ()
                                ),
                            dependency_tree_t:
                                (Struct
                                    (SymbolTable
                                        5
                                        {
                                            add:
                                                (GenericProcedure
                                                    5
                                                    add
                                                    [5 add_dependency]
                                                    Public
                                                ),
                                            add_dependency:
                                                (ClassProcedure
                                                    5
                                                    add_dependency
                                                    ()
                                                    add_dependency
                                                    2 add_dependency
                                                    Source
                                                    .false.
                                                    .false.
                                                ),
                                            cache:
                                                (Variable
                                                    5
                                                    cache
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            dep:
                                                (Variable
                                                    5
                                                    dep
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (Array
                                                            (StructType
                                                                2 dependency_node_t
                                                            )
                                                            [(()
                                                            ())]
                                                            DescriptorArray
                                                        )
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            dep_dir:
                                                (Variable
                                                    5
                                                    dep_dir
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Allocatable
                                                        (String 1 -2 () DescriptorString)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            find:
                                                (GenericProcedure
                                                    5
                                                    find
                                                    [5 find_dependency]
                                                    Public
                                                ),
                                            find_dependency:
                                                (ClassProcedure
                                                    5
                                                    find_dependency
                                                    ()
                                                    find_dependency
                                                    2 find_dependency
                                                    Source
                                                    .false.
                                                    .false.
                                                ),
                                            ndep:
                                                (Variable
                                                    5
                                                    ndep
                                                    []
                                                    Local
                                                    (IntegerConstant 0 (Integer 4) Decimal)
                                                    (IntegerConstant 0 (Integer 4) Decimal)
                                                    Save
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            unit:
                                                (Variable
                                                    5
                                                    unit
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            verbosity:
                                                (Variable
                                                    5
                                                    verbosity
                                                    []
                                                    Local
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    Save
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    dependency_tree_t
                                    []
                                    [unit
                                    verbosity
                                    dep_dir
                                    ndep
                                    dep
                                    cache]
                                    Source
                                    Private
                                    .false.
                                    .false.
                                    []
                                    ()
                                    ()
                                ),
                            find_dependency:
                                (Function
                                    (SymbolTable
                                        7
                                        {
                                            dependency:
                                                (Variable
                                                    7
                                                    dependency
                                                    []
                                                    In
                                                    ()
                                                    ()
                                                    Default
                                                    (ClassType
                                                        2 dependency_config_t
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            pos:
                                                (Variable
                                                    7
                                                    pos
                                                    []
                                                    ReturnVar
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            self:
                                                (Variable
                                                    7
                                                    self
                                                    []
                                                    In
                                                    ()
                                                    ()
                                                    Default
                                                    (ClassType
                                                        2 dependency_tree_t
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    find_dependency
                                    (FunctionType
                                        [(ClassType
                                            2 dependency_tree_t
                                        )
                                        (ClassType
                                            2 dependency_config_t
                                        )]
                                        (Integer 4)
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .true.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 7 self)
                                    (Var 7 dependency)]
                                    []
                                    (Var 7 pos)
                                    Private
                                    .false.
                                    .false.
                                    ()
                                )
                        })
                    fpm_dependency
                    [fpm_dependency]
                    .false.
                    .false.
                )
        })
    []
)
