/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
LanguagePlugins/SPython/SyntaxTreeConverters/SPythonStandardTreeConverter/AddForwardDeclarationsVisitor.cs
36 строк
1 KB
MovchanGitHub
SPython 1.0 (#3274)
22 июн 2025, 20:56
Не верифицирован
22 июн 2025, 20:56
080fca1
Код
Авторство
О чём код?
using PascalABCCompiler.SyntaxTree; namespace Languages.SPython.Frontend.Converters { internal class AddForwardDeclarationsVisitor : BaseChangeVisitor { private declarations decls; public override void Enter(syntax_tree_node stn) { if (stn is program_module pm) { decls = pm.program_block.defs; } if (stn is interface_node intn) { decls = intn.interface_definitions; } base.Enter(stn); } public override void visit(procedure_header _procedure_header) { SourceContext context = _procedure_header.source_context; var pd = new procedure_definition(_procedure_header.TypedClone(), null, context); pd.proc_header.proc_attributes.Add(new procedure_attribute(proc_attribute.attr_forward, context)); decls.Add(pd, context); } public override void visit(function_header _function_header) { visit(_function_header as procedure_header); } } }