src/Bicep.Core/Semantics/Namespaces/SystemNamespaceType.cs (13 lines): - line 375: // TODO: Docs deviation - line 645: // TODO even with non-literal types, some type arithmetic could be performed - line 653: // TODO even with non-literal types, some type arithmetic could be performed - line 661: // TODO even with non-literal types, some type arithmetic could be performed - line 669: // TODO even with non-literal types, some type arithmetic could be performed - line 856: // TODO: Needs to support number type as well - line 857: // TODO: Docs need updates - line 865: // TODO: Docs need updates - line 879: // TODO: Needs to support number type as well - line 880: // TODO: Docs need updates - line 888: // TODO: Docs need updates - line 980: // TODO: Docs have wrong param type and param name (any is actually supported) - line 1648: // TODO: Add copyIndex here when we support loops. src/Bicep.Core/TypeSystem/TypeValidator.cs (8 lines): - line 185: // TODO: Replace with some sort of set intersection - line 721: // TODO could further optimize accuracy here if the spread returns a tuple type - line 783: // TODO: Implement for non-variable variable access (resource, module, param) - line 1030: //TODO: make a deep merge of the discriminator types to return combined object for type checking. Additionally, we need to cover hints. - line 1065: // TODO: Short-circuit on any object to avoid unnecessary processing? - line 1066: // TODO: Consider doing the schema check even if there are parse errors - line 1191: // TODO should this be narrowed against expressionObjectType.AdditionalPropertiesType ? - line 1273: // TODO should we try and narrow the additional properties type? May be difficult src/Bicep.LangServer.IntegrationTests/ExpressionAndTypeExtractorTests.cs (7 lines): - line 1367: //// TODO: what's expected behavior? - line 1397: // TODO: BUG: should be picking up just "2" - line 1405: // TODO: BUG: should be picking up just 2 - line 1422: // TODO: bug - line 1484: // TODO: bug - line 1731: // TODO: bug - line 2648: // TODO: dependsOn shouldn't be required and others... The specified "object" declaration is missing the following required properties: "asserts", "dependsOn", "eTag", "extendedLocation", "identity", "kind", "managedBy", "managedByExtended", "plan", "scale", "sku", "zones" src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs (6 lines): - line 850: // TODO the discriminator can be inferred without the decorator, but we need to figure out what error to show - line 1417: // TODO: Currently array access is broken with discriminated object types - revisit when that is fixed - line 2061: // TODO: in the future, we can relax this check to allow interpolation with compile-time constants. - line 2088: // TODO: in the future, we can relax this check to allow interpolation with compile-time constants. - line 2107: // TODO: Ideally we'd still be able to return a type here, but we'd need access to the compilation to get it. - line 2196: // TODO: Ideally we'd still be able to return a type here, but we'd need access to the compilation to get it. src/Bicep.Core/Intermediate/ExpressionBuilder.cs (6 lines): - line 124: // TODO: should we lower an arrayAccess with constant property name to a propertyAccess? - line 1257: // TODO: Run data flow analysis on the array expression as well. (Will be needed for nested resource loops) - line 1542: // TODO: Nested loops will require DFA on the ForSyntax.Expression - line 1546: // TODO: Run data flow analysis on the array expression as well. (Will be needed for nested resource loops) - line 1617: // TODO: It's very suspicious that this doesn't reference scopeData.IndexExpression - line 1622: // TODO: It's very suspicious that this doesn't reference scopeData.IndexExpression src/Bicep.Core/Semantics/Namespaces/AzNamespaceType.cs (5 lines): - line 392: // TODO: This is based on docs. Verify - line 528: // TODO: return type is string[] - line 529: // TODO: Location param should be of location type if we ever add it - line 540: // TODO: Change 'Full' to literal type after verifying in the runtime source - line 550: // TODO: Doc parameters need an update src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs (4 lines): - line 301: // TODO move into Az extension - line 1431: // TODO: Add structural naming? - line 1809: // TODO: resolve the discriminator - line 1918: // TODO: We might be able use the declared type here to resolve discriminator to improve the assigned type src/Bicep.Core/Parsing/Parser.cs (4 lines): - line 111: // TODO: Need a better way to choose the terminating token - line 167: // TODO: Unify StringSyntax with TypeSyntax - line 202: // TODO: Unify StringSyntax with TypeSyntax - line 234: // TODO: Unify StringSyntax with TypeSyntax src/Bicep.Core/TypeSystem/Providers/Az/AzResourceTypeProvider.cs (4 lines): - line 253: // TODO: Implement merging properties in case of a name/TypeReference clash should make a union type out of TypeReference - line 295: // TODO: remove 'dependsOn' from the type library - line 310: // TODO: move this to the type library. - line 321: // TODO: move this to the type library. src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs (3 lines): - line 1008: // TODO: This error is context sensitive: - line 1372: // TODO: Add "Did you mean 'typeof({symbolName})'?" When support for typeof has been added. - line 1590: // TODO make this unconditional when we release typed variables src/Bicep.Core/TypeSystem/Providers/MicrosoftGraph/MicrosoftGraphResourceTypeProvider.cs (3 lines): - line 95: // TODO: remove 'dependsOn' from the type library - line 102: // TODO apply this to all unique properties - line 109: // TODO apply this to all unique properties src/Bicep.RegistryModuleTool/ModuleFiles/MainBicepFile.cs (3 lines): - line 33: private static readonly string DefaultModuleNameMetadata = $"metadata {ModuleNameMetadataName} = 'TODO: '"; - line 35: private static readonly string DefaultModuleDescriptionMetadata = $"metadata {ModuleDescriptionMetadataName} = 'TODO: '"; - line 37: private static readonly string DefaultModuleOwnerMetadata = $"metadata {ModuleOwnerMetadataName} = 'TODO: '"; src/Bicep.Decompiler.IntegrationTests/ParamsDecompilationTests.cs (3 lines): - line 57: using '' /*TODO: Provide a path to a bicep template*/ - line 171: using '' /*TODO: Provide a path to a bicep template*/ - line 224: using '' /*TODO: Provide a path to a bicep template*/ src/Bicep.LangServer/BicepCompilationManager.cs (3 lines): - line 98: // TODO: This may cause race condition if the user is modifying the file at the same time - line 396: // TODO: Tell user how to create an issue on GitHub. - line 410: // TODO: Tell user how to create an issue on GitHub. src/Bicep.Core/Emit/EmitLimitationCalculator.cs (2 lines): - line 68: // TODO generalize or move into Az extension - line 254: // TODO move into Az extension src/Bicep.Core/Emit/ScopeHelper.cs (2 lines): - line 430: // TODO: format the ancestor name using the resource accessor (::) for nested resources - line 443: // TODO: format the ancestor name using the resource accessor (::) for nested resources src/Bicep.Core/TypeSystem/Providers/K8s/K8sResourceTypeProvider.cs (2 lines): - line 83: // TODO: remove 'dependsOn' from the type library - line 90: // TODO apply this to all unique properties src/Bicep.Core/Semantics/NameBindingVisitor.cs (2 lines): - line 171: // TODO: Update when conditions can be composed together with loops - line 374: // FIXME: How can we make sure only wildcard import instance functions are included in the local scope? src/vscode-bicep-ui/apps/deploy-pane/src/components/hooks/useMessageHandler.ts (2 lines): - line 29: // TODO see if there's a way to use react hooks instead of this hackery - line 135: // TODO: This is an anti-pattern. We should refactor this. src/Bicep.Decompiler/TemplateConverter.cs (2 lines): - line 975: var fixupToken = SyntaxHelpers.CreatePlaceholderToken(TokenType.Identifier, "TODO: fill in correct type"); - line 1056: => SyntaxFactory.CreateStringLiteralWithComment("?", $"TODO: replace with correct path to {templateLinkExpression}"); src/Bicep.RegistryModuleTool/ModuleFiles/ReadmeFile.cs (2 lines): - line 49: var moduleName = mainBicepFile.TryGetMetadata(MainBicepFile.ModuleNameMetadataName).Value ?? "TODO: MISSING or INVALID name metadata in main.bicep"; - line 50: var moduleDescription = mainBicepFile.TryGetMetadata(MainBicepFile.ModuleDescriptionMetadataName).Value ?? "TODO: MISSING or INVALID description metadata in main.bicep"; src/Bicep.Core/Emit/PlaceholderParametersBicepParamWriter.cs (2 lines): - line 71: _ => SyntaxFactory.CreateInvalidSyntaxWithComment($"TODO: fix the value assigned to this parameter `{type}`") - line 151: return SyntaxFactory.CreateInvalidSyntaxWithComment($" TODO : please fix the value assigned to this parameter `{functionName}()` "); src/Bicep.Cli.IntegrationTests/DecompileParamsCommandTests.cs (2 lines): - line 54: using '' /*TODO: Provide a path to a bicep template*/ - line 139: using '' /*TODO: Provide a path to a bicep template*/ src/Bicep.Decompiler/BicepDecompiler.cs (2 lines): - line 88: : SyntaxFactory.CreateStringLiteralWithComment("", "TODO: Provide a path to a bicep template"))); - line 202: // TODO: Add bicepUri to BicepDecompileForPasteCommandParams to get actual formatting options. src/Bicep.Core/Registry/OciArtifactRegistry.cs (2 lines): - line 375: // TODO: IsArtifactRestoreRequired assumes there must be a ModuleMain file, which isn't true for extension artifacts - line 446: // TODO: Need to deal with IDNs (internationalized domain names) src/Bicep.Core/Emit/TemplateWriter.cs (2 lines): - line 24: // TODO: Are there discrepancies between parameter, variable, and output names between bicep and ARM? - line 1042: // TODO: Remove the EmitExtensions if conditions once ARM w37 is deployed to all regions. src/Bicep.Core/Syntax/Comparers/SyntaxIgnoringTriviaComparer.cs (1 line): - line 24: // TODO this can be made more efficient by iterating lazily src/Bicep.IO/Abstraction/IOUri.cs (1 line): - line 127: // TODO: Remove after file abstraction migration is complete. src/Bicep.Core/Semantics/Namespaces/NamespaceProvider.cs (1 line): - line 41: // TODO proper diag here src/Bicep.Core/Semantics/SemanticModel.cs (1 line): - line 309: // TODO: This could be eliminated if we change the params type checking code to operate more on symbols src/Bicep.Core/Syntax/ParameterDeclarationSyntax.cs (1 line): - line 58: // TODO: remove SyntaxHelper.TryGetAllowedSyntax when we drop parameter modifiers support. src/Bicep.Core/Analyzers/Linter/Rules/WhatIfShortCircuitingRule.cs (1 line): - line 92: // TODO: Raise diagnostic when the template evaluation fails if the diagnostic will provide extra context to the failure src/Bicep.Cli/Arguments/PublishArguments.cs (1 line): - line 36: // TODO: Uncomment this once Azure CLI is updated to support the new parameter. src/Bicep.Cli.IntegrationTests/PublishCommandTests.cs (1 line): - line 133: // TODO: Enable this once Azure CLI is updated to support the new parameters. src/Bicep.Cli/Commands/PublishExtensionCommand.cs (1 line): - line 114: // TODO: We should probably clean up the dispatcher contract so this sort of thing isn't necessary (unless we change how target module is set in this command) src/vscode-bicep/src/commands/pasteAsBicep.ts (1 line): - line 181: // TODO: refactor src/Bicep.Core/TypeSystem/Providers/ResourceTypeProviderFactory.cs (1 line): - line 31: // TODO invalidate this cache on module force restore src/Bicep.Core/Emit/EmitConstants.cs (1 line): - line 18: // TODO: Remove this function and set NestedDeploymentResourceApiVersion to 2025-03-01 once the API version rolls out everywhere. src/Bicep.Core/Syntax/SyntaxFacts.cs (1 line): - line 101: // after a type identifier; 2) a placeholder with a trailing TODO comment in decompiled code. src/Bicep.LangServer/Handlers/BicepDecompileForPasteCommandHandler.cs (1 line): - line 366: // TODO: but we don't call back for telemetry if we use the result src/Bicep.Decompiler/UniqueNamingResolver.cs (1 line): - line 114: // TODO technically a naming clash is still possible here but unlikely src/Bicep.LangServer/Handlers/BicepReferencesHandler.cs (1 line): - line 26: // TODO: Implement for PropertySymbol src/Bicep.Local.Deploy/LocalAzureDeployment.cs (1 line): - line 63: // TODO avoid hardcoding this... src/Bicep.Core/TypeSystem/ResourceDerivedTypeResolver.cs (1 line): - line 62: // TODO support types derived from resources other than the `az` extension. This will require some refactoring of how extension artifacts are restored src/Bicep.LangServer/Handlers/BicepRenameHandler.cs (1 line): - line 31: // TODO: Implement for PropertySymbol src/Bicep.Core/Semantics/FileSymbol.cs (1 line): - line 326: // TODO: validation for alias x name. src/Bicep.Core/TypeSystem/TypeHelper.cs (1 line): - line 186: // TODO improve later here if necessary - we should be able to block stuff that is obviously wrong src/Bicep.RegistryModuleTool/Commands/BaseCommandHandler.cs (1 line): - line 29: // TODO: Remove this check from brm and implement it in CI. src/vscode-bicep/src/utils/AzExtOutputChannel.ts (1 line): - line 10: // TODO: revisit this when https://github.com/Azure/azure-sdk-for-net/issues/27263 is resolved. src/Bicep.Core/Semantics/ParameterAssignmentSymbol.cs (1 line): - line 12: // TODO: Shouldn't we store the value syntax in the symbol? src/Bicep.LangServer/Completions/BicepCompletionContextKind.cs (1 line): - line 6: // TODO: investigating using https://learn.microsoft.com/en-us/dotnet/api/system.collections.bitarray?redirectedfrom=MSDN&view=net-6.0. src/Bicep.Local.Deploy/Extensibility/LocalExtensibilityHostManager.cs (1 line): - line 235: // TODO: handle errors shutting down processes gracefully src/Bicep.Core/TypeSystem/ArmTemplateTypeLoader.cs (1 line): - line 189: // TODO it's possible to encounter an array with a defined prefix and either a schema or a boolean for "items." src/Bicep.Core/Syntax/ProgramSyntax.cs (1 line): - line 27: // TODO: Should we have a DeclarationSyntax abstract class? src/Bicep.Core/Parsing/BaseParser.cs (1 line): - line 1093: // TODO: Should probably be moved to type checking src/Bicep.Core/Extensions/UriExtensions.cs (1 line): - line 16: // TODO: remove after file abstraction migration is done. src/Bicep.Core/FileSystem/FileLock.cs (1 line): - line 37: // TODO: What are the other cases where IOException will be thrown? src/Bicep.Core/Emit/InlineDependencyVisitor.cs (1 line): - line 228: // TODO: Do we need to special case resource properties here? src/vscode-bicep/src/utils/logger.ts (1 line): - line 95: // TODO: src/Bicep.Core/Registry/ITemplateSpecRepository.cs (1 line): - line 8: // TODO: Add ListTemplateSpecsBySubscriptionAsync and ListTemplateSpecsByResourceGroupAsync to support completions. src/Bicep.Core/TypeSystem/FunctionResolver.cs (1 line): - line 26: // TODO: make cache building logic lazy src/Bicep.Core/Analyzers/Linter/Common/LinterExpressionHelper.cs (1 line): - line 19: // TODO: Refactor more rules to use this src/Bicep.Core/Parsing/Lexer.cs (1 line): - line 1045: // TODO: figure out a way to avoid returning this multiple times for nested interpolation src/Bicep.Core/Semantics/Binder.cs (1 line): - line 33: // TODO use lazy or some other pattern for init src/Bicep.Core/TypeSystem/Types/IUnresolvedResourceDerivedType.cs (1 line): - line 17: // TODO This type needs to capture an extension identifier (built-in name or OCI reference) in order to support extensions other than `az` src/Bicep.Core/ArtifactCache/OciArtifactCacheAccessor.cs (1 line): - line 36: // TODO: Need to deal with IDNs (internationalized domain names) src/Bicep.Cli.IntegrationTests/RestoreCommandTests.cs (1 line): - line 295: // TODO: doesn't work because extension error handling is still coupled with module error handling. src/Bicep.Core/TypeSystem/ResourceDerivedTypeDiagnosticReporter.cs (1 line): - line 65: // TODO support types derived from resources other than the `az` extension. This will require some refactoring of how extension artifacts are restored src/Bicep.Core/Registry/Oci/TagEncoder.cs (1 line): - line 23: // TODO: change to const in .net 6 src/Bicep.Core/Syntax/SyntaxHelper.cs (1 line): - line 55: // TODO: Revisit when adding support for multiple target scopes src/Bicep.LangServer/Handlers/BicepSemanticTokensHandler.cs (1 line): - line 13: // TODO: Not sure if this needs to be shared. src/vscode-bicep/src/feedback/surveys.ts (1 line): - line 223: // TODO: If the user never responds, the telemetry event isn't sent - can fix this with a different event src/Bicep.Core/Emit/ExpressionConverter.cs (1 line): - line 516: // TODO move this into az extension src/Bicep.Cli/Commands/PublishCommand.cs (1 line): - line 118: // TODO: We should probably clean up the dispatcher contract so this sort of thing isn't necessary (unless we change how target module is set in this command) src/Bicep.Core/SourceGraph/BicepSourceFileKind.cs (1 line): - line 6: // TODO: Move to a more common namespace src/Bicep.Core/Analyzers/Linter/Rules/NoUnusedVariablesRule.cs (1 line): - line 42: // TODO: This will not find local variables because they are not in the top-level scope.