Resolved cyclic dependencies between environment and compiler stages
This commit is contained in:
@@ -13,14 +13,18 @@ uses
|
||||
Myc.Ast.Scope,
|
||||
Myc.Ast.Types,
|
||||
Myc.Ast.Compiler.Binder.Upvalues,
|
||||
Myc.Ast,
|
||||
Myc.Ast.Environment;
|
||||
Myc.Ast;
|
||||
|
||||
type
|
||||
IAstBinder = interface(IAstVisitor)
|
||||
function Execute(const RootNode: IAstNode; out Layout: IScopeLayout): IAstNode;
|
||||
end;
|
||||
|
||||
IFunctionDefinitionRegistry = interface
|
||||
procedure Register(const Address: TResolvedAddress; const ADef: IFunctionDefinition);
|
||||
function Resolve(const Address: TResolvedAddress): IFunctionDefinition;
|
||||
end;
|
||||
|
||||
TAstBinder = class(TAstTransformer, IAstBinder)
|
||||
private
|
||||
type
|
||||
|
||||
Reference in New Issue
Block a user