public BorrowAssignmentLifetimeValidator(FunctionDefinitionNode function, IErrorManager errors, ExpressionTypeManager types, ScopeManager scopes)
 {
     _function         = function;
     _errors           = errors;
     _scopes           = scopes;
     _types            = types;
     _lifetimeResolver = new BorrowPointerLifetimeResolver(scopes);
 }
Beispiel #2
0
        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) !;
        }