public BorrowAssignmentLifetimeValidator(FunctionDefinitionNode function, IErrorManager errors, ExpressionTypeManager types, ScopeManager scopes) { _function = function; _errors = errors; _scopes = scopes; _types = types; _lifetimeResolver = new BorrowPointerLifetimeResolver(scopes); }
public TypeCheckVisitor(SemanticContext context, TypeManager typeManager, IErrorManager errors, ExpressionTypeManager expressionTypeManager) { _context = context; _typeManager = typeManager; _errors = errors; _expressionTypeManager = expressionTypeManager; _delegator.StatementVisitor = this; _delegator.ExpressionVisitor = this; _delegator.SpecifierVisitor = this; // TODO: Better way to get this void type. Type = _typeManager.GetType("void", PointerMode.NotAPointer) !; }