Differences From Artifact [c254d75499]:
- File bs/codegen/codegen.h — part of check-in [7d2def7b75] at 2020-12-27 14:40:24 on branch trunk — Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. (user: achavasse size: 561)
To Artifact [d09f881dc0]:
- File
bs/codegen/codegen.h
— part of check-in
[3cf6ab5249]
at
2021-03-04 21:47:51
on branch trunk
—
- Refactored and simplified the way integer and string constants are handled: we no longer try to resolve them during typechecking, this breaks when parametric types are involved and also it makes no sense, typechecking is about types, not values
- Fixed multiple places where locationIds weren't propagated
- Verifier: variable assignments now verify the destination variable type's refinement conditions
- Fixed a test where the above change detected a bug, kept the bugged version as a new verification failure test
| ︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include "cir/cir.h"
#include "sema/sema.h"
namespace goose::builtins
{
class Func;
class FuncType;
}
namespace goose::codegen
{
using namespace eir;
using namespace cir;
using namespace sema;
| > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include "cir/cir.h"
#include "sema/sema.h"
namespace goose::builtins
{
class Func;
class FuncType;
struct PointerType;
}
namespace goose::codegen
{
using namespace eir;
using namespace cir;
using namespace sema;
|
| ︙ | ︙ |