[BUG] ассерт при отображении тултипа/подсветки использования
От: hi_octane Беларусь  
Дата: 02.11.07 23:42
Оценка:
Пока не настолько шарю в сорцах интеграции чтобы лезть и править

Если открыть с последней версией интеграции сорцы компилятора (Nemerle.sln), затем открыть файл LocalValue.n и навестись мышой на
public class LocalValue : Located, System.IComparable [LocalValue]
__________^^^^^^ объявление класса "LocalValue"

То вылетит два ассерта. В отладчеке смотрел -- валится Project.Refactoring.n:FindUsages->ProjectType.n:FindObject -- в одном из матчей -- OrderedContains получает что-то не то.

Второй ассерт, судя по всему, тот-же самый, просто вызов идёт другим путём, так что его не копал. Вот стактрэйсы:

1 ===================================
at Utils.OrderedContains(list`1 lst, Int32 testLine, Int32 testCol) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Utils.n(394)
at Project.FindObject(Type typeDecl, Int32 fileIndex, Int32 line, Int32 col) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Type.n(336)
at Project.FindUsages(Type inType, Int32 fileIndex, Int32 line, Int32 column, Boolean onlyThisFile) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Refactoring.n(199)
at Project.HighlightUsages(ScanLexer lexer, Int32 fileIndex, Int32 line, Int32 col, Boolean isPermanent) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Refactoring.n(106)
at Project.HighlightUsages(ScanLexer lexer, String filePath, Int32 line, Int32 col, Boolean isPermanent) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Refactoring.n(88)
at ProjectInfo.HighlightUsages(StringOrInt filePathOrIndex, Int32 line, Int32 column, ISource source, Boolean isPermanent) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\Project\ProjectInfo.cs(480)
at NemerleLanguageService.HighlightUsages(ParseRequest request) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\LanguageService\NemerleLanguageService.cs(591)
at NemerleLanguageService.GetMethodScope(ParseRequest request) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\LanguageService\NemerleLanguageService.cs(633)
at NemerleLanguageService.ParseSource(ParseRequest request) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\LanguageService\NemerleLanguageService.cs(81)
at LanguageService.ParseRequest(ParseRequest req)
at Source.BeginParse(Int32 line, Int32 idx, TokenInfo info, ParseReason reason, IVsTextView view, ParseResultHandler callback)
at ViewFilter.GetDataTipText(TextSpan[] aspan, String& textValue)

2 ===================================
at Utils.OrderedContains(list`1 lst, Int32 testLine, Int32 testCol) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Utils.n(394)
at Project.FindObject(Type typeDecl, Int32 fileIndex, Int32 line, Int32 col) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Type.n(336)
at Project.GetTypeQuickTip(Type typeDecl, Int32 fileIndex, Int32 line, Int32 col, ManagerClass manager) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.Type.n(415)
at Project.GetQuickTipInfo(String filePath, Int32 line, Int32 col) C:\NemerleSVN\vs-plugin\Nemerle.Compiler.Utils\Nemerle.Completion2\CodeModel\Project.n(216)
at ProjectInfo.GetQuickTip(String filePath, Int32 line, Int32 col, ISource source) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\Project\ProjectInfo.cs(429)
at NemerleAuthoringScope.GetDataTipText(Int32 line, Int32 col, TextSpan& span) C:\NemerleSVN\vs-plugin\Nemerle.VsIntegration\LanguageService\NemerleAuthoringScope.cs(96)
at ViewFilter.GetDataTipResponse(ParseRequest req)
at Source.BeginParse(Int32 line, Int32 idx, TokenInfo info, ParseReason reason, IVsTextView view, ParseResultHandler callback)
at ViewFilter.GetDataTipText(TextSpan[] aspan, String& textValue)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.