Commit 423e395
Fix super() inheritance chain lookup and dogfood harness
Compiler fix:
- Fix ValidateSuperMemberAccess in TypeChecker.Utilities.cs to traverse
the full inheritance chain when looking up methods called via super()
- Previously only checked direct parent class, now uses FindMethodInHierarchy
- Also fixes field lookup to check full hierarchy
Dogfood harness fix:
- Add _strip_compilation_header() in compiler.py to strip "Successfully
compiled" and "=== Running Program ===" headers from execution output
- Applied to both run_file() and run_project() methods
Test additions (17 new file-based integration tests):
- basics/augmented_assignment_divide_mod.spy
- classes/bool_access_control.spy
- classes/class_bank_account.spy
- classes/class_field_access_scale.spy
- classes/class_math_utils.spy
- classes/class_rectangle_init.spy
- classes/class_rectangle_simple.spy
- classes/class_temperature_converter.spy
- enums/enum_to_int_coercion.spy
- enums/enum_traffic_light.spy
- functions/function_add_three_numbers.spy
- functions/function_calling_function_complex.spy
- functions/function_square_add_squares.spy
- inheritance/super_grandparent_method.spy
- inheritance/virtual_override_calculator.spy
- inheritance/virtual_override_shapes.spy
- structs/struct_point_value_semantics.spy
Cleanup:
- Remove resolved dogfood issues and successes (converted to tests)
- Update dogfood_output/SUMMARY.md with completion status
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 946f2f3 commit 423e395
File tree
90 files changed
+75
-1936
lines changed- build_tools/sharpy_dogfood
- dogfood_output
- issues
- 20260118_131731_execution_failed_0000
- 20260118_131748_output_mismatch_0001
- 20260118_131843_output_mismatch_0002
- 20260118_131859_output_mismatch_0003
- 20260118_131912_execution_failed_0004
- 20260118_131923_execution_failed_0005
- 20260118_131939_output_mismatch_0006
- successes
- 20260118_130030_success_bool_variables_0000
- 20260118_130044_success_enum_definition_0001
- 20260118_130058_success_class_with_init_0002
- 20260118_130114_success_class_field_access_0003
- 20260118_130126_success_simple_class_0004
- 20260118_130146_success_class_static_methods_0005
- 20260118_130200_success_class_static_methods_0006
- 20260118_130212_success_augmented_assignment_0007
- 20260118_131808_success_simple_class_0000
- 20260118_131822_success_struct_definition_0001
- src
- Sharpy.Compiler.Tests
- Integration/TestFixtures
- basics
- classes
- enums
- functions
- inheritance
- structs
- Semantic
- Sharpy.Compiler/Semantic
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
90 files changed
+75
-1936
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
38 | 62 | | |
39 | 63 | | |
40 | 64 | | |
| |||
173 | 197 | | |
174 | 198 | | |
175 | 199 | | |
176 | | - | |
| 200 | + | |
177 | 201 | | |
178 | 202 | | |
179 | 203 | | |
180 | 204 | | |
181 | 205 | | |
182 | 206 | | |
183 | | - | |
| 207 | + | |
184 | 208 | | |
185 | 209 | | |
186 | 210 | | |
| |||
266 | 290 | | |
267 | 291 | | |
268 | 292 | | |
269 | | - | |
| 293 | + | |
270 | 294 | | |
271 | 295 | | |
272 | 296 | | |
273 | 297 | | |
274 | 298 | | |
275 | 299 | | |
276 | | - | |
| 300 | + | |
277 | 301 | | |
278 | 302 | | |
279 | 303 | | |
| |||
This file was deleted.
Lines changed: 0 additions & 78 deletions
This file was deleted.
Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 0 additions & 111 deletions
This file was deleted.
Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 0 additions & 18 deletions
This file was deleted.
0 commit comments