protected override Expression VisitMember(MemberExpression node) { HbExpression accessedExpression = null; Visit(node.Expression); accessedExpression = Retrieve(); var memberName = node.Member.Name; var attr = node.Member.GetCustomAttribute <OverrideHbFieldNameAttribute>(); if (attr != null) { memberName = attr.Name; } else { if (node.Member.Name == "Length") { if (node.Expression.Type.IsArray) { memberName = "length"; } } } Return(new HbMemberExpression { Accessed = accessedExpression, MemberName = memberName }); return(node); }
private void Return(HbExpression expr) { _resultsStack.Push(expr); }