diff --git a/fine/build.rs b/fine/build.rs index 80b3db35..f9f82d57 100644 --- a/fine/build.rs +++ b/fine/build.rs @@ -82,8 +82,6 @@ fn generate_test_for_file(path: PathBuf) -> String { assertions.push(quote! { crate::assert_no_errors(&_tree, &_lines); }); - } else if line.starts_with("@") { - panic!("Test file {display_path} has unknown directive: {line}"); } } diff --git a/fine/tests/expression/argument.fine b/fine/tests/expression/argument.fine index c927f7cd..e4d5bdd1 100644 --- a/fine/tests/expression/argument.fine +++ b/fine/tests/expression/argument.fine @@ -2,7 +2,6 @@ fun foo(x: f64) { x + 7 } -// @no-errors // @type: 20 f64 // @concrete: // | File diff --git a/fine/tests/expression/arithmetic.fine b/fine/tests/expression/arithmetic.fine index 9dfa9dd0..ba1912a8 100644 --- a/fine/tests/expression/arithmetic.fine +++ b/fine/tests/expression/arithmetic.fine @@ -1,6 +1,5 @@ 1 * 2 + -3 * 4; -// @no-errors // @type: 6 f64 // @concrete: // | File diff --git a/fine/tests/expression/block.fine b/fine/tests/expression/block.fine index 20fd57a6..524514bc 100644 --- a/fine/tests/expression/block.fine +++ b/fine/tests/expression/block.fine @@ -1,10 +1,10 @@ -{} - -// @no-errors -// @type: 0 () // @concrete: // | File // | Block // | LeftBrace:'"{"' // | RightBrace:'"}"' // | + +{} + +// @type: 94 () diff --git a/fine/tests/expression/boolean.fine b/fine/tests/expression/boolean.fine index abf299d4..e3405c51 100644 --- a/fine/tests/expression/boolean.fine +++ b/fine/tests/expression/boolean.fine @@ -1,7 +1,3 @@ -true and false or false and !true; - -// @no-errors -// @type: 15 bool // @concrete: // | File // | ExpressionStatement @@ -22,3 +18,7 @@ true and false or false and !true; // | LiteralExpression // | True:'"true"' // | Semicolon:'";"' +// +true and false or false and !true; + +// @type: 549 bool diff --git a/fine/tests/expression/conditional.fine b/fine/tests/expression/conditional.fine index b4e3bd22..c5383036 100644 --- a/fine/tests/expression/conditional.fine +++ b/fine/tests/expression/conditional.fine @@ -1,24 +1,3 @@ -if true { "discarded"; 23 } else { 45 } - -// @no-errors -// Here come some type probes! -// (type of the condition) -// @type: 3 bool -// -// (the discarded expression) -// @type: 10 string -// -// (the "then" clause) -// @type: 23 f64 -// @type: 26 f64 -// -// (the "else" clause) -// @type: 35 f64 -// @type: 38 f64 -// -// (the overall expression) -// @type: 0 f64 -// // @concrete: // | File // | IfStatement @@ -44,16 +23,22 @@ if true { "discarded"; 23 } else { 45 } // | Number:'"45"' // | RightBrace:'"}"' // -// @compiles-to: -// | function << module >> (0 args, 0 locals): -// | strings (1): -// | 0: "discarded" -// | code (7): -// | 0: PushTrue -// | 1: JumpFalse(6) -// | 2: PushString(0) -// | 3: Discard -// | 4: PushFloat(23.0) -// | 5: Jump(7) -// | 6: PushFloat(45.0) -// | +if true { "discarded"; 23 } else { 45 } + +// Here come some type probes! +// (type of the condition) +// @type: 667 bool +// +// (the discarded expression) +// @type: 674 string +// +// (the "then" clause) +// @type: 686 f64 +// @type: 689 f64 +// +// (the "else" clause) +// @type: 696 f64 +// @type: 699 f64 +// +// (the overall expression) +// @type: 664 f64 \ No newline at end of file diff --git a/fine/tests/expression/number.fine b/fine/tests/expression/number.fine index 3b5411f6..4995ea31 100644 --- a/fine/tests/expression/number.fine +++ b/fine/tests/expression/number.fine @@ -1,10 +1,10 @@ -42; - -// @no-errors -// @type: 0 f64 // @concrete: // | File // | ExpressionStatement // | LiteralExpression // | Number:'"42"' // | Semicolon:'";"' + +42; + +// @type: 129 f64 diff --git a/fine/tests/expression/strings.fine b/fine/tests/expression/strings.fine index 32fe9eab..b179635f 100644 --- a/fine/tests/expression/strings.fine +++ b/fine/tests/expression/strings.fine @@ -1,7 +1,3 @@ -"Hello " + 'world!'; - -// @no-errors -// @type: 9 string // @concrete: // | File // | ExpressionStatement @@ -12,3 +8,7 @@ // | LiteralExpression // | String:'"'world!'"' // | Semicolon:'";"' +// +"Hello " + 'world!'; + +// @type: 261 string \ No newline at end of file