Skip to content

Commit 58fdcd8

Browse files
committed
C#: Regression test case demonstrating extractor error.
1 parent 4c3ecf0 commit 58fdcd8

File tree

1 file changed

+74
-0
lines changed
  • csharp/ql/test/library-tests/regressions

1 file changed

+74
-0
lines changed

csharp/ql/test/library-tests/regressions/Program.cs

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,78 @@ partial class C1<T> where T: DynamicType
147147
{
148148
}
149149

150+
namespace NoPia
151+
{
152+
class CommonEmbeddedTypesManager { }
153+
class CommonPEModuleBuilder { }
154+
class SyntaxNode { }
155+
class CommonCompilationState { }
156+
class CommonModuleCompilationState { }
157+
class AttributeData { }
158+
159+
namespace Cci
160+
{
161+
interface IGenericMethodParameterReference { }
162+
interface ICustomAttribute { }
163+
interface INamespaceTypeReference { }
164+
interface IFieldReference { }
165+
interface ITypeMemberReference { }
166+
interface IMethodReference { }
167+
interface IParameterListEntry { }
168+
interface INamedEntity { }
169+
}
170+
171+
internal abstract partial class EmbeddedTypesManager<
172+
TPEModuleBuilder,
173+
TModuleCompilationState,
174+
TEmbeddedTypesManager,
175+
TSyntaxNode,
176+
TAttributeData,
177+
TSymbol,
178+
TAssemblySymbol,
179+
TNamedTypeSymbol,
180+
TFieldSymbol,
181+
TMethodSymbol,
182+
TEventSymbol,
183+
TPropertySymbol,
184+
TParameterSymbol,
185+
TTypeParameterSymbol,
186+
TEmbeddedType,
187+
TEmbeddedField,
188+
TEmbeddedMethod,
189+
TEmbeddedEvent,
190+
TEmbeddedProperty,
191+
TEmbeddedParameter,
192+
TEmbeddedTypeParameter> : CommonEmbeddedTypesManager
193+
where TPEModuleBuilder : CommonPEModuleBuilder
194+
where TModuleCompilationState : CommonModuleCompilationState
195+
where TEmbeddedTypesManager : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>
196+
where TSyntaxNode : SyntaxNode
197+
where TAttributeData : AttributeData, Cci.ICustomAttribute
198+
where TAssemblySymbol : class, TSymbol
199+
where TNamedTypeSymbol : class, TSymbol, Cci.INamespaceTypeReference
200+
where TFieldSymbol : class, TSymbol, Cci.IFieldReference
201+
where TMethodSymbol : class, TSymbol, Cci.IMethodReference
202+
where TEventSymbol : class, TSymbol, Cci.ITypeMemberReference
203+
where TPropertySymbol : class, TSymbol, Cci.ITypeMemberReference
204+
where TParameterSymbol : class, TSymbol, Cci.IParameterListEntry, Cci.INamedEntity
205+
where TTypeParameterSymbol : class, TSymbol, Cci.IGenericMethodParameterReference
206+
where TEmbeddedType : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedType
207+
where TEmbeddedField : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedField
208+
where TEmbeddedMethod : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedMethod
209+
where TEmbeddedEvent : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedEvent
210+
where TEmbeddedProperty : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedProperty
211+
where TEmbeddedParameter : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedParameter
212+
where TEmbeddedTypeParameter : EmbeddedTypesManager<TPEModuleBuilder, TModuleCompilationState, TEmbeddedTypesManager, TSyntaxNode, TAttributeData, TSymbol, TAssemblySymbol, TNamedTypeSymbol, TFieldSymbol, TMethodSymbol, TEventSymbol, TPropertySymbol, TParameterSymbol, TTypeParameterSymbol, TEmbeddedType, TEmbeddedField, TEmbeddedMethod, TEmbeddedEvent, TEmbeddedProperty, TEmbeddedParameter, TEmbeddedTypeParameter>.CommonEmbeddedTypeParameter
213+
{
214+
public class CommonEmbeddedType { }
215+
public class CommonEmbeddedField { }
216+
public class CommonEmbeddedMethod { }
217+
public class CommonEmbeddedEvent { }
218+
public class CommonEmbeddedProperty { }
219+
public class CommonEmbeddedParameter { }
220+
public class CommonEmbeddedTypeParameter { }
221+
}
222+
}
223+
150224
// semmle-extractor-options: /r:System.Dynamic.Runtime.dll

0 commit comments

Comments
 (0)