tgjones / HlslTools

A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files
http://timjones.io/blog/archive/2016/04/25/hlsl-tools-for-visual-studio-v1.0-released
Other
561 stars 97 forks source link

Cannot deal with #include #203

Closed Golgovskiy closed 3 years ago

Golgovskiy commented 3 years ago

After adding include, all functions no longer work. Can crash with a whole lot of aggregate exceptions.

A piece from the log: (Not sure if related) `

System.AggregateException: Произошла одна или несколько ошибок. ---> System.AggregateException: Произошла одна или несколько ошибок. ---> System.InvalidOperationException: Последовательность не содержит элементов в System.Linq.Enumerable.First[TSource](IEnumerable1 source) в System.Linq.ImmutableArrayExtensions.First[T](ImmutableArray1 immutableArray, Func2 predicate) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionInvocationExpression(FunctionInvocationExpressionSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindExpression(ExpressionSyntax node) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindReturnStatement(ReturnStatementSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass102_0.b2(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func`2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass102_0.b1(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchSection(SwitchSectionSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass101_0.b1(SwitchSectionSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func`2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass101_0.b0(SwitchSectionSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchStatement(SwitchStatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass95_0.b1(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func`2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass95_0.b0(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindBlock(BlockSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass29_0.b3(BlockSyntax x) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func`2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionDefinition(FunctionDefinitionSyntax declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindGlobalDeclaration(SyntaxNode declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass16_0.b1(SyntaxNode y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass16_0.<BindTopLevelDeclarations>b__0(SyntaxNode x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindTopLevelDeclarations(List1 declarations, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindCompilationUnit(CompilationUnitSyntax compilationUnit) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindRoot(SyntaxNode syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind(SyntaxNode syntaxRoot, CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModel(Nullable1 cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModelBase(CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Document.<>cDisplayClass20_2.<<-ctor>b3>d.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject) --- Конец трассировки внутреннего стека исключений --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.Document.d28.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractSemanticQuickInfoProvider.d3.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractSemanticQuickInfoProvider.d0.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractQuickInfoProvider.d2.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractQuickInfoProvider.d0.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.QuickInfoService.d6.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.Editor.Implementation.QuickInfo.QuickInfoSource.d3.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.d39.MoveNext() --- Конец трассировки внутреннего стека исключений --- в Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.d32.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoPresentationSession.d5.MoveNext() ---> (Внутреннее исключение #0) System.AggregateException: Произошла одна или несколько ошибок. ---> System.InvalidOperationException: Последовательность не содержит элементов в System.Linq.Enumerable.First[TSource](IEnumerable1 source) в System.Linq.ImmutableArrayExtensions.First[T](ImmutableArray1 immutableArray, Func2 predicate) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionInvocationExpression(FunctionInvocationExpressionSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindExpression(ExpressionSyntax node) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindReturnStatement(ReturnStatementSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass102_0.b2(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass102_0.<BindSwitchSection>b__1(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchSection(SwitchSectionSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass101_0.<BindSwitchStatement>b__1(SwitchSectionSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass101_0.b0(SwitchSectionSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchStatement(SwitchStatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass95_0.b1(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass95_0.<BindBlock>b__0(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindBlock(BlockSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass29_0.<BindFunctionDefinition>b__3(BlockSyntax x) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionDefinition(FunctionDefinitionSyntax declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindGlobalDeclaration(SyntaxNode declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass16_0.b1(SyntaxNode y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func`2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass16_0.b0(SyntaxNode x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindTopLevelDeclarations(List1 declarations, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindCompilationUnit(CompilationUnitSyntax compilationUnit) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindRoot(SyntaxNode syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind(SyntaxNode syntaxRoot, CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModel(Nullable1 cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModelBase(CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Document.<>c__DisplayClass20_2.<<-ctor>b__3>d.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject) --- Конец трассировки внутреннего стека исключений --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.Document.<GetSemanticModelAsync>d__28.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractSemanticQuickInfoProvider.<BindTokenAsync>d__3.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractSemanticQuickInfoProvider.<BuildContentAsync>d__0.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractQuickInfoProvider.<GetQuickInfoItemAsync>d__2.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.AbstractQuickInfoProvider.<GetItemAsync>d__0.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.QuickInfo.QuickInfoService.<GetQuickInfoAsync>d__6.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в ShaderTools.CodeAnalysis.Editor.Implementation.QuickInfo.QuickInfoSource.<GetQuickInfoItemAsync>d__3.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.<ComputeSourceContentAsync>d__39.MoveNext() ---> (Внутреннее исключение #0) System.InvalidOperationException: Последовательность не содержит элементов в System.Linq.Enumerable.First[TSource](IEnumerable1 source) в System.Linq.ImmutableArrayExtensions.First[T](ImmutableArray1 immutableArray, Func2 predicate) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionInvocationExpression(FunctionInvocationExpressionSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindExpression(ExpressionSyntax node) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindReturnStatement(ReturnStatementSyntax syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass102_0.<BindSwitchSection>b__2(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass102_0.b1(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchSection(SwitchSectionSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass101_0.b1(SwitchSectionSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass101_0.<BindSwitchStatement>b__0(SwitchSectionSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindSwitchStatement(SwitchStatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindStatement(StatementSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass95_0.<BindBlock>b__1(StatementSyntax y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass95_0.b0(StatementSyntax x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindBlock(BlockSyntax syntax, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass29_0.b3(BlockSyntax x) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindFunctionDefinition(FunctionDefinitionSyntax declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindGlobalDeclaration(SyntaxNode declaration, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>c__DisplayClass16_0.<BindTopLevelDeclarations>b__1(SyntaxNode y) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.<>cDisplayClass16_0.b0(SyntaxNode x) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable1 items) в System.Collections.Immutable.ImmutableArray.ToImmutableArray[TSource](IEnumerable1 items) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindTopLevelDeclarations(List1 declarations, Symbol parent) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindCompilationUnit(CompilationUnitSyntax compilationUnit) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.BindRoot(SyntaxNode syntax) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind[TInput,TResult](TInput node, Func2 bindMethod) в ShaderTools.CodeAnalysis.Hlsl.Binding.Binder.Bind(SyntaxNode syntaxRoot, CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModel(Nullable`1 cancellationToken) в ShaderTools.CodeAnalysis.Hlsl.Compilation.Compilation.GetSemanticModelBase(CancellationToken cancellationToken) в ShaderTools.CodeAnalysis.Document.<>cDisplayClass20_2.<<-ctor>b3>d.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)<--- <---

`

tgjones commented 3 years ago

Thank you for the bug report. It looks it's this line that's failing, which means that somehow there are no candidates matching that condition. I'll investigate. https://github.com/tgjones/HlslTools/blob/f0d81cbff28069cbf967bbb8868d873608fbfe16/src/ShaderTools.CodeAnalysis.Hlsl/Binding/Binder.Expressions.cs#L536