mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
C#: Handle expressions of typeImplicitStackAllocArrayCreationExpressionSyntax
This commit is contained in:
@@ -93,6 +93,23 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
public static Expression Create(ExpressionNodeInfo info) => new StackAllocArrayCreation(info).TryPopulate();
|
||||
}
|
||||
|
||||
class ImplicitStackAllocArrayCreation : ArrayCreation<ImplicitStackAllocArrayCreationExpressionSyntax>
|
||||
{
|
||||
ImplicitStackAllocArrayCreation(ExpressionNodeInfo info) : base(info.SetKind(ExprKind.ARRAY_CREATION)) { }
|
||||
|
||||
public static Expression Create(ExpressionNodeInfo info) => new ImplicitStackAllocArrayCreation(info).TryPopulate();
|
||||
|
||||
protected override void PopulateExpression(TextWriter trapFile)
|
||||
{
|
||||
if (Syntax.Initializer != null)
|
||||
{
|
||||
ArrayInitializer.Create(new ExpressionNodeInfo(cx, Syntax.Initializer, this, -1));
|
||||
}
|
||||
|
||||
trapFile.implicitly_typed_array_creation(this);
|
||||
}
|
||||
}
|
||||
|
||||
class ImplicitArrayCreation : ArrayCreation<ImplicitArrayCreationExpressionSyntax>
|
||||
{
|
||||
ImplicitArrayCreation(ExpressionNodeInfo info) : base(info.SetKind(ExprKind.ARRAY_CREATION)) { }
|
||||
|
||||
@@ -207,6 +207,9 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
case SyntaxKind.StackAllocArrayCreationExpression:
|
||||
return StackAllocArrayCreation.Create(info);
|
||||
|
||||
case SyntaxKind.ImplicitStackAllocArrayCreationExpression:
|
||||
return ImplicitStackAllocArrayCreation.Create(info);
|
||||
|
||||
case SyntaxKind.ArgListExpression:
|
||||
return ArgList.Create(info);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user