public virtual void VisitHasMember(BoundHasMember node) { DefaultVisit(node); }
private BoundValueType EmitHasMember(BoundHasMember node) { if (node.Expression.ValueType != BoundValueType.Object) _scope.EmitLoad(SpecialLocal.Runtime); EmitBox(EmitExpression(node.Expression)); IL.EmitConstant(_identifierManager.ResolveIdentifier(node.Index)); if (node.Expression.ValueType == BoundValueType.Object) return IL.EmitCall(_objectHasProperty); return IL.EmitCall(_runtimeHasMemberByIndex); }