private void HandleSigResult() { Debug.Assert(Monitor.IsEntered(_streamLock)); int overloadCount = _stream.ReadInt32(); OverloadDoc[] docs = new OverloadDoc[overloadCount]; for (int i = 0; i < overloadCount; i++) { string doc = _stream.ReadString(); int paramCount = _stream.ReadInt32(); ParameterResult[] parameters = new ParameterResult[paramCount]; for (int curParam = 0; curParam < paramCount; curParam++) { string name = _stream.ReadString(); int equals = name.IndexOf('='); if (equals < 0) { parameters[curParam] = new ParameterResult(name); } else { parameters[curParam] = new ParameterResult( name.Remove(equals), null, null, // Even though it has a default, don't mark the // parameter as optional (for consistency with // signature help from the database) false, null, name.Substring(equals + 1) ); } } docs[i] = new OverloadDoc(doc, parameters); } _overloads = docs; _completionResultEvent.Set(); }
private void HandleSigResult() { int overloadCount = Socket.ReadInt(); OverloadDoc[] docs = new OverloadDoc[overloadCount]; for (int i = 0; i < overloadCount; i++) { string doc = Socket.ReadString(); int paramCount = Socket.ReadInt(); ParameterResult[] parameters = new ParameterResult[paramCount]; for (int curParam = 0; curParam < paramCount; curParam++) { string name = Socket.ReadString(); parameters[curParam] = new ParameterResult(name); } docs[i] = new OverloadDoc(doc, parameters); } _overloads = docs; _completionResultEvent.Set(); }