Goose  Diff

Differences From Artifact [1a0ef13ca1]:

  • File bs/sema/tc-context.h — part of check-in [4c0f447d59] at 2022-07-30 11:41:07 on branch trunk — varargs: simplify (not going to attempt handling nesting repetitions after all) (user: zlodo size: 5495)

To Artifact [006e9f867e]:

  • File bs/sema/tc-context.h — part of check-in [0146622968] at 2022-08-28 17:12:15 on branch trunk — vararg templates: completed the pack TExpr and pack TVars implementations (need tests) (user: zlodo size: 5841)

14
15
16
17
18
19
20






21
22
23
24
25
26
27

            TypeCheckingContext( const Context& c );
            TypeCheckingContext( Context&& c );

            const auto& context() const { return m_context; }
            const auto& env() const { return m_context.env(); }
            const auto& rules() const { return env()->typeCheckingRuleSet(); }







            uint32_t getLHSHoleIndex( StringId name, Hole::Behavior bhv ) const;
            uint32_t getRHSHoleIndex( StringId name, Hole::Behavior bhv ) const;

            uint32_t createValue( bool required = false );

            void setLHSHoleIndex( StringId name, Hole::Behavior bhv, uint32_t index );







>
>
>
>
>
>







14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

            TypeCheckingContext( const Context& c );
            TypeCheckingContext( Context&& c );

            const auto& context() const { return m_context; }
            const auto& env() const { return m_context.env(); }
            const auto& rules() const { return env()->typeCheckingRuleSet(); }

            optional< Term > getLHSHoleValue( StringId name, uint32_t repetitionIndex ) const;
            optional< Term > getRHSHoleValue( StringId name, uint32_t repetitionIndex ) const;

            uint32_t getLHSHoleIndex( StringId name, uint32_t index ) const;
            uint32_t getRHSHoleIndex( StringId name, uint32_t index ) const;

            uint32_t getLHSHoleIndex( StringId name, Hole::Behavior bhv ) const;
            uint32_t getRHSHoleIndex( StringId name, Hole::Behavior bhv ) const;

            uint32_t createValue( bool required = false );

            void setLHSHoleIndex( StringId name, Hole::Behavior bhv, uint32_t index );