mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
Merge pull request #1055 from calumgrant/cs/lazy-type-mention
C#: Fix an InvalidOperationException in csharp.log
This commit is contained in:
@@ -53,7 +53,7 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
case SyntaxKind.GenericName:
|
||||
var gns = (GenericNameSyntax)Syntax;
|
||||
Emit(Loc ?? gns.Identifier.GetLocation(), Parent, Type);
|
||||
gns.TypeArgumentList.Arguments.Zip(Type.TypeMentions, (s, t) => Create(cx, s, this, t)).Enumerate();
|
||||
cx.PopulateLater(() => gns.TypeArgumentList.Arguments.Zip(Type.TypeMentions, (s, t) => Create(cx, s, this, t)).Enumerate());
|
||||
return;
|
||||
case SyntaxKind.QualifiedName:
|
||||
if (Type.ContainingType == null)
|
||||
|
||||
@@ -147,4 +147,16 @@ partial class C1<T> where T: DynamicType
|
||||
{
|
||||
}
|
||||
|
||||
namespace NoPia
|
||||
{
|
||||
class EmbeddedTypesManager<
|
||||
TEmbeddedTypesManager,
|
||||
TEmbeddedType
|
||||
>
|
||||
where TEmbeddedTypesManager : EmbeddedTypesManager<TEmbeddedTypesManager, TEmbeddedType>
|
||||
where TEmbeddedType : EmbeddedTypesManager<TEmbeddedTypesManager, TEmbeddedType>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// semmle-extractor-options: /r:System.Dynamic.Runtime.dll
|
||||
|
||||
@@ -68,3 +68,11 @@
|
||||
| Program.cs:142:30:142:40 | DynamicType |
|
||||
| Program.cs:146:27:146:27 | T |
|
||||
| Program.cs:146:30:146:40 | DynamicType |
|
||||
| Program.cs:156:15:156:35 | TEmbeddedTypesManager |
|
||||
| Program.cs:156:39:156:58 | EmbeddedTypesManager<,> |
|
||||
| Program.cs:156:60:156:80 | TEmbeddedTypesManager |
|
||||
| Program.cs:156:83:156:95 | TEmbeddedType |
|
||||
| Program.cs:157:15:157:27 | TEmbeddedType |
|
||||
| Program.cs:157:31:157:50 | EmbeddedTypesManager<,> |
|
||||
| Program.cs:157:52:157:72 | TEmbeddedTypesManager |
|
||||
| Program.cs:157:75:157:87 | TEmbeddedType |
|
||||
|
||||
Reference in New Issue
Block a user