Goose  Diff

Differences From Artifact [d6d34482dd]:

  • File bs/compile/compiler.cpp — part of check-in [6f98718d3b] at 2020-06-01 01:06:52 on branch trunk — Verifier: refactored type handling and extended it to handle tuple types. (user: achavasse size: 5345)

To Artifact [adf1df3da8]:

  • File bs/compile/compiler.cpp — part of check-in [568c366a36] at 2020-06-26 23:34:09 on branch trunk — Cleanup:
    • Removed the poorly thought out "domain" system that was intended to allow for different implementations of functions for runtime and for compilation time, which was adding an absurd amount of crap everywhere and should be unnecessary with the current planned approach for implementing data structures.
    • The using statement doesn't do lazy parsing anymore. Lazy parsing is better left to specific constructs that require them (such as function bodies and later on class/structs). This removes the only case of significant newline character in the language.
    (user: achavasse size: 5249)

50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
        llvm::InitializeAllTargetMCs();
        llvm::InitializeAllAsmPrinters();
        llvm::InitializeAllAsmParsers();
    }

    uint32_t Compiler::execute( const string& filename )
    {
        auto identity = sema::InjectDomainIntoIdentity( builtins::RootIdentity(), sema::DomainCompileTime() );

        auto result = LoadAndExecuteFile( m_pEnv, filename, identity, GetValueType< uint32_t >(), ToValue< uint32_t >( 1 ) );

        if( DiagnosticsManager::GetInstance().errorsWereEmitted() )
            return 1;

        if( !result )
            return 0;








<
<
|







50
51
52
53
54
55
56


57
58
59
60
61
62
63
64
        llvm::InitializeAllTargetMCs();
        llvm::InitializeAllAsmPrinters();
        llvm::InitializeAllAsmParsers();
    }

    uint32_t Compiler::execute( const string& filename )
    {


        auto result = LoadAndExecuteFile( m_pEnv, filename, builtins::RootIdentity(), GetValueType< uint32_t >(), ToValue< uint32_t >( 1 ) );

        if( DiagnosticsManager::GetInstance().errorsWereEmitted() )
            return 1;

        if( !result )
            return 0;