private StackIndexChild(StackIndex parent, LuaValue[] keys) { //Trace.TraceInformation("new StackIndexChild({{{0},{1}}},{2})", parent.L, parent.Index, keys == null || keys.Length == 0 ? "null" : _keysToString(keys)); if (keys == null || keys.Length == 0) { throw new ArgumentException("null or empty", "keys"); } for (int i = 0; i < keys.Length - 1; ++i) { if (!keys[i].IsSupported) { throw new ArgumentException("Cannot traverse " + keys[i].Type + " keys.", "keys"); } } parent.L.NullCheck("parent"); Parent = parent; _keys = keys; }
public StackIndexChild(StackIndex parent, IEnumerable <LuaValue> keys) : this(parent, keys == null ? null : keys.ToArray()) { }