private BoundVariableDeclaration BindVariableDeclarator(VariableDeclaratorSyntax syntax, TypeSymbol variableType, Func<VariableDeclaratorSyntax, TypeSymbol, VariableSymbol> createSymbol)
{
variableType = BindArrayRankSpecifiers(syntax.ArrayRankSpecifiers, variableType);
var symbol = createSymbol(syntax, variableType);
AddSymbol(symbol, syntax.Identifier.Span);
var boundQualifiers = new List<BoundVariableQualifier>();
foreach (var qualifier in syntax.Qualifiers)
boundQualifiers.Add(Bind(qualifier, BindVariableQualifier));
BoundInitializer initializer = null;
if (syntax.Initializer != null)
initializer = BindInitializer(syntax.Initializer);
return new BoundVariableDeclaration(symbol, variableType, boundQualifiers.ToImmutableArray(), initializer);
}