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();
            }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
            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();
            }