Текст отчёта:
//Здесь вы можете добавить свой комментарий
02.04.2021 20:11:56
PascalABCCompiler.Core v3.8.0.2872 (27.03.2021), debug version
Runtime version: 4.0.30319.42000
OS version: Microsoft Windows NT 10.0.19042.0
Processor count: 4
WorkingSet: 145684 kb
StatesList:
BeginCompileFile test_prettyPrint.pas
BeginParsingFile test_prettyPrint.pas
EndParsingFile test_prettyPrint.pas
SyntaxTreeConversion Standard
ReadPCUFile PABCSystem.pcu
ReadDLL System.dll
ReadDLL mscorlib.dll
ReadDLL System.Core.dll
ReadDLL System.Numerics.dll
ReadPCUFile PABCExtensions.pcu
ReadPCUFile __RedirectIOMode.pcu
ReadDLL System.Windows.Forms.dll
CompileInterface test_prettyPrint.pas
EndCompileFile test_prettyPrint.pas
SemanticTreeConversion Optimizer
CodeGeneration test_prettyPrint.exe
CompilationFinished test_prettyPrint.pas
Ready
Error[0]: Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в PascalABCCompiler.NETGenerator.ILConverter.visit(IThisNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonMethodCallNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertBody(IStatementNode body)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFunctionBody(ICommonFunctionNode func)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFunctionsBodies(ICommonFunctionNode[] funcs)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFromTree(IProgramNode p, String TargetFileName, String SourceFileName, CompilerOptions options, String[] ResourceFiles)
в PascalABCCompiler.Compiler.Compile() System.Exception: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в PascalABCCompiler.NETGenerator.ILConverter.visit(IThisNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonMethodCallNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertBody(IStatementNode body)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFunctionBody(ICommonFunctionNode func)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFunctionsBodies(ICommonFunctionNode[] funcs)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFromTree(IProgramNode p, String TargetFileName, String SourceFileName, CompilerOptions options, String[] ResourceFiles)
в PascalABCCompiler.Compiler.Compile()'
Код, приводящий к ошибке:
type
node = class
private
_nodes: list<node>;
_value: string;
public
property Nodes[x: integer]: node
read _nodes[x];default;
constructor(v: string);
begin
_value := v;
_nodes := new List<node>();
end;
function AddNode(v: string): node;
begin
var t := new node(v);
_nodes.Add(t);
Result := t;
end;
end;
begin
var tree_command := new node('C:.');
tree_command.AddNode('.android');
with tree_command.AddNode('.vscode').AddNode('extensions') do
begin
with AddNode('some') do
begin
AddNode('1');
AddNode('2');
end;
AddNode('ms-vscode.cpptools-1.2.2');
end;
tree_command.AddNode('3D Objects');
end.
Это получилось после недолгой игры с оператором “with”, вроде бы из-за вложенности. Если удалить внутренний, то всё идёт хорошо.
+
после нажатия на кнопку “Сохранить отчёт как…” окно с ним перестаёт отвечать