Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeChecking/Checker.cs (79 lines): - line 286: private readonly ThreadLocal> m_resolutionTargets = - line 305: // TODO: compute default size based on a number of specs and/or nodes in all specs. - line 1144: // TODO: revisit. Adding this to avoid a crash - line 1388: // TODO: Verify equivalence - const propertyName = (propertyWithInvalidInitializer).Name; - line 1823: // TODO: when resolving recursively, we could populate the direct targets as well - line 1931: // TODO: Does this function need to change for DScript imports? - line 2210: // TODO: do we need to consider the case where a module just contains const enums? - line 2415: // TODO: Verify equivalence with typescript implementation - line 2455: // TODO: Verify equivalence - const { exportsWithDuplicate } = lookupTable[id]; - line 2612: // TODO: most likely this method should change actual type (i.e., CLR type) of type argument and should create ResolvedType instead! - line 2623: CallSignatures = new List(callSignatures ?? Enumerable.Empty()), // TODO: Verify correctness - line 2803: // TODO: Verify equivalence - return forEachValue(symbols, symbolFromSymbolTable => ...); - line 2943: // TODO: Verify equivalence - return hasAccessibleDeclarations; - line 3039: // TODO: Verify correctness! List contains will do pointer comparison! - line 3211: // TODO: How do we know that node.Parent.Parent derives from IDeclaration? - line 3254: // TODO: Verify equivalence and update comment (copied fall-through case explicitly) - line 3353: // TODO: Fix casts! - line 3356: // TODO: need to cast to < Identifier | QualifiedName > - line 3427: // TODO: Verify cast - line 3433: // TODO: Verify cast - line 3439: // TODO: Verify casts - line 3446: // TODO: Verify cast - line 3543: var pattern = declaration.Parent.Cast(); // TODO: Verify cast - line 3545: // TODO: This cast will not work! Need to update interfaces to derive from IVariableLikeDeclaration - line 3572: // TODO: Verify equivalence - const name = declaration.PropertyName || declaration.Name; - line 3584: // TODO: Verify equivalence: - line 3675: return GetTypeForBindingElement(declaration.Cast()); // TODO: Verify cast - line 3752: // TODO: Verify equivalence - const name = e.PropertyName || e.Name; - line 4043: // TODO: TS implementation re-defines getter here. Unnecessary? var getter = GetDeclarationOfKind(symbol, SyntaxKind.GetAccessor).Cast(); - line 4317: // TODO: this is slight change in behavior. - line 4360: // TODO: this should be changed to preconditions for interface members! - line 4466: var typeArguments = type.Cast().TypeArguments; // TODO: Verify cast! (it will only work for IGenericType) - line 4544: // TODO: this is circuit breaker to avoid stack overflow for one of the cases! - line 4779: // TODO: Verify order of logical operations matches intent - line 4820: return IsIndependentVariableLikeDeclaration(declaration.Cast()); // TODO: Verify cast! - line 5306: // TODO: tracking work item - #961302 - line 5838: // TODO: Simplify - line 6061: // TODO: consider adding a special collection with one element. - line 6265: type.OuterTypeParameters.Concatenate(typeArguments.Select(t => GetTypeFromTypeNode(t)).ToList())); // TODO: Verify correctness - line 6760: // TODO: Verify equivalence!! - line 7291: // TODO: rewrite in C# way - line 7370: // TODO: De-duplicate code between related functions. - line 8573: // TODO: De-duplicate code between related functions. - line 8978: // TODO: De-duplicate code between related functions. - line 9437: // TODO: This is odd. Could just do new List(typeParameters.Count)... - line 9784: return inferences.Primary ?? (inferences.Secondary ?? /*TODO:emptyArray*/new List()); - line 9965: // TODO: Verify correctness! (there seems to be no guarantee that node.Parent.Parent will be type IVariableLikeDeclaration) - line 10502: // TODO: Verify correctness! - line 10537: (IThisTypePredicate)memberType.Cast().Predicate, // TODO: Verify! - How do we know Predicate is of type ThisTypePredicate? - line 10865: GetDeclaredTypeOfSymbol(symbol).Cast().ThisType; // TODO: Verify correctness - how can we safely cast to IInterfaceType? - line 10904: // TODO: Irrelevant for our purposes (so far) - line 11869: Number.IsNumericLiteralName(name.Cast().Text); // TODO: Verify correctness! How can we guarantee name is IIdentifier here? - line 12130: // TODO: Irrelevant for our purposes (so far). - line 12237: //// why/* TODO:is the first part of this check here? - line 12765: // TODO: why can arg be null?? - line 12829: // else TODO: Verify correctness - GetEffectiveArgumentCount can *technically* return undefined. - line 13696: // TODO: Verify correctness! - should this be List or List - line 13709: // TODO: consider moving to excludeArgument = Enumerable.Repeat(new bool?(), args.Count).ToList(); - line 14384: // TODO: This is ugly - simply using if-else - line 14791: if (contextualMapper == s_identityMapper && // TODO: Verify correctness - line 15730: // TODO: Debug.Assert? - line 16098: // TODO: Verify correctness! Original TS code has unsafe cast in cast that node is MethodDeclaration - line 16440: // TODO: Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - line 16512: // TODO: use string.Equals for string comparison in if-clause - line 16635: // TODO: Verify cast! - can we guarantee that decl is an ISignatureDeclaration? - line 17019: : type.Cast().Target.LocalTypeParameters; // TODO: Verify cast - line 17268: // TODO: These are methods, so handle computed name case - line 17512: // TODO:ST: consider changing the following logic based on explicit domain concepts (like by adding explicit visibility enum and use it) - line 19010: // TODO: Verify correctness. The code below is a faithful conversion of the TS (I think!), however - line 19075: // TODO: Verify correctness. Same comment as the one above in GetElementTypeOfIterable - line 19243: // TODO: Check that target label is valid - line 19277: // TODO: Check return expressions of generators when return type tracking is added - line 20274: // TODO: Validate casting hyjinx below resolve to the same thing as '>>>' - line 20649: // TODO: input was IDeclaration, but IImportDeclaration is not an IDeclaration - line 21368: // TODO: cancellation is not supoprted properly by managed checker. - line 22523: // TODO: if we ever want to support Promise in DScript, we need to fix this. - line 22667: // TODO: original implementation returns nothing. - line 22894: // TODO: this was just 'return'. It means that this function potentially could have 3 different return values! - line 23954: // TODO: The spec needs to be amended to reflect this grammar. Public/Src/Sandbox/Windows/DetoursServices/DetouredFunctions.cpp (35 lines): - line 459: // TODO: Deciding not to traverse symlink chain based on reparse point deletion is probably not correct - line 2942: // TODO: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364993(v=vs.85).aspx says to call GetVolumeInformation to get maximum component length. - line 3163: // TODO: Would be cleaner to just use the normal Report flags (per file / scope) and a global 'look at USNs' flag. - line 3670: sourceReadContext.OpenedDirectory = false; // TODO: Perhaps CopyFile fails with a nice error code in this case. - line 4045: // TODO:implement detours logic - line 4334: sourceReadContext.OpenedDirectory = false; // TODO: Perhaps CreateHardLink fails with a nice error code in this case. - line 4503: // TODO:replace with Detoured_FindFirstFileW below - line 4508: // TODO: Note that we can't simply forward to FindFirstFileW here after a unicode conversion. - line 4533: // TODO: We currently cannot report or model invalidation of enumeration 'anti-dependencies', but can report what files are actually found. - line 4537: // TODO: This really shouldn't have failure cases. Maybe just failfast on allocation failure, etc. - line 4573: // TODO: Perhaps should have a specific access check for enumeration. - line 4577: // TODO: Should include the wildcard in enumeration reports, so that directory enumeration assertions can be more precise. - line 4594: // TODO: This is okay, but we need to complement this behavior with reporting the enumeration on the directory. - line 4627: // TODO: Respect ShouldDenyAccess for directoryAccessCheck. - line 4751: // TODO: Note that we can't simply forward to FindFirstFileW here after a unicode conversion. - line 4780: // TODO: This is likely ERROR_NO_MORE_FILES; is there anything more to check or report when enumeration ends? - line 4835: // TODO:replace with the same logic as Detoured_FindNextFileW - line 5251: // TODO:implement detours logic - line 5291: // TODO:implement detours logic - line 5305: // TODO:implement detours logic - line 5508: // TODO:implement detours logic - line 5632: // TODO:implement detours logic - line 5660: // TODO:implement detours logic - line 5683: // TODO:implement detours logic - line 5726: // TODO:implement detours logic - line 5950: // TODO: Perhaps should have a specific access check for enumeration. - line 5954: // TODO: Should include the wildcard in enumeration reports, so that directory enumeration assertions can be more precise. - line 6080: // TODO: Perhaps should have a specific access check for enumeration. - line 6084: // TODO: Should include the wildcard in enumeration reports, so that directory enumeration assertions can be more precise. - line 6213: // TODO: CanonicalizedPath may deserve an NT-specific Canonicalize equivalent (e.g. PathType::Win32Nt also matches \\?\, but that doesn't make sense here). - line 6355: // TODO: As part of gradually turning on NtCreateFile detour reports, we currently only enforce deletes (some cmd builtins delete this way), - line 6644: // TODO: Directory operation through NtCreateFile needs to be reviewed based on olkonone's work. - line 6660: // TODO: As part of gradually turning on NtCreateFile detour reports, we currently only enforce deletes (some cmd builtins delete this way), - line 6884: // TODO: Why do we not simply call ZwCreateFile, just like NtOpenFile? - line 6947: // TODO: As part of gradually turning on NtCreateFile detour reports, we currently only enforce deletes (some cmd builtins delete this way), Public/Src/Cache/ContentStore/Hashing/Chunking/RegressionChunking.cs (27 lines): - line 358: TODO:365262 - simplify the code by allocating a larger buffer and copying the data to ensure a continuous operating buffer - line 396: // TODO:365262 - move this in a C++ utility routine - line 425: // TODO:365262 - use here DDP_CCT_MinReached always (technically this is a MinReached) plus mix DDP_CCT_MinReached and DDP_CCT_All_Zero as flags - line 426: // TODO:365262 - use AddChunk - line 437: // TODO:365262 - move the state reset in a utility - line 438: // TODO:365262 - reset other members such as m_numZeroRun, m_regressChunk, etc - line 445: // TODO:365262 - assert that we reached the end of the buffer - line 446: // TODO:365262 - cleanup alg (visible exit here for code clarity) - line 552: // TODO:365262 - move this to a utility routine (note: also used in the constructor) - line 593: // TODO:365262 consider use utility routine - line 649: // TODO:365262 - use AddChunk - line 669: // TODO:365262 - exit here from the routine - line 694: // TODO:365262 potential perf improvement - line 700: // TODO:365262 - add index check for g_arrPolynomialsXX (static assert) - line 718: // TODO:365262 potential perf improvement - line 748: // TODO:365262 use a utility routine - line 753: // TODO:365262 array index check - line 754: // TODO:365262 Refactor to eliminate the confusing "offset by 1" difference between the two arrays - line 765: // TODO:365262 - use AddChunk - line 853: // TODO:365262 - add better type inference that works with a variable-length regression array - line 882: // TODO:365262 - clean up the algorithm - line 905: // TODO:365262 - use AddChunk - line 917: // TODO:365262 cleanup algorithm - line 957: // TODO:365262 - cleanup algorithm - line 972: // TODO:365262 - use AddChunk - line 973: // TODO:MSR - we should declare the "end" consistently (right now we use both MinReached and EndReached) - line 985: // TODO:365262 - add a more visible exit Public/Src/IDE/LanguageServer/Providers/Completion/AutoCompleteProvider.cs (25 lines): - line 41: // TODO: support cancellation - line 266: // TODO: This condition was in the code previous to the - line 267: // TODO: data drive refactoring. We need to figure out - line 268: // TODO: if this case is even legitimate. - line 274: // TODO: We need to introduce the ability to map the starting - line 275: // TODO: point from the beginning of completion. - line 276: // TODO: Identifiers (SyntaxKind.Identifier) are really just - line 277: // TODO: considered "words" from the type-checker perspective. - line 278: // TODO: So when you ask the type-checker for "contextual type" - line 279: // TODO: information, it cannot do so because that "word" has not - line 280: // TODO: "context". However, the preceeding "node" or token typically - line 281: // TODO: does. You cannot simply back up one node (go to its parent if you will) - line 282: // TODO: because it still does not contain enough context. - line 283: // TODO: - line 284: // TODO: For example: - line 285: // TODO: interface MyType { property: boolean } - line 286: // TODO: const a : MyType = { } - line 287: // TODO: When you type the character 'p', the identifier is 'p', the parent - line 288: // TODO: is a short hand property assignment. Neither node has enough - line 289: // TODO: context for the type checker to perform its work since it simply - line 290: // TODO: doesn't know what 'p' is meant to be. - line 291: // TODO: However, the object literal expression does as it is a node - line 292: // TODO: belonging to a strongly typed variable declaration. - line 504: // TODO: support cancellation - line 542: // TODO: Log telemetry when this occurs Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Binding/Binder.cs (24 lines): - line 31: // TODO:SQ: Be explicit about string comparer - line 42: // TODO:SQ: Consider switching to proper stack type - line 51: // TODO:SQ: Consider switching to proper stack type - line 159: // TODO:SQ: if externalModuleIndicator == null, shouldn't inStrictMode be false?! - line 171: // TODO:SQ: Consider moving these to a ResetState method - line 420: // TODO: Make this a more specific error and decouple it from the exclusion logic. - line 539: // TODO:SQ: HasImplicitReturn flag affects string output (see DScriptNodeUtilities.ToDisplayString())! - line 574: /// TODO:SQ: This comment is a lie. Fixup/investigate - line 580: // TODO:SQ: Need to call bind(n) on each child in the node, but there is no - line 640: // TODO:SQ: Need to call bind(n) on each child in the node, but there is no - line 1150: // TODO:SQ - return Unit type - line 1366: // TODO:SQ: Type should be IParameterDeclaration, not IDeclaration - line 1369: // TODO:SQ: This will not work! IParameterDeclaration.Equals is not implemented - line 1436: // TODO: this is not a typescript way! Maybe we can extract common interface for ISourceFile and IModuleBlock (that will hold Statements)! - line 1437: // TODO:SQ: Use node.Kind? - line 1450: // TODO:SQ: Use name.Kind? - line 1509: // TODO:SQ: Return Unit type. i.e., some no-op type that represents void. - line 1676: // TODO:SQ: Find a better way to represent this! - line 1773: // TODO:SQ - Figure out type union for input param, if necessary - line 1824: // TODO:SQ: IImportClause.Name should be Optional<> value? - line 1874: // TODO:SQ: Check casts - we are casting up (IIdentifier)! - line 1951: // TODO:saqadri - return Unit type - line 2030: // TODO:SQ: Return Unit type - line 2225: // TODO:SQ: This can be replaced with field initializers on the class Public/Src/Engine/Scheduler/PipExecutor.cs (17 lines): - line 253: // TODO: Should we maintain the case of the source file? - line 274: // TODO: Should we maintain the case of the source file? - line 510: // TODO: It'd be nice if PipData could instead write encoded bytes to a stream, in which case we could - line 1182: // TODO: Try to materialize dependencies. This is not needed in the normal case because - line 1225: // TODO: This should be removed, or should become a WeakContentFingerprint - line 1492: // TODO: Maybe all counter updates should occur on distributed build orchestrator. - line 2912: // TODO: For now we estimate the size of remotely downloaded content as the sum of output sizes - line 3417: // TODO: Deploying here is redundant if the console stream was also a declared output. - line 3585: // TODO: We store a (path, hash, encoding) tuple for stdout/stderr on the metadata. This is because - line 3609: // TODO: The code path that returns null looks dubious. Could they ever be reached? Should we write a contract here instead of silently concluding weak fingerprint miss? - line 3843: // TODO: Should be able to log provenance of the sealed directory here (we don't even know which directory artifact corresponds). - line 3853: // related issue (see/* TODO:above about logging provenance of a containing seal). - line 4454: // TODO: Currently the logic skips empty subdirectories. The logic needs to preserve the structure of opaque directories. - line 4455: // TODO: THe above issue is tracked by task 872930. - line 4617: // TODO: Would be cleaner to always model console streams as outputs, but 'maybe present' (a generally useful status for outputs). - line 4790: // TODO: Shouldn't be doing a tracking probe here; instead should just make the store operation allow absence. - line 4791: // TODO: File.Exists returns false for directories; this is unintentional and we should move away from that (but that may break some existing users) Public/Src/Engine/Processes/SandboxedProcessPipExecutor.cs (16 lines): - line 361: // TODO: Remove this when we ascertain that our customers are not - line 1059: // TODO: Implement stricter filters so that we only retry failures that are worth retrying. - line 2472: // TODO: considering configuring this policy for all shared opaques, and not only when AllowedUndeclaredSourceReads is set. The case of a write on an undeclared - line 2519: // TODO: Consider an UntrackedScope or UntrackedPath above that has exactly the same path. - line 2769: // TODO:22476: We allow inputs to not exist. Is that the right thing to do? - line 2923: // TODO:Bug 75124 - should validate these paths - line 3240: var deletionResults = sharedOpaqueOutputsToDelete // TODO: possibly parallelize file deletion - line 3243: .Select(path => FileUtilities.TryDeleteFile(path)) // TODO: what about deleting directories? - line 3511: // TODO: deprecate this. - line 3817: // TODO: Allocations ahoy! - line 3950: // TODO: this flag is not properly propagated for all detours operations. - line 3961: // TODO: Remove this when WDG can grog this feature with no flag. - line 4275: // TODO: consider adding a cache from manifest paths to containing shared opaques. It is likely - line 4658: // (lubol): TODO: Add handling of the translate paths strings. Add code here to address VSO Task# 989041. - line 5292: // TODO: This dumps a very low-level table; consider producing a nicer representation - line 5352: // TODO: Include encoding in the pip data. Task 869176 Public/Src/IDE/LanguageServer/Providers/FindReferences/FindReferencesProvider.cs (16 lines): - line 37: // TODO: see services.ts in DScript.typeScript repo, and look at nameTable field extension on SourceFile interface - line 129: // TODO: This should be enabled in a later release - currently breaks rename. - line 387: // TODO: saqadri - port if necessary - line 408: // TODO: saqadri - Port - line 455: // TODO: Cache symbol existence for files to save text search - line 471: // TODO: saqadri - port - line 500: // TODO: saqadri - port - line 948: // TODO: saqadri - port - line 987: // TODO: saqadri - port - line 1066: // TODO: saqadri - Port fully - line 1080: // TODO: saqadri - port - line 1119: // TODO: saqadri - Port - line 1158: // TODO: saqadri - port - line 1174: // TODO: saqadri - port - line 1295: // TODO: verify correctness - line 1402: // TODO: Definition = null, Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/AstConverter.cs (14 lines): - line 203: // TODO: remove this logic when we stop supporting the legacy configuration keyword - line 536: // TODO: remove when all V1 modules are gone - line 670: // TODO: consider extracting template method! - line 751: // TODO: this cannot be the way to do it - line 794: // TODO:Typechecker already has an ability to give a value for enum value. use that logic instead of our own here. - line 835: // TODO: currently we have artifical EnumValue type that makes implementation less clear and consistent. - line 842: // TODO: error handling needs to be refined here. Many different causes for a enum to be invalid - line 852: // TODO: we should use this evaluator (or, even better) stuff from the checker, for enums as well. - line 973: // TODO:ST: validate and prohibit from non const expressions here - line 1667: // TODO: This can be moved to a linter. - line 1909: // TODO: revise! this case means 'import * as x from ...'. With lowercase x! This is preserving old behavior - line 2072: // TODO: Do we ever have an object literal element with an empty or null property name? - line 2997: // TODO: do we really need to do that?!?!? - line 3016: // TODO: Move the configuration to a lint rule Public/Src/Engine/Scheduler/Fingerprints/ObservedInputProcessor.cs (14 lines): - line 28: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 207: // TODO: Debugging for a one-off crash. - line 213: // TODO: Debugging for a one-off crash that we aren't sure still exists. - line 234: // TODO: This is a very silly conversion. Should re-implement the needed comparer things in a new IBinaryComparer - line 295: // TODO: We can remove this step if ListSealedDirectoryContents is changed to returned expansion-sorted results. - line 347: // TODO: Don't use UntrackedFile for this... - line 381: // TODO: Right now we check TryQuerySealedOrUndeclaredInputContent, and then the VFS if that fails (we assume the two are in agreement!) - line 602: // TODO: TryQueryDirectoryFingerprint should be in agreement with the VirtualFileSystem somehow. - line 621: // TODO: Add an assertion here, Assert(isSearchPath). - line 666: // TODO: We accomplish this for now by treating the null fingerprint specially; but this is kind of broken since that might mean "directory exists but empty", which can genuinely occur when looking at the real FS. - line 686: // TODO: This shouldn't always be an error. - line 1495: // TODO: the PathSet and weakFingerprint shouldn't really need to be members of the StrongFingerprint. - line 1706: // TODO: Consider whether we should use the real file system existence which could be Nonexistent OR ExistsAsDirectory - line 2187: // by this pip containing shared opaques will also be removed. TODO: enabling lazy shared opaques implies start using sideband information Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Types.cs (13 lines): - line 1275: ISignature GetResolvedSignature(/*TODO: CallLikeExpression*/INode node); - line 2253: // TODO: this field is never used and should be removed. - line 2263: // TODO: in TS implementation this is a Map, but its keys are numeric, - line 2270: // TODO: this field is never used and should be removed. - line 2458: // TODO: ThisTypePredicate | IdentifierTypePredicate - line 2570: IReadOnlyList ResolvedBaseTypes { get; set; } - line 2641: public interface ITupleType : IObjectType // TODO: Should this be IType? (IObjectType is essentially just an alias for IType) - line 2679: public interface IAnonymousType : IObjectType // TODO: Should this be IType? (IObjectType is essentially just an alias for IType) - line 2696: public interface IResolvedType : IObjectType, IUnionOrIntersectionType // TODO: Should this be IType? (IObjectType is essentially just an alias for IType) - line 2749: public interface IIterableOrIteratorType : IObjectType, IUnionType // TODO: Should this be IType? (IObjectType is essentially just an alias for IType) - line 2873: // TODO: The TypeScript implementation defines Instantiations as Type[], but its usage - line 3361: // TODO: type: "string" | "int" | "bool"; - line 3675: // TODO:ST: use actual pool! Public/Src/Pips/Dll/Graph/PipGraph.Builder.cs (12 lines): - line 28: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 74: /// TODO: This may go away entirely when we support swapping in prior versions of an artifact (with optimistic locks) as in - line 1329: // TODO: no explicit inputs are allowed in OD dependencies. - line 1473: /*/* TODO:410334 - Current builds have lots of source files being incorrectly registered under output mounts. - line 1664: // TODO:[3089]: We should instead detect this error by enforcing that source files never occur under the output root, - line 1721: // TODO: Would be nice to indicate the related consumer here - line 1996: // TODO: this can be implemented in the future. Making the composite opaque the producer of the file is not a big deal but - line 2325: // TODO: Reconcile this. I cannot enable this contract assumption. - line 2867: // TODO: This doesn't change any state for rewrite validation. Oops. - line 3086: // TODO: I disabled the following assertion because - line 3087: // TODO: (1) this check should be part of validation, and - line 3088: // TODO: (2) to allow rewriting source, I need to add input before output (and this sounds more natural). Public/Src/FrontEnd/Ninja/NinjaPipConstructor.cs (11 lines): - line 50: /// TODO: Remove after the cloudbuild environment is correctly set - line 126: var fullSymbol = FullSymbol.Create(m_context.SymbolTable, $"ninja.{PipConstructionUtilities.SanitizeStringForSymbol(moduleDefinition.Descriptor.Name)}"); // TODO: Figure this out, complete - line 148: new LocationData(pathToSpec, 0, 0), // TODO: This is the location of the value (that is scheduling pips through this helper) in its corresponding spec. - line 161: // corresponds to the target. TODO: Get rid of all phonies. - line 230: // TODO: outputs should be optional/required depending on the Ninja graph semantics instead of always optional - line 287: // TODO: Maybe a better description. Add ninja description or change command for input/outputs - line 328: processBuilder.AddUntrackedDirectoryScope(DirectoryArtifact.CreateWithZeroPartialSealId(AbsolutePath.Create(m_context.PathTable, @"C:\PROGRA~1\"))); // TODO: This but better - line 329: processBuilder.AddUntrackedDirectoryScope(DirectoryArtifact.CreateWithZeroPartialSealId(AbsolutePath.Create(m_context.PathTable, @"C:\PROGRA~2\"))); // TODO: This but better - line 332: // TODO: This is just here because the cloud build requires manually dropping the necessary executables and libraries, and should be removed - line 356: // TODO: Can we stop it running? https://stackoverflow.microsoft.com/questions/74425/how-to-disable-vctip-exe-in-vc14 - line 361: // being investigated. TODO: revisit this once this is fixed. Public/Src/Cache/VerticalStore/VerticalAggregator/VerticalCacheAggregatorSession.cs (11 lines): - line 144: // TODO: This failure needs to have keywords added so that it can be tracked as "Should be user facing" - line 218: // TODO: This failure needs to have keywords added so that it can be tracked as "Should be user facing" - line 240: // TODO: This failure needs to have keywords added so that it can be tracked as "Should be user facing" - line 334: // TODO: Provide an option to lazily start to upload to Remote. - line 379: // TODO [pgunasekara]: Add a cancellation token here - line 848: // TODO [pgunasekara]: Add a cancellation token here - line 868: // TODO [pgunasekara]: Add a cancellation token here - line 1036: // TODO [pgunasekara]: Add a cancellation token here - line 1186: // TODO: We should filter the return code for a miss, but at this time, we don't get a consistent return back from all known caches. - line 1235: // TODO: Remove this once the remote properly handles the directory's nonexistence - line 1454: // TODO: We should have our own to report out too... Public/Src/FrontEnd/Script/WorkspaceResolvers/WorkspaceSourceModuleResolver.cs (10 lines): - line 47: /// TODO: - line 317: /// is for now shared between workspace resolvers and IResolvers. TODO: This methods should be removed when IResolver package-interpretation - line 420: // TODO: In the future we may want users to specify the packages explicitly, or via explicit glob. - line 421: // TODO: Thus, we can avoid implicit directory enumerations on collecting packages. - line 422: // TODO: Implicit directory enumeration turns out to be bad for spinning disk. - line 539: // TODO: A package has actually two identifiers: packageId and moduleId. PackageId is a stringId that gets created - line 597: /// TODO: configPath is always invalid for the case of a regular source resolver (and it is not for the default source resolver). Revise this logic. - line 914: // TODO: if module is empty for some reason (for instance, because ast translation went wrong), - line 1157: // TODO: Add publisher, and parse version properly. - line 1300: // TODO: Move validation into the namespace layer (Work item: 934651). Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/FailedPipsDumpAnalyzer.cs (10 lines): - line 83: // Things TODO : - line 198: // TODO : Do this read in parallel with the other file - line 299: // TODO : Are environment variables usefull for analysis - line 322: // TODO:Add removed dependencies when compared to other log - line 387: /// TODO: add removed dependencies - line 494: //TODO: place the BuildXL error here. This is an infrastructure error - line 577: // TODO: Deal with environment - line 615: // TODO: Keep track of dependencies also, not just failed pips to allow better comparison of changes - line 893: // TODO: Compute transitive closure of failed pips to see if the graph has changes, but this may be too noise in some cases - line 899: /// TODO: Include transitive dependencies, because right now is just fintering on direct failed pips Public/Src/FrontEnd/Core/FrontEndHostController.cs (10 lines): - line 99: // TODO: Change it to priority queue. - line 174: // TODO: The EngineBasedFileSystem should be replaced with a tracking file system that wraps the passed in filesystem - line 360: // TODO: consider extending the interface between engine and front end so that the result of the 'ParseConfigFiles' - line 384: // TODO: during workspace construction the workspace resolver factory is accessed directly, which is wrong from an architecture - line 393: // TODO: Use nestedLoggingContext for resolver errors - line 451: // TODO: We do not restrict the environment variables for now. - line 780: /// TODO: for now all the frontend folder is flagged as non-scrubbable. Consider pushing this down to each registered resolver. - line 1050: // TODO: engine, engine abstract and frontend host controller are very similar. - line 1350: // TODO: this could be a separate function, - line 1443: // TODO: Deprecate top-level PACKAGES field. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Parsing/Parser.cs (10 lines): - line 18: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 205: TODO: the parser is modified to preserve comments (only when skip trivia is off) and line breaks only for *some* key cases: - line 519: // TODO: this is a hack! - line 2053: // TODO: why Option.Create is needed in those cases! Implicit conversion should work just fine - line 2145: // TODO: Review for error recovery - line 2910: // TODO: what type of generic needs to be used in parseOptionalToken??? - line 2917: // TODO: I've added cast to FunctionBody - line 3413: // TODO: following expressions uses bitwise operators on non-flag enum!! - line 6219: // TODO: Don't need them for now! - line 6329: // TODO: Handle multiple inheritance Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/checker.ts (9 lines): - line 4919: // TODO: De-duplicate code between related functions. - line 5647: // TODO: De-duplicate code between related functions. - line 5909: // TODO: De-duplicate code between related functions. - line 8544: // TODO: why is the first part of this check here? - line 11199: // TODO: Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - line 11768: // TODO: These are methods, so handle computed name case - line 13205: // TODO: Check that target label is valid - line 13231: // TODO: Check return expressions of generators when return type tracking is added - line 16592: // TODO: The spec needs to be amended to reflect this grammar. Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/SummaryAnalyzerHtmlWritter.cs (9 lines): - line 177: // TODO: save distinct suspects to print hygienator CSV output - line 300: // TODO:: if count is large may need to add a DIV - line 361: // TODO: If dependency changes are in temp folder ignore because they have no impact. - line 368: // TODO: add a flag to filter out common known changes to minimize noise - line 369: // TODO: if the change impacts all pips then just list longest path instance - line 860: // TODO: will consider making this a different table - line 924: // TODO: Add directory enumerations link to - line 1030: // TODO: fill the data - line 1039: // TODO: fill the data Public/Src/Utilities/Native/IO/Windows/FileSystem.Win.cs (9 lines): - line 25: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 274: /// TODO: this is not documented by WDG yet. - line 275: /// TODO: OpenSource - line 284: /// TODO: this is not properly documented by WDG yet. - line 285: /// TODO: OpenSource - line 1276: ReasonMask = uint.MaxValue, // TODO: Filter this! - line 2072: // TODO:454491: We could also set FileSkipSetEventOnHandle here, such that the file's internal event is not cleared / signaled by the IO manager. - line 3014: // $TODO: When this is removed, please also remove the method VerboseEvent_RemoveMe - line 3741: // TODO: consider logging this case Public/Src/App/Bxl/Args.cs (9 lines): - line 384: // TODO: This is a temporary flag. Remove it once we no longer need it. - line 396: // TODO: Ideally we'd automatically turn on distributionConfiguration.ValidateDistribution whenever - line 555: "numberOfKextConnections", // TODO: deprecate and remove - line 561: "reportQueueSizeMb", // TODO: deprecate and remove - line 1030: // TODO:not used. Deprecate - line 1291: // TODO: Remove this! - line 1538: // TODO: Non Windows OS doesn't support admin-required process external execution mode. - line 1575: // TODO: The IToolParameterValue interface doesn't fit BuildXL well since it makes the command line - line 2041: // TODO: These options are left to give consumers window to remove them from wrapper scripts. Public/Src/Utilities/Native/IO/Unix/FileSystem.Unix.cs (8 lines): - line 372: => false; // TODO: Task #1272136 (FileContentTable) - line 376: => null; // TODO: Task #1272136 (FileContentTable) - line 400: => null; // TODO: Task #1272136 (FileContentTable) - line 407: => null; // TODO: Task #1272136 (FileContentTable) - line 411: => new List>(0); // TODO: Task #1272136 (FileContentTable) - line 415: => 0; // TODO: Task #1272136 (FileContentTable) - line 1075: // TODO: in any case, this should be moved to Interop.IO so that there it is decided - line 1103: // TODO: if high-precision file timestamp is supported, this function should simply call TryGetVersionedFileIdentityByHandle. Public/Src/Engine/Cache/Artifacts/LocalDiskContentStore.cs (7 lines): - line 48: /// TODO: Anti-dependencies: This thing should learn how to probe for files gracefully (instead of caller probing), - line 50: /// TODO: Zig-zag: We should maybe only track changes to files which are *final*. - line 129: // TODO:58494: We shouldn't need to open a handle here and then drop it immediately. The cache needs to know about the file content table - line 726: /// TODO: Other methods like TryDiscoverAsync should be able to handle absence-tracking, and understand the special absent-file hash - line 940: // TODO: With UseHardLinks, a cache put may involve creating a hardlink *from* the cache if we already have the hash and then this is wasteful. In general this flush could be better positioned w.r.t. cache interaction - line 988: // TODO:58494: We shouldn't need to open a new handle here. In fact, that is a race, and why there isn't a RecordContentHashAsync taking a path. - line 1080: // TODO: We use the 'Supersede' update mode here - this is appropriate for callers that have one defined owner of each path (such as pip execution), Public/Src/Cache/Monitor/Library/Monitor.cs (7 lines): - line 256: // TODO: per-stamp configuration (some stamps are more important than others, query frequency should reflect that) - line 257: // TODO: query weight (how much does it cost). We should adapt scheduling policy to have lighter queries prioritize earlier than the others. - line 258: // TODO: stamp configuration knowledge. Stamp configuration affects what our thresholds should be. We should reflect that here. - line 259: // TODO: add jitter to rules, so that queries to Kusto are spread out over time instead of all at once - line 291: // TODO: this rule is too noisy and inaccurate, we should make it work again - line 333: // TODO: fire-and-forget exceptions are now being reported on the dashboards. We should see if this can be recycled. - line 344: // TODO: this was just too noisy Public/Src/Sandbox/Windows/Detours/Lib/disasm.cpp (7 lines): - line 2241: // TODO: Implement IT handler - line 2389: // TODO: Not handling moves from PC - line 2432: // TODO: Is ADR (T1) blitt-able? - line 2444: // TODO: Are we sure these are all safe? - line 2759: // TODO: What about ADR? Is it safe to do a straight-copy? - line 2760: // TODO: Not handling moves to or from PC - line 2782: // TODO: If the source register is PC, what should we do? Public/Src/FrontEnd/Nuget/WorkspaceNugetModuleResolver.cs (7 lines): - line 280: /// TODO: The nuget resolver is generating specs on disk that are later parsed. Consider avoiding the roundtrip and generating ISourceFile directly - line 691: /// TODO: this is done in a single-threaded fashion. Consider making this multi-threaded and cacheable - line 852: // TODO: Use FileSTream for writing in the future but we don't have that right now. - line 1282: // TODO:escape quotes properly - line 1511: // TODO: If this is set to true, then NuGet will fail if TMG Forefront client is running. - line 1653: // TODO: Have better provenance for configuration values. - line 1686: // TODO: better provenance for configuration settings. Public/Src/IDE/LanguageServer/App.cs (7 lines): - line 276: // TODO: SO... Since the file is still in use at this point, if the user has - line 277: // TODO: something like word-pad associated with the log file extension, - line 278: // TODO: It will fail to open since word-pad tries to open the file exclusively. - line 279: // TODO: Applications like good old notepad work just fine. - line 280: // TODO: So, in theory we should copy the current contents of the file - line 281: // TODO: to a temporary file and open that one. - line 391: // TODO: Should we call Dispose? Public/Src/Engine/Scheduler/IncrementalScheduling/GraphAgnosticIncrementalSchedulingState.cs (7 lines): - line 413: // TODO: The constructor of DirtyNodeTracker looks unnatural, please fix. - line 508: // TODO: Add telemetry to determine how often this happens; consider adding state to map these changes to individual graph nodes. - line 519: // TODO: Not sure if creating an absolute path is right. - line 924: // TODO: Process dynamically observed absent path probes - line 1343: // TODO: We may want to split these into small files so saving can be parallelized. - line 1344: // TODO: Or we can split the files into graph-agnostic and graph-specific ones. - line 1513: // TODO: Loading can be parallelized if we split the state into multiple files. Public/Src/Cache/VerticalStore/BasicFilesystem/BasicFilesystemCache.cs (6 lines): - line 303: // TODO: Telemetry for falling back to read-only - line 320: #pragma warning disable ERP022 // TODO: This should really handle specific errors - line 328: // TODO: Some other settings like strict metadata CAS coupling should be properties of the cache and not something - line 651: #pragma warning disable ERP022 // TODO: This should really handle specific errors - line 1230: // TODO: how should the fastest write work - this keeps - line 2149: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/FrontEnd/Script/Ambients/Transformers/AmbientTransformer.Process.cs (6 lines): - line 390: // TODO: remove in favor of 'outputs' when the corresponding obsolete field is removed - line 398: // TODO: remove in favor of 'outputs' when the corresponding obsolete field is removed - line 468: // TODO: Regex. Should we follow ECMA, C#, JavaScript? - line 884: // TODO: Handle ToolCache again - line 909: // TODO: Fix all callers, in the api this is limited to Directory. - line 1315: // TODO: Fix all callers, in the api this is limited to Directory. Public/Src/Engine/Processes/FileAccessManifest.cs (6 lines): - line 70: IgnoreFullReparsePointResolving = true; // TODO: Change this when customers onboard the feature. - line 71: IgnorePreloadedDlls = true; // TODO: Change this when customers onboard the feature. - line 197: /// TODO: This should be a temporary hack until we fix all places broken by the NtCreateFile monitoring - line 535: /// TODO: BUG 1904974 - line 586: // TODO: Make ReadChars and WriteChars symmetric. - line 1044: // TODO: Check perf. a) if this is a good buffer size, b) if the buffers should be pooled (now they are just allocated and thrown away) Public/Src/Pips/Dll/Graph/PipGraph.cs (6 lines): - line 140: /// TODO: This will not return correct results w.r.t. meta-pips, e.g. spec file pips. Need to get meta-pips ordered correctly (i.e., add them topologically). - line 150: // TODO: skipOutOfOrderNodes has to be used until meta-pips are ordered correctly. - line 313: // TODO: This approach is not specific to the 'latest or earliest possible' criterion - 'version dispositon'; consider - line 384: // TODO: Should respect version disposition rather than disingenuously returning the latest. - line 1111: // TODO: This could be cheaper by having filter implementations operate on a (path -> max write count) mapping, - line 1147: // TODO: This means we can't represent the fact that some but not all outputs of a node are filter-passing. Public/Src/Engine/Dll/Engine.cs (6 lines): - line 893: // TODO: Snapshot mode does not work when loading cached graph. Can input tracker be used to capture/load the same information as - line 1259: // TODO: Remove this once reduced metabuild materialization is fully tested - line 2086: // TODO: Should this also happen in the event we have a fully constructed engine schedule, but e.g. evaluation failures? - line 2379: // TODO: Investigate if this check is always reliable, and in that case, remove the configuration flag check - line 3039: // TODO: Shouldn't need to force the cache until the execution phase; this can be fixed when BuildXLScheduler is constructed only in the Execute phase. - line 3358: /// TODO: a future optimization is to update serialization to be thread-safe and not block on it Public/Src/Engine/Cache.Plugin.CacheCore/CacheCoreFingerprintStore.cs (6 lines): - line 46: // TODO: We assume that everything up until the first sentinel is local. This is fine for a simple 'vertical' aggregator - line 91: // TODO: We need a different side channel for prefetching etc. other than strong fingerprint subclasses. - line 99: // if (satisfiable == candidate) { // TODO: We have to lie about equality! - line 100: // GetCacheEntryAndRunPipFromCache(satisfiable); // TODO: Oops. Accidentally slower? - line 105: // FancyStrongFingerprintCache.TryGetValue(pathSetHash, out strongFingerprint); // TODO: Oops. Side channel is broken again. - line 129: // TODO: This API will fail just because an entry isn't available, and that case isn't distinguishable (at least looking only at the interface). Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/DScript/Utilities.cs (6 lines): - line 86: node.Cast().Name?.Kind == SyntaxKind.StringLiteral; /* TODO: saqadri - verify correctness! || IsGlobalScopeAugmentation(node.Cast());*/ - line 223: // TODO: saqadri - fix up! - line 285: var name = node.GetText(); // TODO: saqadri - verify correctness (const name = (node).text; - line 291: // TODO: saqadri - port - line 449: // TODO: saqadri - duplicated with TypeScript.Net.Utils (Utilities.cs) - line 676: // TODO: TaggedTemplateExpressions may eventually support type arguments. Public/Src/FrontEnd/Script/Util/ConfigurationConverter.cs (6 lines): - line 70: // TODO: Check this precondition because now we are converting value from another assembly. - line 283: Analysis.IgnoreArgument(objectLiteral); // TODO: Why do we even pass in this argument? - line 802: // An ArrayLiteral happens to be an ObjectLiteral as well! (with zero members). TODO: revisit this! - line 900: // TODO: Check this precondition because now we are converting value from another assembly. - line 914: // TODO: this should be enforced in the future. - line 1043: // TODO: For general use, one may want to add proper handling for getting a symbol from a name. Public/Src/IDE/Generator.Old/MsbuildWriter.cs (5 lines): - line 122: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. - line 358: // TODO: Compare if the file is actually different and only write when different - line 359: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. - line 529: // TODO: Compare if the file is actually different and only write when different - line 530: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. Public/Src/IDE/Generator/MsbuildWriter.cs (5 lines): - line 145: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. - line 367: // TODO: Compare if the file is actually different and only write when different - line 368: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. - line 539: // TODO: Compare if the file is actually different and only write when different - line 540: // TODO: Handle errors more gracefully in case someone has a 'lock' on the files. Public/Src/Engine/Scheduler/Artifacts/FileContentManager.cs (5 lines): - line 523: // TODO: - line 1081: // TODO: In theory, ObservedInputProcessor should not treat - line 1265: // TODO: Consider calling this from TryHashDependencies. That would allow us to remove logic which requires - line 2714: // TODO: We may want to check if the files on disk are up-to-date. - line 3127: // TODO: Bug #995938: Temporary hack to handle pip graph construction verifcation oversight Public/Src/Pips/Dll/Graph/ExtraFingerprintSalts.cs (5 lines): - line 32: ignoreReparsePoints: true, // TODO: Change this value when the default value for ignoreReparsePoints changes. - line 33: ignoreFullReparsePointResolving: true, // TODO: Change this value when the default value for ignoreFullReparsePointResolving changes. - line 34: ignorePreloadedDlls: true, // TODO: Change this value when the default value for ignorePreloadedDlls changes. - line 35: ignoreGetFinalPathNameByHandle: true, // TODO: Change this value when the default value for ignoreGetFinalPathNameByHandle changes. - line 39: monitorZwCreateOpenQueryFile: false, // TODO: Change this value when the default value for monitorZwCreateOpenQueryFile changes. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Extensions/CollectionExtensions.cs (5 lines): - line 59: // TODO: This is currently untested. Verify correctness! - line 74: // TODO: This is currently untested. Verify correctness! - line 186: // TODO: Verify correctness/equivalence - line 316: // TODO: Verify correctness/equivalence. Ported from core.ts - line 340: // TODO: Verify correctness/equivalence. Ported from core.ts Public/Src/Engine/Cache.Plugin.CacheCore/CacheCoreArtifactContentCache.cs (5 lines): - line 58: // TODO: These conversions are silly. - line 99: // TODO: This doesn't indicate what is local / how much was transfered. From the similar BuildCache adapter: - line 101: // TODO: This API will fail just because content isn't available; see below for that case. - line 107: // TODO: As above: this API will fail just because content isn't available, and that case isn't distinguishable (at least by looking at the interface alone). - line 336: // TODO: The cache should be able to do this itself, preferably sharing the same code. Public/Src/Cache/ContentStore/Hashing/VsoHash.cs (4 lines): - line 680: // TODO:if we want to enforce this we should implement BlobBlockHash.BlockSize (bug 1365340) - line 692: // TODO:if we want to enforce this we should implement BlobBlockHash.BlockSize (bug 1365340) - line 775: // TODO:if we want to enforce this we should implement BlobBlockHash.BlockSize (bug 1365340) - line 792: // TODO:if we want to enforce this we should implement BlobBlockHash.BlockSize (bug 1365340) Public/Src/FrontEnd/Core/FrontEndHostController.Workspace.cs (4 lines): - line 395: // TODO: with C# 7, use tuple instead of changing the workspace to carry the information about the filtering. - line 513: // TODO: potentially, we could check the number of changes compared to the workspace definition size. - line 820: // TODO: current design is not good. - line 905: // TODO: this is for backward compat only; remove when not needed any longer Public/Src/FrontEnd/Ninja/NinjaResolver.cs (4 lines): - line 54: // TODO: Failure cases, logging - line 81: // TODO: Async? - line 85: private bool? TryEvaluate(ModuleDefinition module, QualifierId qualifierId) // TODO: Async? - line 90: // TODO: Actual filtering. For now [first development only] we schedule all pips because we are dealing with a single spec 'all' Public/Src/FrontEnd/Script/Incrementality/PublicSurfacePrinter.cs (4 lines): - line 236: // TODO: do we need to do visibility check on type parameters? Task 1066456 - line 329: AppendModuleSpecifier(node); // TODO: revisit - line 464: // TODO: a more compact version can be generated, but the case of multiple variables per statement is not that likely to occur - line 519: (statement.Kind == TypeScript.Net.Types.SyntaxKind.EnumDeclaration) || // and Enums are kept regardless visibility so we don't need to analyze type-related declarations. TODO: this can be optimized Public/Src/Engine/Dll/EngineSchedule.cs (4 lines): - line 817: var computeExtraneousSidebandFiles = true; // TODO: no need to do it if we got graph cache hit - line 870: // TODO: This nuclear deletion is a temporary measure to deal with the fact that shared opaque directory outputs are not known - line 872: // TODO: we can consider conflating these two scrubbing passes (first one is optional) into one call to DirectoryScrubber to - line 1644: // TODO: Expecting an error already logged; should do this with types? Public/Src/App/Bxl/BuildXLApp.cs (4 lines): - line 427: // TODO: Remove this once we can add timestamps for all logs by default - line 1975: // TODO: Note that a single thread crashing could still deadlock if it tries to acquire locks held on its own stack. - line 2039: // TODO: Maybe log on in the file? Definitely avoid the console to prevent a stack overflow. - line 2064: // TODO - FailureRecovery relies on the configuration object and path table. It really shouldn't since these mutate over Public/Src/Engine/Scheduler/Scheduler.cs (4 lines): - line 3190: // TODO: Should IPC pips always be marked perpetually dirty? - line 6109: // TODO: The VFS, LocalDiskContentStore, and DirectoryMembershipFingerprinter may need to be better reconciled. - line 6378: // TODO: Instead of proceeding in coarse-grained waves, which leaves some potential parallelism on the table, - line 6449: // TODO: Public/Src/IDE/LanguageServer/Providers/IncrementalWorkspaceProvider.cs (4 lines): - line 133: // TODO: This may have performance issues if there are a lot of files that needs to be changed. - line 134: // TODO: Need to optimize RecomputeWorkspace to handle multiple file changes efficiently. - line 135: // TODO: Task 15106291: Optimize RecomputeWorkspace to handle multiple files. - line 189: // TODO: saqadri - log exception, but for now just swallow Public/Src/Cache/ContentStore/DistributedTest/ContentLocation/LocalLocationStoreDistributedContentTests.cs (4 lines): - line 3052: // TODO: How to wait for events? - line 3111: // TODO: add a test case to cover different epochs - line 3112: // TODO: run tests against event hub automatically - line 3126: // TODO: How to wait for events? Public/Src/Utilities/Configuration/IScheduleConfiguration.cs (4 lines): - line 169: /// TODO: Remove this! - line 210: /// TODO: This should be removed when lazy write file materialization works appropriately with copy pips AND incremental scheduling. - line 301: /// TODO: Remove this when https://gitlab.kitware.com/cmake/cmake/issues/19162 has reached mainstream versions - line 457: /// TODO: Get information about agent leases from AnyBuild, and so this number can be set dynamically. Public/Src/Cache/ContentStore/Vsts/DedupReadOnlyContentSession.cs (4 lines): - line 53: /// TODO: Unify cache config - current default taken from IOGate in DistributedReadOnlyContentSession. - line 486: // TODO: allow cached expiry time to be within some bump threshold (e.g. allow expiryTime = 6 days & endDateTime = 7 days) (bug 1365340) - line 654: // TODO: Support batched TryKeepUntilReferenceNodeAsync in Artifact. (bug 1428612) - line 684: // TODO: Support batched TryKeepUntilReferenceChunkAsync in Artifact. (bug 1428612) Public/Src/Cache/ContentStore/Distributed/Sessions/ReadOnlyDistributedContentSession.cs (4 lines): - line 619: // TODO: Replace PinBulkAsync in hibernate with PinAsync bulk call (bug 1365340) - line 698: // TODO: split results and call PlaceFile on successfully copied files (bug 1365340) - line 749: // TODO: Better way ? (bug 1365340) - line 990: // TODO: Pass location store option (seems to only be used to prevent updating TTL when replicating for proactive replication) (bug 1365340) Public/Src/Utilities/Utilities/HierarchicalNameTable.cs (4 lines): - line 927: // TODO:409239: This is broken. On deserialization, allocate a tag and then remap deserialized paths. - line 950: /// TODO:409239: We also disable this when reloading multiple path tables, as a workaround for debug tag collisions. Need to properly serialize and re-map debug tags. - line 1336: // TODO: The returned ID might not be linked into the containers list properly yet. - line 1355: // TODO: The returned ID might not be linked into the containers list properly yet. Public/Src/Cache/ContentStore/InterfacesTest/FileSystem/AbsFileSystemTests.cs (4 lines): - line 724: [Fact(Skip = "TODO: Failing locally during conversion")] - line 916: [Trait("Category", "WindowsOSOnly")] // TODO: Update to check for immutable (?) - line 1532: [Fact(Skip = "TODO: Failing locally during conversion")] - line 1550: [Fact(Skip = "TODO: Failing locally during conversion")] Public/Src/Utilities/Storage/ChangeTracking/FileChangeTrackingSet.cs (4 lines): - line 237: internalPathTable: new PathTable(disableDebugTag: true), // TODO:409239: Fix debug tag allocation; don't disable here. - line 1271: // TODO: Maybe WeakUsn should not be allowed here; but there are existing call sites (perhaps just TryOpenAndTrackPathInternal) which are - line 1458: // TODO: trackAndOpenResult should have a subscription on it. - line 1546: // TODO: Fix me. Public/Src/FrontEnd/Script/WorkspaceResolvers/WorkspaceDefaultSourceModuleResolver.cs (4 lines): - line 90: // TODO: In the future we may want users to specify the packages/projects explicitly, or via explicit glob. - line 91: // TODO: Thus, we can avoid implicit directory enumerations on collecting packages/projects. - line 92: // TODO: Implicit directory enumeration turns out to be bad for spinning disk. - line 192: // TODO: make this consistent (nevertheless, 'main' field should go away when we move completely to V2...) Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/NodeUtilities.cs (4 lines): - line 100: // TODO:SQ: DeclarationName type for this function param seems unnecessary - line 342: // TODO: TaggedTemplateExpressions may eventually support type arguments. - line 783: // TODO: Check equivalence - line 1642: // TODO:SQ: IVariableLikeDeclaration for this function seems unnecessary Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Reformatter/ReformatterVisitor.cs (4 lines): - line 92: // TODO: not sure about name!! - line 307: // TODO: consider adding @@ as a first-class citizen. - line 1130: // TODO: add comment! export modifier is applied on the statement, not on the declaration list! - line 1537: /// TODO: Check if there are other cases under which we should abandon as well. Public/Src/Cache/MemoizationStore/Vsts/BuildCacheReadOnlySession.cs (4 lines): - line 378: await incorporateBlock.Completion.ConfigureAwait(false); // TODO: Gracefully handle exceptions so that the rest of shutdown can happen (bug 1365340) - line 512: // TODO: optimize and run in parallel if needed. - line 515: // TODO: Get the content hash list in a more efficient manner which does not require us to talk to BuildCache. - line 1065: // TODO: Upload the content efficiently (in parallel and with caching of success) (bug 1365340) Public/Src/Engine/Scheduler/PipStateCounters.cs (4 lines): - line 112: // TODO: not needed? Contract.Requires((int) from <= PipStateRange.MaxValue && (int) from >= PipStateRange.MinValue); - line 113: // TODO: not needed? Contract.Requires((int) to <= PipStateRange.MaxValue && (int) to >= PipStateRange.MinValue); - line 185: // TODO: This deserves perf instrumentation. If this simple implementation becomes a problem, - line 243: // TODO: not needed? Contract.Requires((int) state <= PipStateRange.MaxValue && (int) state >= PipStateRange.MinValue); Public/Src/FrontEnd/CMake/CMakeWorkspaceResolver.cs (4 lines): - line 224: // TODO: This manual configuration is temporary. Remove after the cloud builders have the correct configuration - line 253: // TODO: Output file - line 276: // TODO: This manual configuration is temporary. Remove after the cloud builders have the correct configuration - line 317: // TODO: Different targets Public/Src/IDE/LanguageServer/Providers/GotoDefinitionProvider.cs (4 lines): - line 34: // TODO: support cancellation - line 40: // TODO: consider special hint/message if the current node is a template expression with interpolated expressions. - line 59: // TODO: saqadri - Port - line 67: // TODO: saqadri - port Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/emitter.ts (4 lines): - line 1121: // TODO: Note that we need to account for the upcoming 'yield' and - line 1848: // TODO: Reconcile with 'emitMemberFunctions'. - line 4284: // TODO: we should not have special cases to condition emitting comments - line 5129: // TODO: Need to go back to `let _a = class C {}` approach, removing the defineProperty call for now. Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/SummaryAnalyzer.cs (4 lines): - line 338: // TODO: uncomment after workaround fix - line 1049: // TODO: fix this Workaround when SemistableHash becomes unique - line 1085: // TODO: Gemerage CSV summary - line 1400: // TODO: add this to the report Public/Src/Tools/Tool.MsBuildGraphBuilder/MsBuildGraphBuilder.cs (4 lines): - line 38: // TODO: maybe the static graph API can provide this information in the future in a more native way - line 279: // TODO: Ideally we would create the Project and ProjInstance, - line 320: // TODO: revisit the structures, since the projects are known upfront we might be able to use lock-free structures - line 451: // TODO: temporarily getting this as a set due to an MSBuild bug where edges are sometimes duplicated. We can just Public/Src/Engine/Scheduler/FileMonitoringViolationAnalyzer.cs (4 lines): - line 26: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 1554: // TODO: Maybe have a separate violation type for writing to source files. - line 1679: // TODO: assert that this is actually subsequent? - line 1712: // TODO: Maybe there should be a separate violation for 'extra file accessed under an output mount' (need to first disallow source files in writable mounts). Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Nodes/NodeImplementations.cs (4 lines): - line 1972: // TODO: Both name and property name point to the same node. Both elements are listed by the NodeWalker. - line 2184: // TODO:SQ: Verify correctness - line 2383: // TODO:SQ: Figure out how to determine equality! - line 2634: // TODO:SQ: How do you decide that 2 parameter declarations are equal (without doing deep comparison)? Public/Src/Tools/BxlScriptAnalyzer/Codex/CodexDefinitionVisitor.cs (3 lines): - line 217: // TODO: Comments for symbol declaration for tooltip in web site? - line 253: // TODO: Actually compute NOTE: This may be the variable declaration in the case of a property assignment - line 274: // TODO: Handle all whitespace or fix properly Public/Src/FrontEnd/MsBuild/MsBuildResolver.cs (3 lines): - line 143: // TODO: factor out common logic into utility functions, we are duplicating - line 192: // TODO: we don't really need to evaluate all the specs in the module, we could evaluate a - line 271: // TODO: consider revisiting this and keeping track of individually evaluated projects, so partial Public/Src/IDE/LanguageServer/Providers/RenameProvider.cs (3 lines): - line 58: // TODO: This was ported from the type-script repositiory. I'm not sure I completely understand this. - line 140: // TODO: Our version of IsLiteralNameOfPropertyDeclarationOrIndexAccess does not suppoert computed property or string literal type - line 141: // TODO: Whereas the typescript version does. Public/Src/Engine/Processes/Internal/DetouredProcess.cs (3 lines): - line 569: // TODO: Indicating user vs. internal errors (and particular phase failures e.g. adding to job object or injecting detours) - line 597: // TODO: We should establish good post-conditions for CreateDetouredProcess. As a temporary measure, it would be nice - line 981: // TODO: It'd be nice if we had a FailFast equivalent that went through AppDomain.UnhandledExceptionEvent for logging. Public/Src/FrontEnd/CMake/CMakeResolver.cs (3 lines): - line 31: // TODO: Multiple modules - line 58: // TODO: Failure cases, logging - line 86: private bool? TryEvaluate(ModuleDefinition module, QualifierId qualifierId) // TODO: Async? Public/Src/Pips/Dll/DirectedGraph/DeserializedDirectedGraph.cs (3 lines): - line 84: // TODO: This loop takes 70% of the deserialization time; make faster. - line 101: // TODO: This loop takes 10% of the deserialization time; make faster. - line 117: // TODO: This parallel loop takes 20% of the (sequential) deserialization time; make faster. Public/Src/Engine/Cache/Fingerprints/PipFingerprintEntry.cs (3 lines): - line 168: // TODO: It would be nice to predict the buffer size accurately. - line 198: // TODO [pgunasekara]: Add a cancellation token here - line 210: // TODO [pgunasekara]: Add a cancellation token here Public/Src/Sandbox/Windows/DetoursServices/PolicyResult_common.cpp (3 lines): - line 72: // TODO: This is inconsistent with write behavior, which sets ReportLevel::Ignore and returns ERROR_PATH_NOT_FOUND to the caller. - line 89: // TODO: Revisit this if BuildXL gains a way to declare an enumeration dependency (on the directory) or probe-only dependencies (on the known contents). - line 114: // TODO: In the deny case, we aren't ever returning PathValidity::PathComponentNotFound; so ERROR_PATH_NOT_FOUND is never returned in the Deny case. Public/Src/Tools/BxlScriptAnalyzer/WorkspaceBuilder.cs (3 lines): - line 75: EvaluationFilter.Empty, // TODO: consider passing a filter that scopes down the build to the root folder - line 348: // TODO: Hack -- when phase Evaluate is use, then release workspace. This is for Office to be performant. - line 525: /// TODO: This is code duplicated from the configuration processor. Consider refactoring Public/Src/FrontEnd/Script/Util/DsFullSymbolDictionary.cs (3 lines): - line 16: /// TODO: This is an experimental data structure to get some performance. - line 17: /// TODO: Currently there is no significant performance gain, but further improvement can be carried out in the future. - line 18: /// TODO: Thus, this data structure is kept alive here. We may also want to remove it later. Public/Src/Utilities/Configuration/Mutable/ScheduleConfiguration.cs (3 lines): - line 58: // TODO: Fix me. - line 61: // TODO: Should this ever be enabled? Default to on outside of CloudBuild for now. - line 304: /// TODO: Remove this! Public/Src/Engine/Scheduler/Tracing/PackedExecutionExporter.cs (3 lines): - line 439: // TODO: when can there be more than one entry in this list? - line 723: /// TODO: Consider making this less object-y and more columnar... store all the declared input files - line 828: // TODO: use a builder here? 400K or so objects seems livable though.... Public/Src/FrontEnd/Script/Util/DsSymbolDictionary.cs (3 lines): - line 17: /// TODO: This is an experimental data structure to get some performance. - line 18: /// TODO: Currently there is no significant performance gain, but further improvement can be carried out in the future. - line 19: /// TODO: Thus, this data structure is kept alive here. We may also want to remove it later. Public/Src/FrontEnd/Script/Evaluator/Converter.cs (3 lines): - line 126: // TODO: consider removing that implicit conversion altogether. - line 968: // TODO: Unfortunately absolute_path.combine(".") doesn't result in absolute_path, but absolute_path\., which is treated differently from absolute_path - line 1069: // TODO: consider merging this function with Public/Src/IDE/LanguageServerProtocol/LanguageServer/Message.cs (3 lines): - line 163: // TODO: Note, the ErrorCodes enum are the defined set that is reserved - line 164: // TODO: By JSON-RPC, the error code in reality should be a int - line 165: // TODO: As anything not in the reserved list can be used for application defined errors Public/Src/Tools/DropDaemon/DropDaemon.cs (3 lines): - line 792: // TODO: The API will provide the paths of the generated files in the result in a future version - line 891: // TODO [pgunasekara]: Change this to a Warning. Currently this is only Info level until CB changes are fully rolled out to avoid generating warnings unnecessarily. - line 1215: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Utilities/Collections/ConcurrentBigSet.cs (3 lines): - line 45: /// TODO: Investigate have items which are associated with nodes that do not have next pointer to save memory - line 607: // TODO: Use prior lock write count to skip doing second read. Beware, - line 691: // TODO: Should this be moved before setting node for safe enumeration Public/Src/FrontEnd/MsBuild/PipConstructor.cs (3 lines): - line 81: // TODO: it would be better if MSBuild provided the property name - line 245: // TODO: The GUID is computed based on the project, which means that uniqueness is guaranteed - line 615: // TODO: Can we stop it running? https://stackoverflow.microsoft.com/questions/74425/how-to-disable-vctip-exe-in-vc14 Public/Src/Cache/ContentStore/Vsts/BlobReadOnlyContentSession.cs (3 lines): - line 324: // TODO: In groups of 1000 (bug 1365340) - line 360: // TODO: allow cached expiry time to be within some bump threshold (e.g. allow expiryTime = 6 days & endDateTime = 7 days) (bug 1365340) - line 415: // TODO: Investigate using ManagedParallelBlobDownloader instead (bug 1365340) Public/Src/Engine/Scheduler/FileSystem/FileSystemView.cs (3 lines): - line 240: // TODO: In the future, we may want to restrict it based on pip's untracked scopes/paths. - line 295: // TODO: Some kind of strategy to trigger enumerating directories with commonly probed members - line 296: // TODO: Perhaps probabilistically enumerate based on hash of path and some counter Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Nodes/NodeInterfaces.cs (3 lines): - line 64: // TODO:SQ: Memory growth - The 4 fields below grow the memory of each node by 4 pointers - line 521: // new PropertyName Name { get; set; } // TODO: HD should be uncommented but then the current implementation breaks - line 1409: new IIdentifier Name { get; set; } // TODO:readonly Public/Src/Engine/Scheduler/PipQueue.cs (3 lines): - line 365: // TODO: Instead of looking at all disk usages, just look at the ones which are associated with the build files (both inputs and outputs). - line 382: // TODO: Should we look at the CPU or MEM usage as well to decrease the limit? - line 387: // TODO: Right now, we only care about the disk active time. We should also take the avg disk queue length into account. Public/Src/App/Bxl/Program.cs (3 lines): - line 39: // TODO:#1208464 - this can be removed once BuildXL targets .net or newer 4.7 where TLS 1.2 is enabled by default - line 47: // TODO: Promote the last-chance handler from BuildXLApp to here? - line 72: // TODO: Message Public/Src/Sandbox/Linux/bxl_observer.cpp (3 lines): - line 182: // TODO: instead of failing, implement a critical section - line 222: // TODO: once 'send' is capable of sending more than PIPE_BUF at once, allocate a bigger buffer and send that - line 245: // TODO: don't stat all the time Public/Src/Cache/ContentStore/Library/Stores/FileSystemContentStoreInternal.cs (3 lines): - line 64: // TODO: Adjust defaults (bug 1365340) - line 1967: // TODO: Better way ? (bug 1365340) - line 2669: // TODO: This is still relatively inefficient. We're taking a lock per hash and pinning each individually. (bug 1365340) Public/Src/Engine/Dll/ObservedGraphInputs.cs (3 lines): - line 32: /// TODO: For perf, we may want to change it with sorted map. - line 38: /// TODO: For perf, we may want to change it with sorted map. - line 44: /// TODO: For perf, we may want to change it with sorted map. Public/Src/FrontEnd/Script/Modules/FileModuleLiteral.cs (3 lines): - line 49: /// // TODO:ST: clarification: in TypeScript following syntax is invalid: X.E.v, so following comment is true, but this is an example of deviation from typescript. - line 54: /// TODO: Consider sharing this cache accross instances. - line 338: // TODO:ST: instantiation is happening more than once! Public/Src/FrontEnd/MsBuild/MsBuildWorkspaceResolver.cs (3 lines): - line 67: // TODO: factor out common logic into utility functions, we are duplicating - line 71: // TODO: No MSBuild-specific logic - line 99: /// TODO: for now we just return an underscore flattened name that is built using the relative path of the project Public/Src/FrontEnd/Script/Ambients/Transformers/TransformerExecuteArgumentsProcessor.cs (3 lines): - line 218: // TODO: Throw an exception for else case. Right now silently ignore the argument. - line 219: // TODO: Having contract exception because our API is not bullet-proof is incovenient for users. - line 288: // TODO: think about error message here! But maybe validation should be performed in a separate step. Public/Src/Utilities/Collections/ConcurrentDrainingPriorityQueue.cs (3 lines): - line 25: /// TODO: Introduce a separate resource class for machine resources such as predicted memory or I/O usage. - line 266: // TODO: We are just looking at one top-priority pip that got previously postponed because of semaphore constraints. While that one doesn't fit, there might be some other one that fits now. However, finding that in the heap of postponed pips in an efficient is not trivial (we shouldn't traverse all postponed pips every time). - line 408: // TODO: The following is problematic, as the TPL may choose to run the continuation on the thread that causes the task to transition into its final state --- if that thread then blocks, we might get into a deadlock! Public/Src/Utilities/Native/IO/Windows/FileUtilities.Win.cs (3 lines): - line 523: // TODO: Note that the inner exception here doesn't account for TryDeleteViaMoveReplacement; - line 1251: // TODO: Should log (source, destination, size) and an end marker. - line 1483: // TODO: Event Public/Src/Cache/ContentStore/Distributed/MetadataService/ResilientGlobalCacheService.cs (3 lines): - line 315: // TODO (1888943): support different retry kinds to notify the clients that the retry should happen after a longer period of time, for instance. - line 569: // TODO: Timeout. Long create checkpoint could lose master while checkpointing. - line 570: // TODO: Checkpoints started later should take precedence. Might require a compare Public/Src/Cache/ContentStore/Vfs/Provider/VfsProvider.cs (3 lines): - line 47: // TODO: Cache enumeration listings - line 392: // TODO: Consider reading/writing in parallel - line 435: // TODO: Check whether this handles long paths appropriately. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Parsing/DScriptParser.cs (3 lines): - line 17: /// TODO: eventually we should have just one parser. Once will be confident enough with this one, we can make the base class abstract. - line 70: // TODO: need to change the scanner to use StringId instead of string. - line 199: // TODO: While disabling this for now is fine, '/' denotes the root path of every absolut Unix path and can't be misused as char Public/Src/Utilities/PackedTable/RelationTable.cs (3 lines): - line 30: /// TODO: remove this restriction. - line 96: /// TODO: extend this to support skipping IDs without having to call for every non-related ID. - line 180: // TODO: error check that there are no zero entries in m_relations Public/Src/Tools/SandboxedProcessExecutor/Executor.cs (3 lines): - line 217: // TODO: Hack! Hack! - line 263: // TODO: Custom DetoursEventListener? - line 291: // TODO: Custom DetoursEventListener? Public/Src/Utilities/PackedTable/MultiValueTable.cs (3 lines): - line 113: // TODO: make a way to reorder it! - line 188: /// TODO: allow more flexible building. - line 219: /// TODO: create a way to re-order a MultiValueTable. Public/Src/Cache/ContentStore/Distributed/NuCache/LocalLocationStore.cs (3 lines): - line 1080: // TODO: Its probably possible to do this by getting the max machine id in the locations set rather than enumerating all of them (bug 1365340) - line 2246: // TODO: Setting machine state to DeadUnavailable is too aggressive as the machine may not shutdown immediately. - line 2352: // TODO: Use real versioning scheme for updates to resolve possible race conditions and Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/TypeExtensions.cs (3 lines): - line 20: /// TODO:SQ: Fix for possible union type (IUnionType) - line 35: /// TODO:SQ: Fix for possible union type (IUnionType) - line 44: // TODO: switch checks. Use direct cast first and then check union case. But measure first. Public/Src/IDE/Generator.Old/CsprojFile.cs (3 lines): - line 76: // TODO: If there are multiple CSC processes in the same spec file (which can - line 250: // TODO: Find the compiled item (e.g., ) and set its 'DependentUpon' metadata. - line 340: // TODO: There should be only one assembly name for a csproj file Public/Src/FrontEnd/Sdk/Workspaces/Core/Failures/WorkspaceFailure.cs (2 lines): - line 18: // TODO: this file is becoming too big, consider splitting into multiple files based on logical grouping. - line 411: /// TODO: consider adding better provenance information (even though these type of Public/Src/FrontEnd/Script/Ast/PrettyPrinter.cs (2 lines): - line 221: // TODO: Decide whether the elements should be listed or written next to each other based on the text length instead of the number of elements. - line 1047: // TODO: consider adding const/non-const flags to VarStatement. Public/Src/Engine/Dll/InputTracker.cs (2 lines): - line 44: /// TODO: Make EnvironmentVariables and paths machine independent - line 336: // TODO: Right now, DScript enumerates a directory and then calls this method to track the directory. Public/Src/IDE/Generator/IdeGenerator.cs (2 lines): - line 131: // TODO: Merging doesn't work for vcxproj or any proj with multiple qualifiers, e.g., there are duplicate entries in . - line 132: // TODO: Fix me! Public/Src/Engine/Dll/Distribution/RemoteWorker.cs (2 lines): - line 219: // TODO: We could not send the hashes; so it is hard to determine what files and directories are added to AvailableHashes. - line 1029: // TODO: Make worker reported time nested under AwaitRemoteResult operation Public/Src/Cache/VerticalStore/BuildCacheAdapter/BuildCacheUtils.cs (2 lines): - line 25: // TODO: Remove check when all clients are updated with unified Dedup flag - line 48: // TODO: Once write-behind is implemented send a contentstorefunc down to the create. Public/Src/FrontEnd/Script/Ambients/Transformers/Arguments.cs (2 lines): - line 88: // TODO: to save space we can potentially use C-style union types that will use the same space - line 242: // TODO: think about generialized way of dealing with union types! Public/Src/FrontEnd/Script/Ast/Expressions/UnaryExpression.cs (2 lines): - line 116: // TODO: In the future we may want to only allow spread operator inside arrays or function calls. - line 122: // TODO: add default case. Throw there or report an error gracefully! Public/Src/FrontEnd/Script/Evaluator/Profiling/ProfilerDecorator.cs (2 lines): - line 19: /// TODO: Add exclusive time. This needs a slightly larger infrastructure change or a more complicated tracking mechanism here - line 69: // TODO: we could try something out if memory turns out to be a problem. Public/Src/Utilities/Configuration/IStartupConfiguration.cs (2 lines): - line 27: // TODO: Consider if we should just rename AllowedEnvironmentVars and support default values for them. - line 34: // TODO: We probably want a way to specify an instance as well, perhaps overload the parsing. Use a named qualifier if starting with alphanumeric. Use an instance when starting with "{"? Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/SummaryAnalyzerTextWriter.cs (2 lines): - line 508: // TODO: allo adding prefix : SourceNamespace,Island,BuildName,Branch,BuildDate,ComputerName,Architecture, - line 551: // TODO: add removed dependencies in output Public/Src/Sandbox/MacOs/App/Extension/ESClient.mm (2 lines): - line 26: // TODO: Implement proper protocol for XPC connection handling - line 141: TODO: Calling exit() within the system extension / daemon causes it to be killed and restarted, in general we have to Public/Src/IDE/Generator.Old/IdeGenerator.cs (2 lines): - line 126: // TODO: Merging doesn't work for vcxproj or any proj with multiple qualifiers, e.g., there are duplicate entries in . - line 127: // TODO: Fix me! Public/Src/IDE/VsIntegration/BuildXLVsPackageShared/HierarchyEventsHandler.cs (2 lines): - line 156: // TODO: check about BuildXL spec file - line 258: // TODO: check about BuildXL spec file Public/Src/FrontEnd/Script/Ast/Values/ObjectLiterals/ObjectLiteral.cs (2 lines): - line 238: // TODO: Optimize this for look-up miss cases (there can be tons of them). - line 384: // TODO: Still something better could be worked out when the result fits in an ObjectLiteralSlim (like sorting the keys first) so we avoid going to an intermediate dictionary Public/Src/Engine/Processes/SandboxConnection.cs (2 lines): - line 38: // TODO: remove at some later point - line 164: // TODO: Will we need this? Public/Src/IDE/LanguageServer/Utilities/DScriptFunctionSignature.cs (2 lines): - line 78: // TODO: Why doesn't this return true? - line 79: // TODO: signature.ResolvedReturnType.Flags.HasFlag(TypeFlags.Intrinsic)? Public/Src/Sandbox/MacOs/Interop/Sandbox/Data/Trie.cpp (2 lines): - line 106: // TODO: Make thread safe! - line 133: // TODO: Make thread safe! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Diagnostics/DiagnosticUtilities.cs (2 lines): - line 140: // TODO: Verify equivalence - return deduplicateSortedDiagnostics(diagnostics.sort(compareDiagnostics)); - line 241: // TODO: Verify equivalence! Public/Src/App/Bxl/AppServer.cs (2 lines): - line 805: // TODO: We hit this case, unfortunately, for the 'pipe busy' case as well as the 'no such pipe' case sometimes. - line 900: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Sandbox/MacOs/Sandbox/Src/BuildXLSandbox.hpp (2 lines): - line 53: * TODO: different clients can have different configurations, hence this should be kept per client. - line 60: * TODO: this should be kept per client. Public/Src/FrontEnd/Script/Modules/ModuleLiteral.cs (2 lines): - line 455: // TODO:ST: sounds reasonable to add "warning" if name was resolved but it is not exposed! - line 646: // TODO:ST: sounds reasonable to add "warning" if name was resolved but it is not exposed! Public/Src/IDE/VsCode/DebugAdapter/Protocol.cs (2 lines): - line 14: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 139: #pragma warning disable ERP022 // TODO: This should really catch the right exceptions Public/Src/FrontEnd/Script/Evaluator/ToStringConverter.cs (2 lines): - line 49: // TODO: We should not be able to get the string representation of a path atom as is. - line 50: // TODO: But some of our runners (e.g, resgen) do it. Public/Src/Cache/ContentStore/DistributedTest/Redis/Credentials/ExecutableConnectionStringProviderTests.cs (2 lines): - line 60: // TODO: User Story 1492406: Enable ExecutableConnectionStringProviderTests for macOS - line 79: // TODO: User Story 1492406: Enable ExecutableConnectionStringProviderTests for macOS Public/Src/FrontEnd/Sdk/Workspaces/SemanticModel/SemanticModel.cs (2 lines): - line 33: /// TODO: We should remove this member and force everyone to go through the semantic model - line 101: // TODO: remove the check. Public/Src/Cache/VerticalStore/Compositing/CompositingReadOnlyCacheSession.cs (2 lines): - line 97: // TODO: We should have our own to report out too... - line 123: // TODO: Implement content validation/remediation Public/Src/Utilities/Native/Streams/FileBuffer.cs (2 lines): - line 185: // TODO: Counter? - line 276: // TODO: Must handle partial flushes for writable AsyncFileStreams to work. Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/DiagnosticAnalyzer.cs (2 lines): - line 30: // TODO: the linter is instantiated many times with the same set of policy rules, which is the only parameter - line 117: // TODO: This needs to go!!!!! Public/Src/Cache/Logging/Library/AzureBlobStorageLog.cs (2 lines): - line 129: // TODO: this component doesn't have a quota, which could potentially be useful. If Azure Blob Storage - line 227: // TODO: retry policy for writing to file? Public/Src/FrontEnd/Core/Incrementality/WorkspaceFilter.cs (2 lines): - line 155: // TODO: need to check that file2file map is available and skip filtering otherwise. - line 194: // TODO: merge two 'GetFilesToInclude' methods into one. Public/Src/Engine/Processes/Containers/ProcessInContainerManager.cs (2 lines): - line 62: // TODO: In the future we need to consider input dependencies to make the isolation include them, not only outputs - line 271: // TODO: Enumeration will happen again when the file content manager tries to discover the content of the exclusive opaque. Consider doing this only once instead. Public/Src/FrontEnd/Sdk/Workspaces/Core/ModuleDefinition.cs (2 lines): - line 35: /// This is a V1 specific field. TODO: remove when DScript V2 becomes the norm - line 49: /// TODO: remove when DScript V2 becomes the norm Public/Src/IDE/LanguageServer/Utilities/UriExtensions.cs (2 lines): - line 100: /// TODO: Find a standardized way to do this. - line 101: /// TODO: This is taken from https://stackoverflow.com/questions/1546419/convert-file-path-to-a-file-uri Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Nodes/TypesUnion.cs (2 lines): - line 182: // TODO:SQ: Memory growth - The 4 fields below grow the memory of each node by 4 pointers - line 1704: // TODO: What is the difference between PropertyName and Name? Public/Src/App/Bxl/Tracing/Log.cs (2 lines): - line 735: // TODO:for an owner: why the type is serializable? We're not using BinaryFormatter here. - line 743: // TODO:for an owner: why the type is serializable? We're not using BinaryFormatter here. Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/InterpolationConverter.cs (2 lines): - line 214: //// TODO: Currently fragment is string literal. This somehow defeats the purpose of paths. - line 215: //// TODO: We need to find a syntactic representation of relative path that differs from string. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/declarationEmitter.ts (2 lines): - line 1091: // TODO: Deal with computed properties in error reporting. - line 1249: // TODO: Investigate why we are passing node.name instead of node.parameters[0].name Public/Src/Tools/PipExecutionAnalyzer/PipExecutionSimulator/Scheduler/PipRuntimeTimeTable.cs (2 lines): - line 25: // TODO: Loading and Saving involves a bunch of unnecessary copies. - line 148: // TODO: Once we have a platform where this actually happens, implement it! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Core/CoreUtilities.cs (2 lines): - line 109: // TODO: int to falsy - line 110: // TODO: string to falsy (empty string is falsy) Public/Src/IDE/VsCode/DebugAdapter/RemoteClientDebugger.cs (2 lines): - line 9: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 181: #pragma warning disable ERP022 // TODO: This should really catcht he proper exceptions Public/Src/IDE/Generator/CsprojFile.cs (2 lines): - line 261: // TODO: Find the compiled item (e.g., ) and set its 'DependentUpon' metadata. - line 358: // TODO: There should be only one assembly name for a csproj file Public/Src/Cache/ContentStore/Distributed/ContentLocations/MachineLocation.cs (2 lines): - line 133: // TODO: Keep the segments in the AbsolutePath object? - line 134: // TODO: Indexable structure? Public/Src/Tools/Execution.Analyzer/Analyzers.Core/CacheMiss/ConversionModel.cs (2 lines): - line 278: // TODO: This is wrong (loses the seal id but it probably doesn't matter since this isn't used for comparison) - line 305: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Sandbox/MacOs/Interop/Sandbox/EventProcessor.hpp (2 lines): - line 107: // TODO: Delete - line 149: // TODO: We can't mute processes when merging ES and detours events asynchronously without introducing some async callback Public/Src/Utilities/Utilities/FlaggedHierarchicalNameDictionary.cs (2 lines): - line 54: // TODO: Since we can atomically know the set of previous flags, it would be much nicer if we avoided - line 75: // TODO: Since we can atomically know the set of previous flags, it would be much nicer if we avoided Public/Src/FrontEnd/Script/Ast/Expressions/ApplyExpression.cs (2 lines): - line 296: // TODO: change Apply to take EvaluationResult but not objects! - line 304: // TODO: switch values to use EvaluationResult to avoid boxing. Public/Src/FrontEnd/SdkTesting/Helper/TestRunner.cs (2 lines): - line 76: // TODO: Fix this code once the frontend supports a proper virtual FileSystem. - line 77: // TODO: Change the package semantics to implicit when we expose a way to evaluate a single value Public/Src/Engine/Processes/SandboxedProcessFactory.cs (2 lines): - line 249: // TODO: This should be scheduled on a separate I/O pool with plenty of threads. - line 259: // TODO: move this to BuildXL.Native.Processes Public/Src/Utilities/Configuration/Mutable/UnsafeSandboxConfiguration.cs (2 lines): - line 20: // TODO: this is a temporarily flag. Take it out in few weeks. - line 31: IgnoreDynamicWritesOnAbsentProbes = DynamicWriteOnAbsentProbePolicy.IgnoreDirectoryProbes; // TODO: eventually change this to IgnoreNothing Public/Src/Engine/Processes/SandboxedProcessUnix.cs (2 lines): - line 198: // TODO: Full process tree observation is currently only supported on Linux based systems. macOS support will be added later. - line 691: // TODO: check if the tests are overspecified because in practice BuildXL doesn't really rely much on the outcome of this check Public/Src/Engine/Processes/SandboxConnectionLinuxDetours.cs (2 lines): - line 82: private readonly Dictionary m_pathCache; // TODO: use AbsolutePath instead of string - line 542: // TODO: the ROOT_PID env var is a temporary solution for breakway processes Public/Src/Sandbox/MacOs/Sandbox/Src/Kauth/TrustedBsdHandler.cpp (2 lines): - line 100: // TODO: We could take advantage of knowing what's on critical path, and not slow down those processes - line 105: // TODO: this should be configurable via FAM Public/Src/FrontEnd/Sdk/Workspaces/Core/SemanticWorkspaceProvider.cs (2 lines): - line 70: // TODO: This is temporary and should be removed!!! - line 79: // TODO: Observer that these numbers will monotonically increase! Consider resetting and type check from scratch when they get too big Public/Src/Tools/Execution.Analyzer/Analyzers.Core/CacheMiss/CacheMissAnalyzer.cs (2 lines): - line 648: // TODO: Emit pip graph filesystem existence - line 865: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/DScript/ParsingOptions.cs (2 lines): - line 42: public /*TODO: sealed */ class ParsingOptions - line 99: /// This is mainly Office-specific. TODO: remove when Office is moved to V2 Public/Src/Utilities/Native/Streams/AsyncFileStream.cs (2 lines): - line 223: // TODO: Consider FailFast for the !disposing (finalizer) case. - line 240: // TODO: Shouldn't drop the read buffer unless seeking to a new position. Public/Src/FrontEnd/Sdk/Package.cs (2 lines): - line 25: /// TODO: unify with ModuleId - line 32: /// TODO: Remove that and keep a reference to the module Pip instead. Public/Src/Engine/Dll/Tracing/Log.cs (2 lines): - line 3007: /// TODO: This is only here as a way for the string to get to the log file. EventSource encodes enums as int - line 3028: /// TODO: This is only here as a way for the string to get to the log file. EventSource encodes enums as int Public/Src/Sandbox/Windows/DetoursServices/DetouredFunctions.h (2 lines): - line 338: // TODO:add CreateFileMapping* - line 589: // TODO:add the following APIs Public/Src/Utilities/Utilities/AbsolutePath.cs (2 lines): - line 162: // TODO: But in the case of \\?\C:\foo\..\bar or \\?\C:\foo\\\bar we need to consider preserving the semantics that GetFullPathNameW canonicalization does not apply. - line 176: // TODO: Maybe like UNC paths we need just insert components like "\\?\C:". But the algebra would be tricky - what if we add a component to \\?\C: Public/Src/Cache/VerticalStore/MemoizationStoreAdapter/MemoizationStoreAdapterCacheReadOnlySession.cs (2 lines): - line 123: // TODO: Extend IAsyncEnumerable up through EnumerateStrongFingerprints - line 281: // TODO: Implement content validation/remediation Public/Src/Utilities/Collections/StructTuple.cs (2 lines): - line 336: /// TODO: Would be nice to instead have a safe variant of EqualityComparer{T}.Default instead of these constraints. Hard to use enums, etc. - line 407: /// TODO: Would be nice to instead have a safe variant of EqualityComparer{T}.Default instead of these constraints. Hard to use enums, etc. Public/Src/Sandbox/MacOs/App/Extension/main.mm (2 lines): - line 8: // TODO: Get rid of the global state once the prototype is more mature - line 141: // TODO: Get ESClient mappings implemented to do proper cleanup, also an invalidated connection error is the default when the client exits. Public/Src/FrontEnd/Script/Evaluator/DisplayStringHelper.cs (2 lines): - line 194: // TODO: this is inherently unsafe and can throw for many reasons because it requires that type.Name is a valid identifier! - line 291: // TODO:ST: remove hardcoded values! Move them to ObjectToString. Public/Src/Cache/ContentStore/Library/Service/Grpc/GrpcContentServer.cs (2 lines): - line 287: /// TODO: Handle targeting of different stores. (bug 1365340) - line 719: // TODO: consider passing a special error code for cancellation. Public/Src/Tools/BxlScriptAnalyzer/Utilities/GotoDefinitionHelper.cs (2 lines): - line 34: // TODO: consider special hint/message if the current node is a template expression with interpolated expressions. - line 53: // TODO: saqadri - Port Public/Src/FrontEnd/Script/Ast/Expressions/Qualifiers/QualifierUtilities.cs (2 lines): - line 43: // TODO: the following check is an optimization to avoid redundant work. - line 82: /// TODO: improve error reporting by adding the location of the qualifier type declaration of the target module Public/Src/Cache/MemoizationStore/Vsts/Http/BuildCacheHttpClientFactory.cs (2 lines): - line 54: verifyConnectionCancellationToken: CancellationToken.None); // TODO: Pipe down cancellation support (bug 1365340) - line 80: verifyConnectionCancellationToken: CancellationToken.None); // TODO: Pipe down cancellation support (bug 1365340) Public/Src/Engine/Processes/ReportTypeExtensions.cs (2 lines): - line 25: /// TODO: BUG1903935 - line 43: // TODO: || reportType == ReportType.AugmentedFileAccess; Public/Src/FrontEnd/Sdk/Workspaces/Checker/WorkspaceChecker.cs (2 lines): - line 17: /// TODO: this will be eventually split into symbol binding and type checking, but for now Checker is a monolithic entity - line 24: /// TODO: Consider exposing an AbsolutePath as part of ISourceFile. We are doing to many conversions back and forth between string and AbsolutePath Public/Src/Cache/ContentStore/Library/Stores/QuotaManagement/QuotaKeeper.cs (2 lines): - line 746: // TODO: check that reservation was never called with -1 sizes. - line 747: // TODO: add a comment that the order matters. Public/Src/App/Bxl/HelpText.cs (2 lines): - line 179: // TODO: This option is DScript only. It isn't shown in the help text because we have the goal of - line 1307: // TODO: Dynamic RunCheckInTests.cmd (2 lines): - line 53: REM TODO: this list contains temporary nowarns as we tighten down the language and until specs are updated to the latest syntax - line 372: REM TODO: Uncomment when these restrictions are relaxed. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Number.cs (2 lines): - line 246: // TODO: Verify equivalence! - line 282: // TODO: this implementation coudl be very naive right now! Public/Src/FrontEnd/Utilities/FrontEndUtilities.cs (2 lines): - line 224: // TODO: does it make sense to consider enumerations, or as a result the graph will be too unstable? Does it matter for MsBuild graph construction? - line 450: /// TODO: This is DSCript V1 behavior we couldn't get rid of Public/Src/Cache/ContentStore/Vfs/VfsContentManager.cs (2 lines): - line 35: // TODO: Track stats about file materialization (i.e. how much content was hydrated) - line 162: // TODO: Faster path for getting size of file. Also would be good to batch somehow. Public/Src/Cache/ContentStore/Interfaces/Sessions/ContentSessionExtensions.cs (2 lines): - line 162: // TODO: Fix this to work with size > int.Max (bug 1365340) - line 236: // TODO: Fix this to work with size > int.Max (bug 1365340) Public/Src/FrontEnd/Script/ConfigurationProcessing/ConfigurationConversionHelper.cs (2 lines): - line 203: // TODO: File bug to ensure we fail on errors. - line 332: /// TODO: consider reusing a single prelude manager for all configuration conversion tasks, Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/ModuleResolution/ImportPathHelpers.cs (2 lines): - line 14: // TODO: this is a good candidate for moving outside the parser! - line 110: // TODO:ST: see Parser.cs:907 (method TryJoinPathExpression). Is it correct? Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/Parser.ts (2 lines): - line 4269: // TODO: Review for error recovery - line 5680: // TODO: Parse string literal types in JSDoc as well. Public/Src/Engine/Scheduler/ExecutionResult.cs (2 lines): - line 20: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! - line 26: /// TODO: Capture and serialize/deserialize file access violations. Public/Src/FrontEnd/Script/RuntimeModel/RuntimeModelFactory.cs (2 lines): - line 227: // TODO: change to a regular BuildXLWriter when we start serializing the qualifier table - line 257: // TODO: change to a regular BuildXLReader when we start serializing the qualifier table Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/Rules/V2/EnforceQualifierDeclarationRule.cs (2 lines): - line 138: // TODO: This requirements should be relaxed when we fully implement default qualifier keys - line 148: // TODO: Uncomment when we start supporting this at runtime Public/Src/Cache/DistributedCache.Host/Service/Internal/MultiLevelReadOnlyContentSession.cs (2 lines): - line 136: // TODO: decide if we want to pin on the backing session as well. The issue here is as follows: on the use- - line 146: // TODO: decide if we want to pin on the backing session as well. The issue here is as follows: on the use- Public/Src/Tools/BxlScriptAnalyzer/Program.cs (2 lines): - line 92: // TODO: Don't assume particular hash types (this is particularly seen in WorkspaceNugetModuleResolver.TryGetExpectedContentHash). - line 128: // TODO: Make this multi-threaded. For now since we are developing keeping simple loop to maintain easy debugging. Public/Src/Engine/Scheduler/Caching/PipTwoPhaseCache.cs (2 lines): - line 202: // TODO: Do we need these fingerprints given that the metadata hash is provided by this interface in the first place - line 257: // TODO: Do we need this fingerprint given that the path set hash is provided by this interface in the first place Public/Src/FrontEnd/Script/Ast/Values/Thunk.cs (2 lines): - line 63: /// TODO: FixMe. This property makes little sense in the presence of qualifiers. - line 545: // TODO: use ref struct and pass it by in once migrated to C# 7.2 Public/Src/FrontEnd/Sdk/FrontEndContext.cs (2 lines): - line 75: fileSystem ?? new PassThroughFileSystem(pathTable), // TODO: Consider moving this entire function into test helpers and then use the test file system. - line 84: /// TODO: We still need to solve Debugging the pathTable/StringTable properly. This is on the backlog, so we have a temp workaround here. Public/Src/Cache/ContentStore/Distributed/NuCache/EventStreaming/EventHubContentLocationEventStore.cs (2 lines): - line 196: // TODO: Verify that the HResult is 50002. Documentation shows that this should be the error code for throttling, - line 460: // TODO: Make these async (bug 1365340) Public/Src/Tools/MaterializationDaemon/MaterializationDaemon.cs (2 lines): - line 440: // TODO: add counter to measure the time spent getting dir content - line 464: // TODO: Consider doing filtering on the engine side Public/Src/FrontEnd/Sdk/Workspaces/Core/ModuleParsingQueue.cs (2 lines): - line 604: // TODO: if the spec we are parsing belongs to the prelude, we override the automatic export namespace configuration for that spec to false. This is a temporary hack! - line 616: // TODO: consider splitting the parsing options into UserConfigurableParsingOptions and ParsingOptions Public/Src/Engine/Dll/ConfigFileState.cs (2 lines): - line 86: // TODO: Write everything else instead of doing it in many different places? - line 119: // TODO: Read everything else instead of doing it in many different places? Public/Src/Utilities/Storage/ContentHashingUtilities.cs (2 lines): - line 104: /// TODO: This is IDisposable but is used so prevalently, leaving the IDisposable dangling is better than - line 367: // TODO: Specify a small buffer size here (see HashFileAsync(SafeFileHandle)) Public/Src/Utilities/Utilities/Tracing/TaskBarInterop.cs (2 lines): - line 20: // TODO:for the owner: the following const is not used. Please remove. - line 48: #pragma warning disable ERP022 // TODO: This should really catch the right exceptions Public/Src/Engine/Dll/SnapshotCollector.cs (2 lines): - line 287: // TODO: Report error. - line 462: // TODO: We need to add support for RSP files to be precise Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Nodes/NodeExtensions.cs (2 lines): - line 278: // TODO: unify this implementation with TryCast behavior. - line 443: // TODO:ST: consider better design for optional named stuff. Public/Src/FrontEnd/Script/Ast/Expressions/Expression.cs (2 lines): - line 39: // TODO: move this to EvaluationResult itself. - line 65: // TODO: This section can be deprecated because undefined is no longer evaluated to null. Public/Src/FrontEnd/Sdk/Workspaces/Core/ReferenceResolution/ModuleReferenceResolver.cs (2 lines): - line 18: /// TODO: When DScript V2 becomes the norm, internal references will be gone. Consider removing that functionality from this class at that point. - line 115: // TODO: Consider a more specific failure stating that the reference is malformed (from a path point of view) Public/Src/FrontEnd/Nuget/NugetSpecGenerator.cs (2 lines): - line 366: // TODO: This is a terrible hack but we have same-named incompatible modules from the cache, this was the only workaround to get it working - line 373: // TODO: Support multiple SxS versions, so this dependency would be the direct dependency. Public/Src/Cache/ContentStore/Library/Stores/FileSystemContentStore.cs (2 lines): - line 105: // TODO: Stop using the configurationModel's SingleInstanceTimeout (bug 1365340) - line 196: // TODO: add cancellation support for EnumerateContentInfoAsync Public/Src/FrontEnd/Script/RuntimeModel/FunctionScope.cs (2 lines): - line 159: // TODO: next statment will fail even for valid names. - line 221: /// This function is used only by the debugger. TODO: reconsider the design to avoid exposing this function. Public/Src/IDE/LanguageServer/Providers/HoverProvider.cs (2 lines): - line 123: // TODO: support cancellation - line 173: // TODO: Not sure why GetSymbolAtLocation isn't enough Public/Src/Utilities/Instrumentation/Common/LoggingContext.cs (2 lines): - line 149: // TODO: we want to always have a component info for debugging purposes. - line 260: stringBuilder.Append(LoggerComponentInfo ?? ""); // TODO: remove the null check if the constructor checks for not-null Public/Src/IDE/Debugger/DScriptDebugerRenderer.cs (2 lines): - line 119: // TODO: path, package, and parent are not projectable from a module literal, but very useful for debugging. - line 122: // TODO:ST: hide module instantiation from the clients! Public/Src/Sandbox/MacOs/Sandbox/Src/FileAccessManifest/FileAccessManifestParser.cpp (1 line): - line 104: // For now we just skip the list of processes to breakaway. TODO: a future implementation may consider these Public/Src/Pips/Dll/Graph/LockManager.cs (1 line): - line 334: // TODO: Implement better ConcurrentBag that doesn't allocate on every add. Public/Src/Cache/DistributedCache.Host/Configuration/LocalCasSettings.cs (1 line): - line 96: /// TODO: Remove DataMemberAttribute and setter. Public/Src/Engine/Scheduler/DirectoryMembershipFingerprinter.cs (1 line): - line 18: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/BuildStatus.cs (1 line): - line 15: // TODO: Generate CSV summary output, html output tables with suspect summary Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/Utilities.ts (1 line): - line 534: // TODO: TaggedTemplateExpressions may eventually support type arguments. Public/Src/Engine/Scheduler/Fingerprints/ObservedInput.cs (1 line): - line 12: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/ContentStore/Hashing/DedupIdentifier.cs (1 line): - line 61: (byte)NodeAlgorithmId.Node64K); // TODO: We need to fix this. Public/Src/Utilities/Collections/ConcurrentPriorityQueue.cs (1 line): - line 24: // TODO: Consider a better implementation that doesn't have a global lock Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/ModuleResolution/PathResolver.cs (1 line): - line 13: /// TODO: add more detailed error messages when paths don't look as expected and propagate message upstream. Public/Src/FrontEnd/Script/Util/LocationUtilities.cs (1 line): - line 9: // TODO: We need to clean up the use of these different location classes. Public/Src/IDE/VsCode/DebugAdapter/Handles.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/Script/V2QualifiersConverter.cs (1 line): - line 54: // TODO: this needs to be removed once semantic evaluation will work only with new qualifiers. Public/Src/Engine/Scheduler/Graph/PipGraphFragmentBuilder.cs (1 line): - line 213: // TODO: This is a copy from PipGraph.Builder. Refactor it! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Extensions/StringExtensions.cs (1 line): - line 35: // TODO: Optimize Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Incrementality/SpecBindingAnalyzer.cs (1 line): - line 1130: // TODO: This function is not very performant and generates a lot of memory traffic Public/Src/IDE/VsCode/DebugAdapter/Commands.cs (1 line): - line 9: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/IDE/LanguageServer/Providers/ExecuteCommandProvider.cs (1 line): - line 94: // TODO: support cancellation Private/Wdg/ExecutionLogSdk/ExecutionLog.cs (1 line): - line 1047: // TODO: This method is a little bit "spaghetti" like, consider breaking it up. Public/Src/IDE/Generator/VcxprojFile.cs (1 line): - line 56: // TODO: After fixing the qualifier in the DS, I will start using the qualifier id instead of friendly qualifier name Public/Src/Engine/Scheduler/Performance/HistoricPerfDataTable.cs (1 line): - line 22: // TODO: Loading and Saving involves a bunch of unnecessary copies. Public/Src/Utilities/Utilities/Qualifier/QualifierSpace.cs (1 line): - line 375: // TODO: Consider adding a more specific exception for the no defaults case Public/Src/Cache/VerticalStore/BasicFilesystem/BasicFilesystemCacheSession.cs (1 line): - line 667: #pragma warning disable ERP022 // TODO: This should really handle specific errors Shared/Scripts/kusto/CloudBuild-Performance.csl (1 line): - line 24: | join kind=leftouter ( // TODO: don't know why I needed ot use leftouter.... Public/Src/Cache/MemoizationStore/Vsts/BuildCachePublishingSession.cs (1 line): - line 173: // TODO: concurrency? Public/Src/Engine/Dll/FrontEndEngineImplementation.cs (1 line): - line 72: /// TODO: Include module id as part of the key. Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/Rules/EnforceConstOnEnumRule.cs (1 line): - line 35: // TODO: this behavior should be replaced with new enum syntax (non-const syntax declaration with const behavior) Public/Src/Engine/Cache/Fingerprints/StrongContentFingerprint.cs (1 line): - line 118: /// TODO: The generic fingerprint type can go away as soon as we *only* do two-phase (weak -> strong) lookups; Public/Src/Cache/ContentStore/Distributed/NuCache/MachineId.cs (1 line): - line 42: // TODO: Make this an extension method (bug 1365340) Public/Src/Utilities/PackedExecution/DirectoryTable.cs (1 line): - line 191: /// TODO: consider failing if this happens? Public/Src/Cache/VerticalStore/VerticalAggregator/VerticalCacheAggregator.cs (1 line): - line 307: // TODO: Consider if we should use a hashset to ensure we don't return the same session twice. Today we can return the same Public/Src/Cache/DistributedCache.Host/Service/Internal/MultiplexedContentStore.cs (1 line): - line 26: // TODO: move it to the library? Public/Src/Pips/Dll/Filter/ClosureFunctionFilter.cs (1 line): - line 11: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/JavaScript/JavaScriptResolver.cs (1 line): - line 487: // TODO: consider revisiting this and keeping track of individually evaluated projects, so partial Public/Src/IDE/VsCode/DebugAdapter/Datatypes.cs (1 line): - line 8: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Incrementality/ISourceFileBindingState.cs (1 line): - line 17: /// TODO: replace with a property once AbsolutePath is properly introduced in ISourceFile Public/Src/Pips/Dll/Graph/IPipGraphFragmentManager.cs (1 line): - line 15: /// TODO: Should this implement ? Public/Src/Utilities/Native/Processes/Windows/ProcessUtilities.Win.cs (1 line): - line 211: // TODO: Enforce this postcondition. Public/Src/FrontEnd/Sdk/IResolver.cs (1 line): - line 41: /// TODO: This is an intermediate step. An actual solution can store 'resolver' into the parsed module itself Public/Src/Engine/Dll/Engine.FrontEnd.cs (1 line): - line 268: // TODO: This logs an error if it fails. We are assuming some later thing will ensure that, if failed, Public/Src/Engine/Scheduler/IDirectoryMembershipFingerprinter.cs (1 line): - line 9: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/DistributedCache.Host/Service/Deployment/DeploymentService.cs (1 line): - line 109: // TODO [LANCEC]: Consider returning prior deployment until all files are uploaded. Public/Src/FrontEnd/Script/Ast/Expressions/Qualifiers/WithQualifierExpression.cs (1 line): - line 130: // TODO: This can be made more efficient by talking with the qualifier table directly Public/Src/Sandbox/MacOs/Sandbox/Src/Kauth/AccessHandler.hpp (1 line): - line 26: // TODO: Can we solve this nicer? Maybe pass a function pointer to SendAccessReport only? Public/Src/Sandbox/Windows/DetoursServices/PolicyResult.cpp (1 line): - line 95: // TODO: Could have a ReportFileAccess overload instead. Public/Src/Pips/Dll/PipExecutionPerformance.cs (1 line): - line 36: // TODO: This doesn't seem to be the right place for WorkerId. Move it to a more appropriate class (PipResult?) Public/Src/Utilities/Collections/SortedReadOnlyArray.cs (1 line): - line 70: Contract.Requires(start >= 0); // TODO: shouldn't be necessary given Range.IsValid above, but the contract checker insists Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/TypeImplementations.cs (1 line): - line 422: // TODO: add a comment! Public/Src/Sandbox/Windows/DetoursTests/ShortNames.cpp (1 line): - line 97: // TODO: Could scrub FILE_ID_BOTH_DIR_INFO too (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364226(v=vs.85).aspx) Public/Src/Cache/ContentStore/App/CacheService.cs (1 line): - line 36: /// TODO: Add command line args with HostParameters and ServiceLifetime args so that Public/Src/Engine/Dll/CacheInitializer.cs (1 line): - line 278: // TODO: Ideally this would be exposed as config constructor parameters to BuildXL to not require manipulating the json config. Public/Src/Cache/ContentStore/InterfacesTest/Hashing/DedupNodeContentHasherTests.cs (1 line): - line 106: // TODO: Chunk size optimization - consider re-enabling this *new* proposed assert. Public/Src/Utilities/Configuration/Mutable/DistributionConfiguration.cs (1 line): - line 23: VerifySourceFilesOnWorkers = false; // TODO: For testing purposes, this is going to be disabled by default. Update in the future to be enabled by default Public/Src/FrontEnd/Sdk/Workspaces/IWorkspaceModuleResolver.cs (1 line): - line 92: /// TODO: this restriction (or design in general) should be changed to avoid such a complicated and fragile restrictions. Public/Src/Utilities/Utilities/ParallelAlgorithms/ActionBlockSlim.cs (1 line): - line 47: // TODO ST: Add tests to check the capacity limiting logic. Public/Src/Utilities/Utilities/HexHelper.cs (1 line): - line 13: /// TODO: Unify with HexUtilities on the cache side Public/Src/Cache/ContentStore/Distributed/NuCache/RedisGlobalStore.cs (1 line): - line 175: // TODO ST: now this operation may fail with TaskCancelledException. But this should be traced differently! Public/Src/Engine/Processes/ObservedFileAccess.cs (1 line): - line 84: // TODO: We put the CompactSet first since it contains a reference and so should be pointer-aligned. The subsequent fields need only 4 byte alignment. Public/Src/Cache/ContentStore/Distributed/NuCache/LocalLocationStoreConfiguration.cs (1 line): - line 412: // TODO: Validate configuration before construction (bug 1365340) Public/Src/Engine/Dll/GraphFingerprinter.cs (1 line): - line 29: /// - The set of values to be built (TODO: This is relevant for the original value filtering, which is at evaluation time; all other filters apply after graph reload). Public/Src/Utilities/Native/IO/Unix/FileUtilities.Unix.cs (1 line): - line 696: // TODO: Change hardlink count return type to ulong. Public/Src/Cache/ContentStore/Distributed/NuCache/EventStreaming/ContentLocationEventDataSerializer.cs (1 line): - line 216: // TODO: Maybe a serialization format header. (bug 1365340) Public/Src/Engine/Scheduler/RunnablePipPerformanceInfo.cs (1 line): - line 17: /// TODO: Re-evaluate this class as this might eat a lot of memory. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Enums.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/CacheHitPredictor/CacheHitPredictor.cs (1 line): - line 126: // TODO: add these VSTS-related parameters to the optional list of parameters the analyzer can take Public/Src/Engine/Scheduler/Fingerprints/ObservedPathEntry.cs (1 line): - line 8: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/Script/Modules/ModuleBinding.cs (1 line): - line 20: /// TODO: Declaration.ModifierFlags is used to flag bindings as exports and it is shared with declarations. Consider refactor this into a binding-specific class and incorporate to ExportKind Public/Src/Engine/Scheduler/DirectoryMembershipFingerprinterRuleSet.cs (1 line): - line 14: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Pips/Dll/Graph/PipGraphBase.cs (1 line): - line 14: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Utilities/Interop/MacOS/Impl.Linux.cs (1 line): - line 368: // TODO: there is no reason for this hash computation to be done in native StringOperations.cpp Public/Src/Tools/Execution.Analyzer/Analyzers.Core/XlgDebugger/JPath/Evaluator.cs (1 line): - line 97: // TODO: this is not great as some structs (e.g., DirectoryMembershipHashedEventData) Public/Src/FrontEnd/JavaScript/JavaScriptPipConstructor.cs (1 line): - line 618: // TODO: add logging Public/Src/FrontEnd/Script/Ambients/TextEncoding.cs (1 line): - line 7: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Pips/Dll/PipResult.cs (1 line): - line 232: case PipResultStatus.NotMaterialized: // TODO: This is misleading; should account for eventual materialization. Public/Src/Utilities/Storage/Fingerprints/WellKnownContentHashes.cs (1 line): - line 23: /// TODO: policy around untracked files needs to change Public/Src/Cache/ContentStore/Library/Service/Grpc/GrpcCopyClient.cs (1 line): - line 45: /// TODO: Consolidate with GrpcClient to deduplicate code. (bug 1365340) Public/Src/IDE/LanguageServer/Providers/Completion/StringLiteral.cs (1 line): - line 190: // $TODO: Public/Src/FrontEnd/Script/Ambients/AmbientArray.cs (1 line): - line 472: // TODO: this optimization should happen during Ast Convertion, not here! Private/CloudTest/Gvfs/BasicGitOperationTests.cs (1 line): - line 24: // TODO: journal tracking inside a cloned gvfs repo is failing in CloudTest with Public/Src/Cache/ContentStore/Grpc/GrpcCoreOptionsCommon.cs (1 line): - line 127: // TODO: perhaps use attributes to denote the option -> name translation? Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/Rules/ForbidExportsInNamespace.cs (1 line): - line 26: // TODO: change to registering the export clause and walk up the parent when that becomes available Public/Src/Cache/DistributedCache.Host/Configuration/DistributedContentSettings.cs (1 line): - line 272: // TODO: file a work item to remove the flag! Public/Src/FrontEnd/Script/ConfigurationProcessing/ConfigurationProcessor.cs (1 line): - line 84: // TODO: user override is not really working now. Fix me! Shared/Scripts/kusto/functions/AnnotatedSessions2.csl (1 line): - line 119: // TODO - There should be some limit on when a build is bucketed with this since it may still be running Private/CloudStorePlayground/GrpcCopyTesting/CopyClient/CopyClient.cs (1 line): - line 280: // TODO: Also handle timeout Public/Src/Sandbox/Windows/DetoursTests/stdafx.cpp (1 line): - line 10: // TODO: reference any additional headers you need in STDAFX.H Public/Src/Utilities/Utilities/Possible.cs (1 line): - line 24: // TODO: this struct has a tons of code duplication with Possible Public/Src/Engine/Dll/OutputCleaner.cs (1 line): - line 74: // TODO:1011977 this is a hacky fix for a bug where we delete SourceSealDirectories in /cleanonly mode Public/Src/Pips/Dll/Filter/PathBasedFilter.cs (1 line): - line 9: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Engine/Dll/Distribution/PipResultSerializer.cs (1 line): - line 59: // TODO: ToArray is expensive here. Think about alternatives. Public/Src/Engine/Processes/SharedOpaqueOutputHelper.cs (1 line): - line 23: /// TODO: eventually we should unify this and use the same mechanism for all platforms, if possible. Public/Src/IDE/Generator/MsbuildFile.cs (1 line): - line 124: // TODO: Check whether this is the same BuildXL value as the other projects in this msbuild file Public/Src/Pips/Dll/Builders/ProcessBuilder.cs (1 line): - line 228: // TODO: change this once Unsafe mode is removed / no longer a default mode Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/FingerprintTextAnalyzer.cs (1 line): - line 213: // TODO: Allow specifying fingerprinting version on the command line Public/Src/Cache/ContentStore/Distributed/MetadataService/RocksDbContentMetadataDatabase.cs (1 line): - line 815: // TODO: We should evaluate whether compaction of entries is needed? Public/Src/Cache/ContentStore/Distributed/NuCache/DistributedCentralStorage.cs (1 line): - line 92: /// TODO: try to refactor this to use the same logic as ReadOnlyDistributedContentSession. Public/Src/Cache/ContentStore/Interfaces/Extensions/StreamExtensions.cs (1 line): - line 39: // TODO: suppressing this for now, but the clients need to respect that the result of this method may be null. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Scanning/CharacterCodes.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/ContentStore/Vsts/BackingContentStore.cs (1 line): - line 97: // TODO: Change DedupContentSession to use BackingContentStoreConfiguration Public/Src/Engine/Processes/ReportType.cs (1 line): - line 27: /// TODO: This report type is not used anywhere and is not supported by . Public/Src/Cache/Monitor/Library/Rules/Autoscaling/RedisInstanceBase.cs (1 line): - line 61: // TODO: error handling Public/Src/FrontEnd/Script/Ambients/AmbientDirectory.cs (1 line): - line 72: // TODO: fail if the input directory is not on a read-only mount. Public/Src/Tools/Execution.Analyzer/Analyzers.Core/CacheMiss/CacheDumpAnalyzer.cs (1 line): - line 269: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Engine/Dll/Distribution/WorkerPipExecutionService.cs (1 line): - line 514: // TODO: Should we skipped PostProcess when Process failed? In such a case then PipExecutor.ReportExecutionResultOutputContent should not be in PostProcess. Public/Src/FrontEnd/Core/Incrementality/ISpecDependencyProvider.cs (1 line): - line 90: // TODO: parallelize Public/Src/FrontEnd/Script/Ast/Values/ObjectLiterals/ArrayLiteral.cs (1 line): - line 119: // TODO:ST: Array has member length, but a["length"] will return undefined! Public/Src/Engine/Processes/ProcessDumper.cs (1 line): - line 223: // TODO: this would be quite a bit more robust if it checked the job object to get parent rather than Public/Src/Sandbox/Linux/detours.cpp (1 line): - line 359: auto check = bxl->report_access(__func__, event); // TODO: this step should only check permission without reporting anything if allowed Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Utilities/Utilities.cs (1 line): - line 17: // TODO: in typescript implementation this type is used only by the language service. This is a good candidate for being removed. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeChecking/SymbolDisplayBuilder.cs (1 line): - line 108: // TODO: check types to avoid redundant ToArray call. Public/Src/Cache/ContentStore/Interfaces/Results/PlaceFileResult.cs (1 line): - line 120: // TODO: why Code == ResultCode.Unknown is consider as success? Public/Src/FrontEnd/SdkTesting/Helper/TestPipPrinter.cs (1 line): - line 508: // TODO: What is the literal for null Public/Src/FrontEnd/Script/Ast/Statements/IfStatement.cs (1 line): - line 85: // TODO:ST: I don't think this condition is correct. Public/Src/Pips/Dll/Filter/ValueFilter.cs (1 line): - line 71: // TODO: Consider not allowing matching of non-public values. Public/Src/IDE/Generator.Old/MsbuildFile.cs (1 line): - line 118: // TODO: Check whether this is the same BuildXL value as the other projects in this msbuild file Public/Src/Engine/Cache/Fingerprints/SinglePhase/SinglePhaseFingerprintStoreAdapter.cs (1 line): - line 33: /// TODO: Single-phase lookup should be considered deprecated. Therefore, invest in moving to two-phase lookup rather than improving the bad 'replace' semantics in this shim. Public/Src/Utilities/Native/IO/Windows/SafeFindFileHandle.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/ContentStore/Library/Service/Grpc/GrpcRepairClient.cs (1 line): - line 18: /// TODO: Consolidate with GrpcClient to deduplicate code. (bug 1365340) Public/Src/Engine/Dll/MountsTable.cs (1 line): - line 636: // TODO: Does not adding on success == false change behavior Public/Src/Cache/ContentStore/Distributed/MetadataService/BlobEventStorageBase.cs (1 line): - line 63: // TODO: perhaps overwrite retry policy? Public/Src/IDE/LanguageServer/ProjectManagement/AddSourceFileToProjectProvider.cs (1 line): - line 267: // TODO: potentially we could have a glob call here, and what we can do this: Public/Src/IDE/VsIntegration/BuildXLVsPackageShared/ReferencesEventsHandler.cs (1 line): - line 152: // Full file path is required for libs (TODO: need to confirm) Public/Src/Engine/Scheduler/Tracing/ExecutionLog.cs (1 line): - line 12: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/AnalysisContext.cs (1 line): - line 123: // TODO: Create type safe registration. Public/Src/IDE/LanguageServer/Providers/CodeActionProvider.cs (1 line): - line 77: // TODO: support cancellation Public/Src/Engine/Scheduler/BuildSetCalculator.cs (1 line): - line 548: // TODO: If this method turns out to be the bottleneck, we can make it parallel later. Public/Src/FrontEnd/Script/Tracing/LogEvaluationEvents.cs (1 line): - line 50: /// TODO: eventually we should move out from this one and start using Public/Src/Cache/ContentStore/Vfs/VfsProgram.cs (1 line): - line 63: // TODO: Help text Public/Src/IDE/LanguageServer/Utilities/TextDocumentManager.cs (1 line): - line 117: // TODO: should we notify when the document is removed? Public/Src/Sandbox/Windows/DetoursServices/MetadataOverrides.h (1 line): - line 44: // TODO: Could scrub FILE_ID_BOTH_DIR_INFO too (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364226(v=vs.85).aspx) Public/Src/Pips/Dll/Filter/InputFileFilter.cs (1 line): - line 102: // TODO: If only directory dependencies matched, only include outputs from those directories Public/Src/Utilities/Storage/FileContentTable.cs (1 line): - line 411: // TODO: The contract below looks very nice but breaks tons of UT Public/Src/IDE/LanguageServer/Providers/CodeLensProvider.cs (1 line): - line 39: // TODO: support cancellation Public/Src/Cache/ContentStore/Distributed/NuCache/ClusterStateManagement/ClusterStateMachine.cs (1 line): - line 254: // TODO: binary search Public/Src/Utilities/Instrumentation/LogGen.Core/Generators/ManifestedEventSource.cs (1 line): - line 189: // TODO: Check if it is better (and possible) to trat enums as strings. What happens if the implementation disagrees with the manifest? Public/Src/IDE/VsIntegration/BuildXLVsPackageShared/SpecUtilities.cs (1 line): - line 685: // TODO: Need to discuss what are the other extensions that can be allowed Public/Src/Cache/ContentStore/Distributed/Stores/DistributedContentStore.cs (1 line): - line 480: // TODO: Consider compiling Item2's Diagnostics into the final result's Diagnostics instead of ErrorMessage (bug 1365340) Public/Src/Cache/ContentStore/VfsApplication/VfsProgram.cs (1 line): - line 63: // TODO: Help text Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Binder.cs (1 line): - line 140: // TODO: why an export binding needs a thunk by itself? It is at most a reference Public/Src/Utilities/Ipc/Common.Multiplexing/Request.cs (1 line): - line 85: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Utilities/Ipc/Common.Multiplexing/Response.cs (1 line): - line 71: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Cache/ContentStore/Hashing/DedupContentHasher.cs (1 line): - line 31: /// TODO: Chunk size optimization - centralize this when fixing BlobIdentifiers.cs Public/Src/Cache/MemoizationStore/Distributed/Stores/DistributedCache.cs (1 line): - line 136: // TODO: should print errors as well. Public/Src/Utilities/Storage/Tracing/Log.cs (1 line): - line 29: // ||| TODO: We should have well structured events like normal. As a stopgap, we've promoted some Console.WriteLine debugging to some single-string events. Public/Src/Cache/ContentStore/Hashing/NodeAlgorithmIds.cs (1 line): - line 65: // TODO: Chunk size optimization Public/Src/Utilities/Utilities/Tracing/PathTranslator.cs (1 line): - line 10: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Extensions/SymbolLinksExtensions.cs (1 line): - line 39: // TODO: Switch to GetOrSetAtomic if race condition will keep happening. Public/Src/Utilities/Native/Streams/Windows/IOCompletionManager.cs (1 line): - line 161: // TODO: We could set a recursion-limit to allow some fraction of repeated IOs to complete synchronously, without Public/Src/FrontEnd/Sdk/Workspaces/Core/ModuleUnderConstruction.cs (1 line): - line 57: /// TODO: we could consider associating spec parsing failures to the module as well (instead of, or on top of, adding it Shared/Scripts/kusto/OfficeBuildTimeline.csl (1 line): - line 197: // TODO: pull these stats below into the invocation details since they aren't specific to product build Public/Src/FrontEnd/Script/Ambients/AmbientFile.cs (1 line): - line 117: // TODO:ST: this block should use ExpectsOptionalPath?!? Public/Src/FrontEnd/Utilities/GenericProjectGraphResolver/ProjectGraphWorkspaceResolverBase.cs (1 line): - line 291: // TODO: we actually need the build parameters *used* by the graph construction process, but for now this is a compromise to keep Public/Src/FrontEnd/Script/Util/TypeConverter.cs (1 line): - line 185: // TODO: consider adding cashing here. Public/Src/Cache/MemoizationStore/Vsts/BuildCacheSession.cs (1 line): - line 122: // TODO: Split this out into separate implementations for WriteThrough vs. WriteBehind (bug 1365340) Public/Src/Tools/SymbolDaemon/Program.cs (1 line): - line 24: // TODO:#1208464 - this can be removed once SymbolDaemon targets .net 4.7 or newer where TLS 1.2 is enabled by default Public/Src/FrontEnd/Nuget/SyntaxFactoryEx.cs (1 line): - line 13: /// TODO: the type should be merged with SyntaxFactory in the next iteration. Public/Src/IDE/VsCode/DebugProtocol/Commands/LaunchCommand.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/Nuget/PackageRegistry.cs (1 line): - line 89: // TODO: the overall uniquness/aliasing thing should be improved. Public/Src/Engine/Scheduler/ExecutionSampler.cs (1 line): - line 10: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/Simulator/SimulationResult.cs (1 line): - line 64: // TODO: find out what this means! Public/Src/FrontEnd/Script/Ambients/AmbientStaticDirectory.cs (1 line): - line 44: // TODO: These two methods need to be deprecated. Public/Src/Sandbox/Windows/DetoursServices/PolicyResult.h (1 line): - line 91: // TODO: This is a poorly exercised and very exceptional path; for simplicity consider throwing (failfast exception?) Public/Src/FrontEnd/Ninja.Serialization/NinjaTarget.cs (1 line): - line 18: /// This is usually a phony node. TODO: Remove phony nodes Public/Src/Cache/ContentStore/Hashing/HashTypeExtensions.cs (1 line): - line 99: case HashType.DedupNode: // TODO: Chunk size optimization - remove this one entirely. Public/Src/Cache/VerticalStore/Analyzer/Extensions.cs (1 line): - line 158: int exclusive = (sortedList.Length * p) / 100; // TODO: this should interpolate... Public/Src/Engine/Cache/Fingerprints/WeakContentFingerprint.cs (1 line): - line 69: /// TODO: The generic fingerprint type can go away as soon as we *only* do two-phase (weak -> strong) lookups; Public/Src/Engine/Dll/Distribution/WorkerNotificationManager.cs (1 line): - line 170: // TODO: A better way of doing this without copying bytes. Public/Src/Engine/Dll/AppDeployment.cs (1 line): - line 187: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Utilities/Utilities/CachedTask.cs (1 line): - line 11: // TODO: this struct can leverage 'DontUseDefaultContstructorAttribute' from ErrorProne.NET because Public/Src/Utilities/Utilities/QualifierTableAgnosticWriter.cs (1 line): - line 18: /// TODO: This class could be removed when we start serializing the qualifier table Public/Src/Engine/Cache/Fingerprints/FileDownloadDescriptor.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Utilities/Utilities/Tracing/BaseEventListener.cs (1 line): - line 424: // TODO: It would be nice to call OnWarning(eventData); as a default action, but we cannot determine the type of event. Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/CosineJsonExport.cs (1 line): - line 253: // TODO: This is pretty expensive, as it loads all pips in memory Public/Src/FrontEnd/Script/Ambients/AmbientGlobal.cs (1 line): - line 113: // TODO:ST: add different set of function that will distinguish optional from required arguments! Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/ConstantEvaluator.cs (1 line): - line 111: // TODO:ST: TypeScript compiler supports Identifier, ElementAccessExpression and PropertyAccessExpression Public/Src/Cache/DistributedCache.Host/Configuration/LauncherSettings.cs (1 line): - line 65: /// TODO: Non-windows platforms? Public/Src/Cache/ContentStore/Library/Service/Grpc/GrpcClientBase.cs (1 line): - line 554: // TODO ST: I think it should be easier to track successful state, not an error state! Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/PipGraphExporter.cs (1 line): - line 238: // TODO: This is pretty expensive, as it loads all pips in memory Public/Src/Utilities/Utilities/QualifierTableAgnosticReader.cs (1 line): - line 15: /// /// TODO: This class could be removed when we start serializing the qualifier table Public/Src/IDE/LanguageServer/Providers/FormattingProvider.cs (1 line): - line 31: // TODO: support cancellation Public/Src/Cache/ContentStore/GrpcTest/ServiceClientContentSessionExpirationTests.cs (1 line): - line 191: // TODO: Failing locally during conversion Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/tsc.ts (1 line): - line 62: // TODO: Add codePage support for readFile? Public/Src/Cache/ContentStore/Distributed/MetadataService/ClientGlobalCacheStore.cs (1 line): - line 256: // TODO: What to log here? Public/Src/Cache/ContentStore/Distributed/NuCache/MachineIdSets/BitMachineIdSet.cs (1 line): - line 32: // TODO: consider switching to Span (bug 1365340) Public/Src/Utilities/Native/Processes/Unix/ProcessUtilities.Unix.cs (1 line): - line 124: => new byte[0]; // TODO: this is only used for communication between BuildXL and external sandboxed process, which we don't do yet on Unix systems. Public/Src/Cache/ContentStore/Distributed/MetadataService/ContentMetadataEventStream.cs (1 line): - line 572: // TODO: Log error Public/Src/Cache/ContentStore/Distributed/NuCache/CopyScheduler/PrioritizedCopyScheduler.cs (1 line): - line 443: // TODO: test this function Public/Src/Pips/Dll/Operations/Pip.cs (1 line): - line 24: /// TODO: Introduce some intermediate abstract classes, reflecting that only some pips have a provenance, and that only some pips have tags, and that only some pips have descriptions. Public/Src/Utilities/Configuration/Resolvers/IDScriptResolverSettings.cs (1 line): - line 16: /// TODO: Feel free to move it to the appropriate place. Public/Src/Utilities/Storage/AsyncFileFactory.cs (1 line): - line 24: /// TODO: Currently returns a platform specific concrete instance of Public/Src/Engine/Scheduler/SchedulerStats.cs (1 line): - line 12: /// TODO: In the future this can be used by the scheduler itself to keep track of its statistics. Public/Src/FrontEnd/Script/Ast/DisplayStringExtensions.cs (1 line): - line 47: // TODO: Fix me! Public/Src/FrontEnd/Script/Evaluator/EvaluationErrors.cs (1 line): - line 504: // TODO: print nested messages as well!! Public/Src/Cache/MemoizationStore/Distributed/Sessions/PublishingCacheSession.cs (1 line): - line 161: => _local.IncorporateStrongFingerprintsAsync(context, strongFingerprints, cts, urgencyHint); // TODO: we might want to also bump TTL on the remote. Public/Src/Utilities/Storage/DirectoryDeletionLock.cs (1 line): - line 146: // TODO: Should verify we opened a directory (FILE_ATTRIBUTE_DIRECTORY) Public/Src/Utilities/PackedExecution/ProcessExecutionTable.cs (1 line): - line 37: /* TODO: not capturing process args yet for fear they will blow up in storage. Look at a better encoding? Public/Src/Utilities/Utilities/TableAgnosticWriter.cs (1 line): - line 15: /// TODO: Reconsider this approach once perf measurements have been performed. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Utilities/ReadOnlyList.cs (1 line): - line 104: // TODO: can we leverage Array.Copy here? Public/Src/Utilities/Instrumentation/Tracing/Events/CloudBuildEvent.cs (1 line): - line 68: // TODO: When adding a new CloudBuild event, you have to add it to the GetType() method below Public/Src/FrontEnd/Sdk/Workspaces/Core/WorkspaceProvider.cs (1 line): - line 624: // TODO: switch to ValueTasks Public/Src/Utilities/Storage/VersionedFileIdentity.cs (1 line): - line 25: /// TODO: Strong vs. weak identities are distinguished via a . In the future, there may be a new kind for timestamp-based identity; Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Diagnostics/Errors.cs (1 line): - line 598: // TODO: dsc extension! Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/AllowlistAnalyzer.cs (1 line): - line 144: // TODO: Generally execution log analyzers shouldn't rely on textual log Public/Src/Cache/VerticalStore/Analyzer/ContentBreakdownAnalyzer.cs (1 line): - line 40: // TODO: This tool could be much improved by not retrieving content sizes Shared/Scripts/bxl.ps1 (1 line): - line 411: <# TODO: After unifying flags, remove if statement and hard-code dummy value into remoteCache #> Public/Src/FrontEnd/Script/Evaluator/EvaluationStackFrame.cs (1 line): - line 47: /// TODO: potentially we can use the same logic for 'ErrorValue' as well. Public/Src/Cache/ContentStore/InterfacesTest/Sessions/ContentSessionTests.cs (1 line): - line 39: /// TODO: Remove when all content stores implement bulk methods (bug 1365340) Public/Src/Engine/Cache/Fingerprints/PackageDownloadDescriptor.cs (1 line): - line 7: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/Script/Ast/Expressions/ArrayExpression.cs (1 line): - line 16: // TODO:ST: add a comment that will explain the difference between ArrayExpression and ArrayLiteral! Public/Src/FrontEnd/Sdk/IFrontEndArtifactManager.cs (1 line): - line 16: /// TODO: Ideally the front end should stop depending on the front end engine abstraction, whose public surface is already too big, and the functionality Public/Src/Cache/ContentStore/Distributed/ContentLocations/ContentHashWithSizeAndLocations.cs (1 line): - line 24: /// TODO: change the comment. It is stale. (bug 1365340) Public/Src/FrontEnd/Script/DScriptSourceResolver.cs (1 line): - line 245: // TODO: should the project be registered only when the parse is successful? Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Utilities/TextRange.cs (1 line): - line 19: // TODO:enable!!!!! This will breaks some Typescript tests. Private/CloudTest/Gvfs/TestBase.cs (1 line): - line 23: // TODO: if needed, override hardcoded locations with env vars Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/Rules/V2/ForbidPropertyAccessOnQualifierRule.cs (1 line): - line 46: // TODO: This is weird. It is actually a case where the kind of the node is PropertyAccessExpression but the node Public/Src/IDE/LanguageServer/Providers/SignatureHelpProvider.cs (1 line): - line 51: // TODO: support cancellation Public/Src/Utilities/ToolSupport/ToolProgram.cs (1 line): - line 76: // TODO: Promote the last-chance handler from BuildXLApp to here? Public/Src/Cache/VerticalStore/Compositing/CompositingCacheSession.cs (1 line): - line 81: // TODO [pgunasekara]: Add a cancellation token here Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Core/Path.cs (1 line): - line 413: // TODO: check! Public/Src/Cache/VerticalStore/InMemory/MemCacheSession.cs (1 line): - line 379: // TODO: Use CloudStore HashingStream when it can work with MemoryStream destination. Public/Src/IDE/Generator.Old/VcxprojFile.cs (1 line): - line 58: // TODO: After fixing the qualifier in the DS, I will start using the qualifier id instead of friendly qualifier name Public/Src/Utilities/Configuration/ICacheConfiguration.cs (1 line): - line 16: // TODO: Add Option for common config options for cache as literal object Public/Src/FrontEnd/Script/Ambients/AmbientPath.cs (1 line): - line 117: // TODO: Path.interpolate(x, y, z) is similar to x.combinePaths(y, z). The latter can be slightly more efficient because no look-up for "Path" identifier. Public/Src/Engine/Scheduler/Tracing/Log.cs (1 line): - line 1979: // TODO:[340919]: Unused / disabled for perf reasons. Re-enable at some point. Public/Src/Engine/Scheduler/PipStateManager.cs (1 line): - line 34: // TODO: Maybe remove on transition to terminal state? Public/Src/Cache/ContentStore/Distributed/NuCache/ClusterStateManagement/IClusterStateStorage.cs (1 line): - line 15: /// TODO: this exists because ClusterManagementStore implements IClusterManagementStore, and we don't want to Public/Src/IDE/VsCode/DebugAdapter/Events.cs (1 line): - line 6: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/SourceFileExtensions.cs (1 line): - line 90: // TODO: here we need to add checker diagnostics as well. Public/Src/FrontEnd/Script/Ambients/Core/PredefinedTypes.cs (1 line): - line 185: // TODO: Some microbenchmarking experiments. Public/Src/FrontEnd/MsBuild/BuildEnvironmentConstants.cs (1 line): - line 13: /// TODO: this constant and the related mspdbsrv.exe handling for compiling with /MP need to be moved to all C++ pips instead of just MSBuild pips. Public/Src/FrontEnd/Script/Ambients/AmbientContext.cs (1 line): - line 118: // Aliased to the same implementation. TODO: 'BuildXL' older naming intended to be deprecated and removed. Public/Src/FrontEnd/Nuget/NugetResolver.cs (1 line): - line 60: // TODO: We could do something smarter in the future and just download/generate what is needed Public/Src/Cache/ContentStore/Hashing/BlobIdentifierHelperExtensions.cs (1 line): - line 114: return new ContentHash(HashType.Dedup64K, blobId.Bytes); // TODO: Chunk size optimization Public/Src/Tools/Execution.Analyzer/Args.cs (1 line): - line 66: // TODO: Embed HashType in XLG file and update analyzer to use that instead of setting HashType globally. Public/Src/Pips/Dll/Filter/SpecFileFilter.cs (1 line): - line 11: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Engine/Scheduler/Distribution/ExecutionResultSerializer.cs (1 line): - line 107: // TODO: It looks like this is the wrong class for WorkerId, because the serialized object has always WorkerId == 0. Public/Src/Cache/MemoizationStore/Distributed/Stores/RedisMemoizationDatabase.cs (1 line): - line 34: /// TODO: Deprecate. This is superseded by via . Public/Src/Sandbox/MacOs/Interop/Sandbox/EndpointSecuritySandbox.cpp (1 line): - line 83: // TODO: Errors should fail sandboxing as it violates the invariant of total process observation Public/Src/Cache/ContentStore/Library/Stores/QuotaManagement/ElasticSizeRule.cs (1 line): - line 101: // TODO: CalibrateAsync method fails in tests all the time. Bug #1331905 Public/Src/Engine/Processes/Internal/AsyncPipeReader.cs (1 line): - line 237: // TODO: This is a bad thing to do, but is what the original AsyncStreamReader was doing. Public/Src/FrontEnd/Script/Ambients/AmbientRelativePath.cs (1 line): - line 65: // TODO: This is dengerous, but needed to unblock Office conversion, at least temporarily. Public/Src/Utilities/Utilities/TableAgnosticReader.cs (1 line): - line 15: /// TODO: Reconsider this approach once perf measurements have been performed. Public/Src/Engine/Cache/Artifacts/ContentAvailabilityResult.cs (1 line): - line 19: /// TODO: Should clarify that this definition lines up with BuildCache's. Should maybe separate network vs. local transfer. Public/Src/Cache/ContentStore/Vsts/BackingContentStoreExpiryCache.cs (1 line): - line 12: /// TODO: Clearing this cache relies on restart of the cache. We need to think of a better way to handle its unbounded growth, or at least add telemetry to track it. Public/Src/Pips/Dll/Filter/NegatingFilter.cs (1 line): - line 9: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/TextUtilities.cs (1 line): - line 292: // TODO: check that this map is correct! Public/Src/Utilities/Utilities/DefenderChecker.cs (1 line): - line 86: #pragma warning disable ERP022 // TODO: This should catch specific exceptions Public/Src/Cache/MemoizationStore/Library/Service/GrpcExtensions.cs (1 line): - line 36: // TODO: extra allocation! Public/Src/Utilities/Storage/ChangeTracking/TrackedFileContentInfo.cs (1 line): - line 23: /// TODO: Eventually, this may allow cancellation of tracking. Public/Src/Cache/ContentStore/Hashing/Chunker.cs (1 line): - line 61: (Environment.GetEnvironmentVariable("BUILDXL_TEST_FORCE_MANAGED_CHUNKER") != "1") && // TODO: Get rid of COM Chunker. Public/Src/Utilities/Utilities/Tracing/StandardConsole.cs (1 line): - line 8: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/DistributedCache.Host/Service/Deployment/DeploymentLauncherHost.cs (1 line): - line 73: // TODO: retry? Public/Src/Engine/Processes/Remoting/RemoteSandboxedProcessData.cs (1 line): - line 43: /// TODO: Since we will run OACR pips without sharing, this data may no longer be needed. Public/Src/FrontEnd/Script/Ambients/AmbientEnum.cs (1 line): - line 30: // TODO: prelude doesn't have this member. Public/Src/FrontEnd/Script/RuntimeModel/AstBridge/Linter/Rules/V2/ForbidLogicInProjectsRule.cs (1 line): - line 16: /// TODO: blocking exported lambdas might make sense for project files, but consider that other values Public/Src/Cache/ContentStore/Distributed/MetadataService/BlobWriteBehindEventStorage.cs (1 line): - line 49: // TODO: it would be good to have some kind of identifier for the checkpoint Public/Src/Cache/DistributedCache.Host/Service/Internal/MultiLevelContentStore.cs (1 line): - line 19: // TODO: move it to the library? Public/Src/Utilities/Configuration/ISandboxConfiguration.cs (1 line): - line 25: /// TODO: This is set via magic. Public/Src/Cache/ContentStore/UtilitiesCore/DDSketchUnboundedStore.cs (1 line): - line 19: // TODO: sorted dict? Public/Src/Cache/ContentStore/DistributedTest/Stores/DistributedContentCopierTests.cs (1 line): - line 355: // TODO: why the destination str Shared/Scripts/PR/StableFingerprints.cmd (1 line): - line 138: REM TODO: Uncomment when these restrictions are relaxed. Public/Src/IDE/VsCode/DebugProtocol/IDebugger.cs (1 line): - line 4: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Utilities/Configuration/IFrontEndConfiguration.cs (1 line): - line 224: /// TODO: remove this when Office is in DScript V2 Public/Src/Engine/Processes/FileAccessReportLine.cs (1 line): - line 120: // TODO: Task 138817: Refactor passing and parsing of report data from native to managed code Public/Src/Utilities/Utilities/BuildXLReader.cs (1 line): - line 343: // TODO: This can be optimized so a uint can represent both the partial seal id and the isSharedOpaque field Public/Src/Utilities/Utilities/Tracing/CounterCollection.cs (1 line): - line 52: /// TODO: This is somewhat wasteful on machines with many fewer than 64 cores. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/DScript/DScriptNodeUtilities.cs (1 line): - line 423: // TODO: move parsing-specific functionality from DScript.Ast here. We currently have some duplication. Public/Src/IDE/VsCode/DebugProtocol/Datatypes/IRequest.cs (1 line): - line 4: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/ContentStore/GrpcTest/HeartbeatServiceClientContentSessionExpirationTests.cs (1 line): - line 173: // TODO: Failing locally during conversion Public/Src/Pips/Dll/PipTable.cs (1 line): - line 723: // TODO: the 'debug' property should be serialized in "Serialize(BuildXLWriter, int)" and deserialized here Public/Src/FrontEnd/Script/WorkspaceResolvers/ModuleResolutionResult.cs (1 line): - line 17: /// TODO: This is a temporary structure that should be removed when module configuration logic is removed from IResolver Public/Src/Cache/VerticalStore/MemoizationStoreAdapter/CacheFailure.cs (1 line): - line 12: /// TODO: split out into more specific failure types Public/Src/Sandbox/MacOs/App/BuildXL/CoreCLR/coreruncommon.mm (1 line): - line 177: // TODO: consider using an env variable (if defined) as a fall-back. Public/Src/Tools/BxlScriptAnalyzer/Codex/CodexTypes.cs (1 line): - line 11: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Cache/ContentStore/Library/Utils/ReadOnlyMemoryExtensions.cs (1 line): - line 10: // TODO: this class should be moved to utilities eventually, but right now we don't have an utilities project that references System.Memory Public/Src/FrontEnd/Script/Ambients/Map/OrderedMap.cs (1 line): - line 24: /// TODO: In the future we can consider different semantics that fit our needs. Public/Src/FrontEnd/Script/Ast/Values/ObjectLiterals/ObjectLiteralN.cs (1 line): - line 35: // TODO:ST: consider hiding implementation details. IDictionary is mutable and could be harmful to expose. Public/Src/Cache/ContentStore/Distributed/MetadataService/GlobalCacheService.cs (1 line): - line 64: // TODO: instead of manually doing all of that we should make our helpers more efficient and as allocation free as possible. Work Item: 1883860 Public/Src/Engine/Cache/Fingerprints/TwoPhase/ITwoPhaseFingerprintStore.cs (1 line): - line 73: /// TODO: We only have this mode to support . Public/Src/Tools/Execution.Analyzer/Analyzers.Partner/CacheHitPredictor/GitFileChangeObservable.cs (1 line): - line 106: // TODO: revisit Public/Src/Engine/Scheduler/Fingerprints/UnsafeOptions.cs (1 line): - line 133: #pragma warning disable ERP022 // TODO: This should really handle specific errors Public/Src/Tools/BxlScriptAnalyzer/Codex/CodexReferenceVisitor.cs (1 line): - line 126: Contract.Assert(false, $"TODO: add message"); Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/Types/Implementations.cs (1 line): - line 368: // TODO: consider removing it. Public/Src/IDE/Debugger/BreakpointStore.cs (1 line): - line 227: // (TODO: consider using AbsolutePath as key) Public/Src/FrontEnd/Sdk/Evaluation/IModuleRegistry.cs (1 line): - line 9: // TODO: This is temporarily a marker interface to abstract away the Runtime model common to FrontEnds and DScript syntax. Public/Src/Utilities/Configuration/IEngineConfiguration.cs (1 line): - line 137: /// TODO: Not customer facing at this time. Intentionally not including this in help text Public/Src/Sandbox/MacOs/Detours/Detours.cpp (1 line): - line 381: // TODO: Explore ways to infer if the closed file was actually modified e.g. open() path/handle cache then lookup + mod time check on close? Public/Src/Utilities/Utilities/PageableStoreId.cs (1 line): - line 50: /// (TODO: Also implement option to write through items to disk as they are written, and release the memory eagerly.) Public/Src/Utilities/Utilities/FlaggedHierarchicalNameSet.cs (1 line): - line 45: // TODO: Since we can atomically know the set of previous flags, it would be much nicer if we avoided Public/Src/FrontEnd/Script/Tracing/LogPolicyEvents.cs (1 line): - line 64: // TODO: computing provenance here is not straightforward, but it'd good to add Public/Src/Engine/Scheduler/ApiServer.cs (1 line): - line 145: // TODO : Use an object pool for all these lists that are now flying around? Public/Src/Engine/Dll/Serialization/EngineSerializer.cs (1 line): - line 374: // TODO: We can improve performance significantly by parallelizing the compression. Public/Src/FrontEnd/Sdk/PackageDownloadResult.cs (1 line): - line 120: // TODO: add readonly once switched to a recent compiler with readonly structs. Public/Src/Utilities/Native/Processes/ProcessUtilities.cs (1 line): - line 203: /// - The new process does not inherit any handles (TODO: If needed, one could allow explicit handle inheritance here). Public/Src/Utilities/Utilities/Possible{TResult,TFailure}.cs (1 line): - line 171: /// TODO: Failure / Possible are good candidates for instrumentation (we could generically log them all as they are created to ETW). Public/Src/Utilities/Utilities/BuildParameters.cs (1 line): - line 42: // TODO: this should have the same value for all platforms. Public/Src/Cache/DistributedCache.Host/Service/Application/CacheServiceRunner.cs (1 line): - line 97: /// TODO: Add command line args with HostParameters and ServiceLifetime args so that Public/Src/Utilities/Storage/ChangeTracking/FileChangeProcessor.cs (1 line): - line 73: // TODO: Make a better design for many-to-many observable-observer relations. Public/Src/Engine/Scheduler/PipExecutionState.cs (1 line): - line 21: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/Tools/DropDaemon/Program.cs (1 line): - line 24: // TODO:#1208464- this can be removed once DropDaemon targets .net 4.7 or newer where TLS 1.2 is enabled by default Public/Src/Sandbox/Windows/DetoursServices/stdafx-unix-common.h (1 line): - line 26: // TODO: Fix this type Public/Src/FrontEnd/Script/Modules/UninstantiatedModuleInfo.cs (1 line): - line 72: /// TODO: Current instantiation logic is not very DScript V2 friendly. Public/Src/FrontEnd/Script/Ast/Expressions/Qualifiers/CoerceQualifierTypeExpression.cs (1 line): - line 126: // TODO: Consider if it is possible to use QualifierUtilities.CoerceQualifierValue instead. Public/Src/Sandbox/Windows/DetoursServices/DetoursServices.cpp (1 line): - line 1499: // - The new process does not inherit any handles (TODO: If needed, one could allow explicit handle inheritance here). Public/Src/FrontEnd/Script/Ast/Statements/ExpressionStatement.cs (1 line): - line 48: // TODO: this is very strange! Why error value is not propagated? Public/Src/Engine/Processes/SandboxedProcessInfo.cs (1 line): - line 651: // TODO: serialize/deserialize container configuration. Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net/TypeScriptImpl/binder.ts (1 line): - line 350: // TODO: Make this a more specific error and decouple it from the exclusion logic. Public/Src/Utilities/Configuration/IUnsafeSandboxConfiguration.cs (1 line): - line 123: /// TODO: temporarily making the default true until WDG sets the flags or let us remove the flag completely. Public/Src/Cache/ContentStore/Vsts/BackingContentStoreHttpClientFactory.cs (1 line): - line 67: verifyConnectionCancellationToken: CancellationToken.None); // TODO: Pipe down cancellation support (bug 1365340) Public/Src/FrontEnd/Sdk/Evaluation/IUninstantiatedModuleInfo.cs (1 line): - line 11: // TODO: This is temporarily a marker interface to abstract away the Runtime model common to FrontEnds and DScript syntax. Public/Src/Pips/Dll/Operations/PipProvenance.cs (1 line): - line 105: /// TODO: Remove when it becomes obsolete Public/Src/Cache/DistributedCache.Host/Service/Deployment/DeploymentLauncher.cs (1 line): - line 513: // TODO: Wait for health signal? Public/Src/IDE/LanguageServer/Providers/SymbolProvider.cs (1 line): - line 29: // TODO: support cancellation Public/Src/Pips/Dll/Graph/SealedDirectoryTable.cs (1 line): - line 13: #pragma warning disable 1591 // disabling warning about missing API documentation; TODO: Remove this line and write documentation! Public/Src/IDE/VsIntegration/BuildXLVsPackageShared/VsProject/BuildManager.cs (1 line): - line 77: // TODO: First-class integration support is needed. Public/Src/Utilities/Utilities/Tracing/Events.cs (1 line): - line 200: // TODO: Remove the code below. When we register the GeneratedEventSources (ETW loggers), there is no listeners created. Public/Src/Pips/Dll/Filter/RootFilter.cs (1 line): - line 170: // TODO: It is incomplete