Differences From Artifact [7f0d5c8e08]:
- File bs/builtins/statements/using.cpp — part of check-in [61b4955ba0] at 2019-03-23 14:04:07 on branch trunk — ir: made it possible to use anonymous ANYTERM patterns in matching. (user: achavasse size: 4654)
To Artifact [2dee3ee43b]:
- File
bs/builtins/statements/using.cpp
— part of check-in
[5ea39472a2]
at
2019-04-12 19:37:30
on branch trunk
—
- cleaned up and refactored llr into a proper cfg representation.
- added a CFG builder class in sema, currently very rudimentary.
- split the parser's value building workflow from the llr construction workflow, which now goes through a CFG builder.
- implemented the return statement.
| ︙ | ︙ | |||
93 94 95 96 97 98 99 |
if( !p.parseExpression() )
{
cout << "invalid using expression.\n";
return Env::Status::NoMatch;
}
| | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
if( !p.parseExpression() )
{
cout << "invalid using expression.\n";
return Env::Status::NoMatch;
}
auto result = p.peekLastValue();
if( !result )
{
cout << "invalid using expression.\n";
return Env::Status::NoMatch;
}
content = ValueToIRExpr( *result );
|
| ︙ | ︙ |