Arrow func
This commit is contained in:
@@ -16,12 +16,12 @@ public partial class QBEGenerator
|
||||
private readonly List<StringLiteral> _stringLiterals = [];
|
||||
private readonly Stack<string> _breakLabels = [];
|
||||
private readonly Stack<string> _continueLabels = [];
|
||||
private readonly Queue<(BoundAnonymousFunc Func, string Name)> _anonymousFunctions = [];
|
||||
private readonly Queue<(BoundArrowFunc Func, string Name)> _arrowFunctions = [];
|
||||
private readonly Dictionary<BoundTraitFuncImpl, string> _implFunctions = [];
|
||||
private readonly Stack<Scope> _scopes = [];
|
||||
private int _tmpIndex;
|
||||
private int _labelIndex;
|
||||
private int _anonymousFuncIndex;
|
||||
private int _arrowFuncIndex;
|
||||
private int _cStringLiteralIndex;
|
||||
private int _stringLiteralIndex;
|
||||
private int _implFuncNameIndex;
|
||||
@@ -42,12 +42,12 @@ public partial class QBEGenerator
|
||||
_stringLiterals.Clear();
|
||||
_breakLabels.Clear();
|
||||
_continueLabels.Clear();
|
||||
_anonymousFunctions.Clear();
|
||||
_arrowFunctions.Clear();
|
||||
_implFunctions.Clear();
|
||||
_scopes.Clear();
|
||||
_tmpIndex = 0;
|
||||
_labelIndex = 0;
|
||||
_anonymousFuncIndex = 0;
|
||||
_arrowFuncIndex = 0;
|
||||
_cStringLiteralIndex = 0;
|
||||
_stringLiteralIndex = 0;
|
||||
_implFuncNameIndex = 0;
|
||||
@@ -71,9 +71,9 @@ public partial class QBEGenerator
|
||||
_writer.NewLine();
|
||||
}
|
||||
|
||||
while (_anonymousFunctions.TryDequeue(out var anon))
|
||||
while (_arrowFunctions.TryDequeue(out var arrowFunc))
|
||||
{
|
||||
EmitFuncDefinition(anon.Name, anon.Func.Parameters, anon.Func.ReturnType, anon.Func.Body);
|
||||
EmitFuncDefinition(arrowFunc.Name, arrowFunc.Func.Parameters, arrowFunc.Func.ReturnType, arrowFunc.Func.Body);
|
||||
_writer.NewLine();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user