public override AstExpression Clone() { return(CopyValuesTo(new AstFunctionTypeExpr( ParameterTypes.Select(p => p.Clone()).ToList(), ReturnType?.Clone(), IsFatFunction, Directives))); }
public override object Visit(PointerReferenceExpression pointerReferenceExpression, object data) { ReturnType type = pointerReferenceExpression.Expression.AcceptVisitor(this, data) as ReturnType; if (type == null) { return(null); } type = type.Clone(); --type.PointerNestingLevel; if (type.PointerNestingLevel != 0) { return(null); } return(resolver.SearchMember(type, pointerReferenceExpression.Identifier)); }