KirillOsenkov / RoslynQuoter

Roslyn tool that for a given C# program shows syntax tree API calls to construct its syntax tree
http://roslynquoter.azurewebsites.net
Apache License 2.0
918 stars 118 forks source link

Binary Literal not working #78

Closed benediktfrings closed 1 year ago

benediktfrings commented 1 year ago

Code: 0b_0010_1010 See: Microsoft Learn: Integral numeric types (C# reference)

Congratulations! You've found a bug in Quoter! Please open an issue at https://github.com/KirillOsenkov/RoslynQuoter/issues/new and paste the code you've typed above and this stack:System.Exception: Can't pick a method to call for Literal.
If the first parameter is of type SyntaxKind, please add an exception for this node type in QuotePropertyValues().
   at RoslynQuoter.Quoter.InterpretMethodCall(Object instance, MethodCall methodCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1318
   at RoslynQuoter.Quoter.InterpretApiCall(ApiCall apiCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1229
   at RoslynQuoter.Quoter.GetArgument(Type parameterType, Object argument) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1510
   at RoslynQuoter.Quoter.PickCandidateMethod(String name, IList`1 arguments, IEnumerable`1 candidates, Type genericArgumentType) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1466
   at RoslynQuoter.Quoter.InterpretMethodCall(Object instance, MethodCall methodCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1318
   at RoslynQuoter.Quoter.InterpretApiCall(ApiCall apiCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1229
   at RoslynQuoter.Quoter.GetArgument(Type parameterType, Object argument) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1510
   at RoslynQuoter.Quoter.PickCandidateMethod(String name, IList`1 arguments, IEnumerable`1 candidates, Type genericArgumentType) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1466
   at RoslynQuoter.Quoter.InterpretMethodCall(Object instance, MethodCall methodCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1318
   at RoslynQuoter.Quoter.InterpretApiCall(ApiCall apiCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1229
   at RoslynQuoter.Quoter.Evaluate(ApiCall apiCall, Boolean normalizeWhitespace) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1194
   at RoslynQuoter.Quoter.AddModifyingCall(ApiCall apiCall, MethodCall methodCall) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1168
   at RoslynQuoter.Quoter.AddModifyingCalls(Object treeElement, ApiCall apiCall, List`1 values) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 1149
   at RoslynQuoter.Quoter.QuoteNode(SyntaxNode node, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 197
   at RoslynQuoter.Quoter.QuotePropertyValue(SyntaxNode node, PropertyInfo property) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 298
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at RoslynQuoter.Quoter.QuotePropertyValues(SyntaxNode node) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 252
   at RoslynQuoter.Quoter.QuoteNode(SyntaxNode node, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 197
   at RoslynQuoter.Quoter.Quote(Object treeElement, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 183
   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at RoslynQuoter.Quoter.QuoteList(IEnumerable syntaxList, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 316
   at RoslynQuoter.Quoter.QuotePropertyValue(SyntaxNode node, PropertyInfo property) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 298
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at RoslynQuoter.Quoter.QuotePropertyValues(SyntaxNode node) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 252
   at RoslynQuoter.Quoter.QuoteNode(SyntaxNode node, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 197
   at RoslynQuoter.Quoter.Quote(Object treeElement, String name) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 183
   at RoslynQuoter.Quoter.Quote(SyntaxNode node) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 151
   at RoslynQuoter.Quoter.QuoteText(String sourceText, NodeKind nodeKind) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter\Quoter.cs:line 83
   at QuoterService.Controllers.QuoterController.Post(QuoterRequestArgument arguments) in D:\a\RoslynQuoter\RoslynQuoter\src\Quoter.Web\Controllers\QuoterController.cs:line 66P.S. Sorry!
KirillOsenkov commented 1 year ago

Fixes, thanks.