Repository navigation
Commit 82c4cd9
committed
Устранить находки аудита TYPE и сохранять ошибки исполнения в IDE
TYPE:
- устойчивый итеративный обход графа типов с кешем: циклическое сравнение даёт
MB2022/MB2003 вместо переполнения стека, повторяющиеся подграфы не обходятся
повторно; общий помощник использует и валидатор байткода;
- записи создаются инструкцией CreateRecord в момент исполнения: превышение
предела фиксированного поля даёт MB3013 внутри TRY, невызванная процедура
ничего не выделяет;
- метод TYPE получает адресуемого получателя (вид источника CallByRef 6):
SELF у поля и элемента массива меняет фактическое хранилище, изменения видны
сразу и сохраняются при ERROR;
- поле принимает константный числовой литерал с допустимым преобразованием
(DOUBLE/LONG/DECIMAL = 1), вычисляемые выражения по-прежнему отклоняются;
- независимые снимки графа записей для обратного шага через
RuntimeSnapshotFactory; восстановленный кадр видит один экземпляр записи.
IDE: фоновая проверка неизменённого документа больше не стирает ошибку
исполнения того же снимка.
Проверки: Semantics 530/530, Runtime 1183/1183, Bytecode 248/248,
Execution 3257/3259 (два известных отказа Maze Chase), CLI 30/30,
DesktopHost отдельным процессом. Примеры TYPE и их JSON-восстановление дают
совпадающий вывод; проверка справочника пройдена.
Версии: язык 0.1.18, компилятор/CLI 0.1.18, IDE 0.6.20.1 parent 1f4a291 commit 82c4cd9
47 files changed
Lines changed: 2021 additions & 158 deletions
File tree
- docs
- manual
- plans
- ide
- e2e
- evidence/shots
- specs
- src/renderer
- tests
- samples
- acceptance/negative
- operators/type
- smoke/engine-compare
- src
- Axiom.Bytecode
- Diagnostics
- Emission
- Lowering
- Model
- Axiom.Core
- Axiom.Runtime
- Execution
- Values
- Axiom.Semantics
- Binding
- Symbols
- tests
- Axiom.Execution.Tests
- Axiom.Runtime.Tests
- Axiom.Semantics.Tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
253 | 253 | | |
254 | 254 | | |
255 | 255 | | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| |||
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
0 commit comments