-
Notifications
You must be signed in to change notification settings - Fork 798
Description
Bicep version
Bicep CLI version 0.37.4 (27cc8db)
Bicep CLI version 0.38.3 (2b1a61d)
Describe the bug
Exception when building bicep:
Unhandled exception. System.ArgumentException: Unable to determine parent of specified node of type 'PropertyAccessSyntax' at span '[1580:1597]' because it has not been indexed.
at Bicep.Core.Syntax.SyntaxHierarchy.GetParent(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxHierarchy.cs:line 31
at Bicep.Core.Syntax.SyntaxHierarchy.IsDescendant(SyntaxBase node, SyntaxBase potentialAncestor) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxHierarchy.cs:line 42
at Bicep.Core.Semantics.Binder.IsDescendant(SyntaxBase node, SyntaxBase potentialAncestor) in C:__w\1\s\bicep\src\Bicep.Core\Semantics\Binder.cs:line 130
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetAccessedType(AccessExpressionSyntax syntax, IDiagnosticWriter diagnostics) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 1945
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass95_0.b__0(IDiagnosticWriter diagnostics) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 1885
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass18_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 97
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass16_0.b__0(SyntaxBase key) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 86
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey, Func
2)
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignTypeWithCaching(SyntaxBase syntax, Func1 assignFunc) in C:\__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 85 at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignTypeWithDiagnostics(SyntaxBase syntax, Func
2 assignFunc) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 94
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.VisitPropertyAccessSyntax(PropertyAccessSyntax syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 1885
at Bicep.Core.Syntax.PropertyAccessSyntax.Accept(ISyntaxVisitor visitor) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\PropertyAccessSyntax.cs:line 32
at Bicep.Core.Syntax.SyntaxVisitor.VisitInternal(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 203
at Bicep.Core.Syntax.SyntaxVisitor.Visit(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 198
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetTypeAssignment(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 51
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetTypeInfo(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 62
at Bicep.Core.TypeSystem.TypeManager.GetTypeInfo(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeManager.cs:line 37
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass85_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 1490
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass17_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 91
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass16_0.b__0(SyntaxBase key) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 86
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey, Func
2)
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignTypeWithCaching(SyntaxBase syntax, Func1 assignFunc) in C:\__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 85 at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignType(SyntaxBase syntax, Func
1 assignFunc) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 91
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.VisitFunctionArgumentSyntax(FunctionArgumentSyntax syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 1490
at Bicep.Core.Syntax.FunctionArgumentSyntax.Accept(ISyntaxVisitor visitor) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\FunctionArgumentSyntax.cs:line 16
at Bicep.Core.Syntax.SyntaxVisitor.VisitInternal(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 203
at Bicep.Core.Syntax.SyntaxVisitor.Visit(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 198
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetTypeAssignment(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 51
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetTypeInfo(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 62
at Bicep.Core.TypeSystem.TypeManager.GetTypeInfo(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeManager.cs:line 37
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.b__119_0(FunctionArgumentSyntax syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 2596
at System.Linq.Enumerable.SelectIListIterator2.Fill(IList
1, Span1, Func
2)
at System.Linq.Enumerable.SelectIListIterator2.ToArray() at System.Linq.Enumerable.ToArray[TSource](IEnumerable
1)
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass105_0.b__0(IDiagnosticWriter diagnostics) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 2118
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass18_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 97
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.<>c__DisplayClass16_0.b__0(SyntaxBase key) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 86
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey, Func
2)
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignTypeWithCaching(SyntaxBase syntax, Func1 assignFunc) in C:\__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 85 at Bicep.Core.TypeSystem.TypeAssignmentVisitor.AssignTypeWithDiagnostics(SyntaxBase syntax, Func
2 assignFunc) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 94
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.VisitFunctionCallSyntax(FunctionCallSyntax syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 2114
at Bicep.Core.Syntax.FunctionCallSyntax.Accept(ISyntaxVisitor visitor) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\FunctionCallSyntax.cs:line 16
at Bicep.Core.Syntax.SyntaxVisitor.VisitInternal(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 203
at Bicep.Core.Syntax.SyntaxVisitor.Visit(SyntaxBase node) in C:__w\1\s\bicep\src\Bicep.Core\Syntax\SyntaxVisitor.cs:line 198
at Bicep.Core.TypeSystem.TypeAssignmentVisitor.GetMatchedFunctionResultValue(FunctionCallSyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeAssignmentVisitor.cs:line 80
at Bicep.Core.TypeSystem.TypeManager.GetMatchedFunctionResultValue(FunctionCallSyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\TypeSystem\TypeManager.cs:line 82
at Bicep.Core.Intermediate.ExpressionBuilder.ConvertFunction(FunctionCallSyntaxBase functionCall) in C:__w\1\s\bicep\src\Bicep.Core\Intermediate\ExpressionBuilder.cs:line 919
at Bicep.Core.Intermediate.ExpressionBuilder.ConvertWithoutLowering(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\Intermediate\ExpressionBuilder.cs:line 122
at Bicep.Core.Intermediate.ExpressionBuilder.Convert(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\Intermediate\ExpressionBuilder.cs:line 61
at Bicep.Core.Emit.ExpressionConverter.ConvertToIntermediateExpression(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionConverter.cs:line 40
at Bicep.Core.Emit.ExpressionConverter.ConvertExpression(SyntaxBase syntax) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionConverter.cs:line 44
at Bicep.Core.Emit.ExpressionConverter.<>c__DisplayClass16_1.b__1(ResourceAncestor x, Int32 i) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionConverter.cs:line 578
at System.Linq.Enumerable.SelectManyIterator[TSource,TResult](IEnumerable1, Func
3)+MoveNext()
at System.Linq.Enumerable.ConcatIterator1.MoveNext() at System.Linq.Enumerable.SelectIterator[TSource,TResult](IEnumerable
1, Func3)+MoveNext() at System.String.Join(String separator, IEnumerable
1 values)
at Bicep.Core.Emit.ExpressionConverter.GetFullyQualifiedResourceName(DeclaredResourceMetadata resource) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionConverter.cs:line 625
at Bicep.Core.Emit.ExpressionEmitter.GetFullyQualifiedResourceName(DeclaredResourceMetadata resource) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 148
at Bicep.Core.Emit.TemplateWriter.<>c__DisplayClass69_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 1275
at Bicep.Core.Emit.PositionTrackingJsonTextWriter.WriteObjectWithPosition(IPositionable sourcePosition, Action propertiesFunc) in C:__w\1\s\bicep\src\Bicep.Core\Emit\PositionTrackingJsonTextWriter.cs:line 92
at Bicep.Core.Emit.ExpressionEmitter.EmitObject(Action writePropertiesFunc, IPositionable position) in C:__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 456
at Bicep.Core.Emit.TemplateWriter.EmitResource(ExpressionEmitter emitter, ImmutableArray1 extensions, DeclaredResourceExpression resource) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 1214 at Bicep.Core.Emit.TemplateWriter.<>c__DisplayClass67_0.<EmitResources>b__0() in C:\__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 1166 at Bicep.Core.Emit.PositionTrackingJsonTextWriter.WriteArrayWithPosition(IPositionable sourcePosition, Action itemsFunc) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\PositionTrackingJsonTextWriter.cs:line 103 at Bicep.Core.Emit.ExpressionEmitter.EmitArray(Action writeItemsFunc, IPositionable position) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 459 at Bicep.Core.Emit.ExpressionEmitter.<>c__DisplayClass35_0.<EmitArrayProperty>b__0() in C:\__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 453 at Bicep.Core.Emit.PositionTrackingJsonTextWriter.WritePropertyWithPosition(IPositionable keyPosition, String name, Action valueFunc) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\PositionTrackingJsonTextWriter.cs:line 114 at Bicep.Core.Emit.ExpressionEmitter.EmitProperty(String propertyName, Action writeValueFunc, IPositionable position) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 444 at Bicep.Core.Emit.ExpressionEmitter.EmitArrayProperty(String propertyName, Action writeItemsFunc, IPositionable position) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\ExpressionEmitter.cs:line 453 at Bicep.Core.Emit.TemplateWriter.EmitResources(PositionTrackingJsonTextWriter jsonWriter, ExpressionEmitter emitter, ImmutableArray
1 extensions, ImmutableArray1 resources, ImmutableArray
1 modules) in C:__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 1157
at Bicep.Core.Emit.TemplateWriter.GenerateTemplateWithoutHash(PositionTrackingJsonTextWriter jsonWriter) in C:__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 145
at Bicep.Core.Emit.TemplateWriter.Write(SourceAwareJsonTextWriter writer) in C:__w\1\s\bicep\src\Bicep.Core\Emit\TemplateWriter.cs:line 85
at Bicep.Core.Emit.TemplateEmitter.<>c__DisplayClass8_0.b__0() in C:__w\1\s\bicep\src\Bicep.Core\Emit\TemplateEmitter.cs:line 116
at Bicep.Core.Emit.TemplateEmitter.EmitOrFail(Func1 write) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\TemplateEmitter.cs:line 137 at Bicep.Core.Emit.TemplateEmitter.Emit(TextWriter textWriter) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\TemplateEmitter.cs:line 102 at Bicep.Core.Emit.CompilationEmitter.Template(SemanticModel model) in C:\__w\1\s\bicep\src\Bicep.Core\Emit\CompilationEmitter.cs:line 106 at Bicep.Core.Emit.CompilationEmitter.Template() in C:\__w\1\s\bicep\src\Bicep.Core\Emit\CompilationEmitter.cs:line 98 at Bicep.Cli.Services.OutputWriter.TemplateToFileAsync(Compilation compilation, IOUri outputUri) in C:\__w\1\s\bicep\src\Bicep.Cli\Services\OutputWriter.cs:line 96 at Bicep.Cli.Commands.BuildCommand.Compile(IOUri inputUri, IOUri outputUri, Boolean noRestore, Nullable
1 diagnosticsFormat, Boolean outputToStdOut) in C:__w\1\s\bicep\src\Bicep.Cli\Commands\BuildCommand.cs:line 55
at Bicep.Cli.Commands.BuildCommand.RunAsync(BuildArguments args) in C:__w\1\s\bicep\src\Bicep.Cli\Commands\BuildCommand.cs:line 31
at Bicep.Cli.Program.RunAsync(String[] args, CancellationToken cancellationToken) in C:__w\1\s\bicep\src\Bicep.Cli\Program.cs:line 75
at Bicep.Cli.Program.<>c__DisplayClass3_0.<
--- End of stack trace from previous location ---
at Bicep.Cli.Program.RunWithCancellationAsync(Func`2 runFunc) in C:__w\1\s\bicep\src\Bicep.Cli\Program.cs:line 169
at Bicep.Cli.Program.Main(String[] args) in C:__w\1\s\bicep\src\Bicep.Cli\Program.cs:line 44
at Bicep.Cli.Program.(String[] args)
To Reproduce
run bicep build for the below bicep file:
metadata info = {
title: 'CosmosDB module'
version: '1.0.2'
author: '3fifty'
}
metadata description = '''
Module for the creation of a Cosmos DB in a Azure Subscription.
The CosmosDB also creates SQL based databases as specified in the databases parameter.
'''
@description('The name of the resource')
param name string
@allowed([
'tst'
'prd'
'dev'
'acc'
])
@description('The environment were the service is beign deployed to (tst, acc, prd, dev)')
param env string
@description('The location of the resource')
param location string = resourceGroup().location
@description('''
Databases to create can be specified with a specific format:
```bicep
[{
name: "test"
containername: "test"
partitionKeyPaths:
[
"/_partitionKey"
]
indexingPolicyPathInclude:
[
{
path: "/*"
}
]
indexingPolicyPathExclude:
[
{
path: "/\'_etag\'/?"
}
]
}]
```
''')
param databases array
var resourcename = 'cosno-${name}-${env}'
resource account 'Microsoft.DocumentDB/databaseAccounts@2025-04-15' = {
name: resourcename
location: location
kind: 'GlobalDocumentDB'
properties: {
minimalTlsVersion: 'Tls12'
locations: [
{
locationName: location
failoverPriority: 0
}
]
databaseAccountOfferType: 'Standard'
}
}
resource db 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2025-04-15' = [
for i in range(0, length(databases)): {
name: toLower(databases[i].name)
parent: account
properties: {
resource: {
id: databases[i].name
}
options: {
throughput: 400
}
}
}
]
resource containers 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2025-04-15' = [
for i in range(0, length(databases)): {
name: databases[i].containername
parent: db[i]
properties: {
resource: {
id: databases[i].containername
partitionKey: {
paths: databases[i].partitionKeyPaths
kind: 'Hash'
}
indexingPolicy: {
indexingMode: 'consistent'
includedPaths: databases[i].?indexingPolicyPathInclude ?? []
excludedPaths: databases[i].?indexingPolicyPathExclude ?? []
}
}
}
}
]
Metadata
Metadata
Assignees
Labels
Type
Projects
Status