public void VisitExpression(IExpressionNode node) { if (ExpressionVisitor != null) { node.AcceptExpressionVisitor(ExpressionVisitor); } }
public IType GetExpressionType(IExpressionNode node) { if (!_expressionResultTypes.TryGetValue(node, out IType type)) { TypeCheckVisitor visitor = new TypeCheckVisitor(_context, _typeManager, _errors, this); node.AcceptExpressionVisitor(visitor); type = visitor.Type; _expressionResultTypes[node] = type; } return(type); }
public void VisitExpression(IExpressionNode node) { node.AcceptExpressionVisitor(this); }
private Scope?GetLifetime(IExpressionNode node) { _lifetimeResolver.Reset(); node.AcceptExpressionVisitor(_lifetimeResolver); return(_lifetimeResolver.Lifetime); }