Commit b46149e
committed
Rounds 4-6: peek fix, mutable lambda, isDefault/isDelete, pack expansion
Critical bug fix:
- peek() was mutating pos via skipCommentsAt(), causing wrong token
visibility when comments separated tokens from checkKeyword calls
Parser:
- consteval/constinit added to keyword set and qualifier loops
- Explicit template instantiation: template class Foo<int>;
- Concept-constrained template params: Numeric T
- Global structured binding at top level
- Bit field declarations: unsigned int x : 1
- __attribute__((...)): consumed in trailing qualifier position
- Args&&... variadic params: isVariadic set from type-level pack expansion
- args... pack expansion in function call arguments -> PostfixExpr
- Local struct definition: emits via CodeGen.generateNode
- isDefault/isDelete properly set in parseFunctionOrConstructorOrDestructor
- mutable lambda: stored in LambdaExpr.isMutable
AstDecl/AstExpr:
- FunctionDecl.isDefault, FunctionDecl.isDelete
- LambdaExpr.isMutable
CodeGen:
- Emit = default / = delete for function declarations
- Emit mutable after lambda params, before ->
- Trailing return type: auto name(params) -> decltype(...)
CppBuild:
- TopLevelStatements hoisted to namespace scope (structured bindings)
- Explicit template instantiations emitted before namespace Processing1 parent 3fe0117 commit b46149e
5 files changed
Lines changed: 40 additions & 14 deletions
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
379 | 379 | | |
380 | 380 | | |
381 | 381 | | |
| 382 | + | |
382 | 383 | | |
383 | 384 | | |
384 | 385 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
979 | 979 | | |
980 | 980 | | |
981 | 981 | | |
| 982 | + | |
982 | 983 | | |
983 | 984 | | |
984 | 985 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1231 | 1231 | | |
1232 | 1232 | | |
1233 | 1233 | | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
1234 | 1237 | | |
1235 | 1238 | | |
1236 | 1239 | | |
| |||
1331 | 1334 | | |
1332 | 1335 | | |
1333 | 1336 | | |
1334 | | - | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
1335 | 1340 | | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
1336 | 1350 | | |
1337 | 1351 | | |
1338 | 1352 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
922 | 922 | | |
923 | 923 | | |
924 | 924 | | |
925 | | - | |
| 925 | + | |
926 | 926 | | |
927 | | - | |
| 927 | + | |
928 | 928 | | |
929 | 929 | | |
930 | 930 | | |
| |||
2274 | 2274 | | |
2275 | 2275 | | |
2276 | 2276 | | |
2277 | | - | |
2278 | | - | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
2279 | 2280 | | |
2280 | 2281 | | |
2281 | | - | |
2282 | | - | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
2283 | 2285 | | |
2284 | 2286 | | |
2285 | 2287 | | |
| |||
2671 | 2673 | | |
2672 | 2674 | | |
2673 | 2675 | | |
2674 | | - | |
| 2676 | + | |
2675 | 2677 | | |
2676 | 2678 | | |
2677 | 2679 | | |
| |||
2681 | 2683 | | |
2682 | 2684 | | |
2683 | 2685 | | |
2684 | | - | |
| 2686 | + | |
2685 | 2687 | | |
2686 | 2688 | | |
2687 | 2689 | | |
| |||
2749 | 2751 | | |
2750 | 2752 | | |
2751 | 2753 | | |
2752 | | - | |
| 2754 | + | |
2753 | 2755 | | |
2754 | 2756 | | |
2755 | 2757 | | |
| |||
2825 | 2827 | | |
2826 | 2828 | | |
2827 | 2829 | | |
2828 | | - | |
| 2830 | + | |
2829 | 2831 | | |
2830 | 2832 | | |
2831 | 2833 | | |
| |||
2936 | 2938 | | |
2937 | 2939 | | |
2938 | 2940 | | |
2939 | | - | |
| 2941 | + | |
| 2942 | + | |
| 2943 | + | |
| 2944 | + | |
| 2945 | + | |
| 2946 | + | |
2940 | 2947 | | |
2941 | | - | |
| 2948 | + | |
| 2949 | + | |
| 2950 | + | |
| 2951 | + | |
2942 | 2952 | | |
2943 | | - | |
| 2953 | + | |
2944 | 2954 | | |
2945 | 2955 | | |
2946 | 2956 | | |
| |||
0 commit comments