Move the Quick Info handling for await back into Quick Info
The Quick Info service mostly defers to the symbol description service to do most of it's work; the symbol description service takes a symbol and a SemanticModel + position to build up the description of the symbol, using that position for minimally qualifying types in some cases. This position was also being used by the symbol description service to see if the original invocation point was an await, and if so it switched to special behavior to give a different message entirely; there was some logic in Quick Info itself to also accomodate that. This moves that special handling back up to Quick Info, and also does a bit of a refactoring to include all of the decisions for what Quick Info will show into a struct. This will be used later to help the LSIF tool because it means if the two structs are equal than we know the two Quick Info contents would the same and we can reuse it.
Showing
想要评论请 注册 或 登录