Goose  Diff

Differences From Artifact [6df0697509]:

  • File bs/parse/resolver.cpp — part of check-in [605ff0a654] at 2022-11-17 00:46:21 on branch trunk — expose more compiler functionality to g0api:
    • local variable declarations
    • lifetime scopes
    (user: zlodo size: 5678)

To Artifact [2e80d96b40]:

  • File bs/parse/resolver.cpp — part of check-in [9b8306c3af] at 2023-01-05 19:44:44 on branch trunk — Fixed passing tuple by value to functions, which involved properly handling type checking of constant tuples containing computed data and some codegen bugs (user: zlodo size: 5666)

1
2
3
4
5
6
7
8
9
10
11



12
13
14
15
16
17
18
1
2
3
4
5
6
7
8



9
10
11
12
13
14
15
16
17
18








-
-
-
+
+
+







#include "parse.h"

using namespace goose;
using namespace goose::parse;

void Resolver::init()
{
    m_context.onContextRestoredSignal().subscribe( [&]
        {
            clearLookAheadCache();
        } );
    {
        clearLookAheadCache();
    } );
}

bool Resolver::eos() const
{
    clearCacheIfNeeded();
    return m_tokProvider->eos() && m_lookAheadCache.empty();
}