(TranslationUnit
    [(Module
        derived_types_02_m
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(r8
            []
            []
            ()
            (FuncCallOrArray
                kind
                []
                [(()
                (Real "0.d0")
                ()
                0)]
                []
                []
                []
            )
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (DerivedType
            B
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
        )
        (DerivedType
            C
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
        )
        (DerivedType
            X
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
            [(AttrExtends
                B
            )
            (SimpleAttribute
                AttrPublic
            )]
            [(Declaration
                ()
                [(SimpleAttribute
                    AttrPrivate
                )]
                []
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    [(()
                    r8
                    Value)]
                    ()
                    ()
                    None
                )
                []
                [(r1
                []
                []
                ()
                ()
                None
                ())]
                (TriviaNode
                    []
                    [(EndOfLine)
                    (EndOfLine)]
                )
            )
            (Declaration
                (AttrType
                    TypeType
                    []
                    ()
                    C
                    None
                )
                [(SimpleAttribute
                    AttrPointer
                )]
                [(cc
                []
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    [(()
                    r8
                    Value)]
                    ()
                    ()
                    None
                )
                [(SimpleAttribute
                    AttrPointer
                )]
                [(r2
                [(()
                ()
                DimensionExpr)]
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())
                (r3
                [(()
                ()
                DimensionExpr)]
                []
                ()
                (FuncCallOrArray
                    null
                    []
                    []
                    []
                    []
                    []
                )
                Arrow
                ())]
                ()
            )]
            [(DerivedTypeProc
                ()
                [(SimpleAttribute
                    AttrPrivate
                )]
                [(UseSymbol
                    p1
                    ()
                )]
                ()
            )
            (DerivedTypeProc
                ()
                []
                [(UseSymbol
                    p2
                    ()
                )]
                ()
            )]
        )]
        []
        [(Subroutine
            p1
            [(this)]
            []
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeClass
                    []
                    ()
                    X
                    None
                )
                [(AttrIntent
                    Out
                )]
                [(this
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
            []
            []
        )
        (Subroutine
            p2
            [(this)]
            []
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeClass
                    []
                    ()
                    X
                    None
                )
                [(AttrIntent
                    InOut
                )]
                [(this
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            []
            []
            []
        )]
    )
    (Program
        derived_types_02
        ()
        [(Use
            []
            derived_types_02_m
            [(UseSymbol
                X
                ()
            )]
            .true.
            ()
        )]
        [(ImplicitNone
            []
            ()
        )]
        [(Declaration
            (AttrType
                TypeType
                []
                ()
                X
                None
            )
            []
            [(b
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        []
        []
    )]
)
