MCPcopy Index your code
hub / github.com/nodejs/node / fileIncludeReasonToRelatedInformation

Function fileIncludeReasonToRelatedInformation

test/fixtures/snapshot/typescript.js:118987–119066  ·  view source on GitHub ↗
(reason)

Source from the content-addressed store, hash-verified

118985 programDiagnostics.add(createDiagnosticExplainingFile(file, /*fileProcessingReason*/ undefined, diagnostic, args));
118986 }
118987 function fileIncludeReasonToRelatedInformation(reason) {
118988 if (isReferencedFile(reason)) {
118989 var referenceLocation = getReferencedFileLocation(getSourceFileByPath, reason);
118990 var message_2;
118991 switch (reason.kind) {
118992 case ts.FileIncludeKind.Import:
118993 message_2 = ts.Diagnostics.File_is_included_via_import_here;
118994 break;
118995 case ts.FileIncludeKind.ReferenceFile:
118996 message_2 = ts.Diagnostics.File_is_included_via_reference_here;
118997 break;
118998 case ts.FileIncludeKind.TypeReferenceDirective:
118999 message_2 = ts.Diagnostics.File_is_included_via_type_library_reference_here;
119000 break;
119001 case ts.FileIncludeKind.LibReferenceDirective:
119002 message_2 = ts.Diagnostics.File_is_included_via_library_reference_here;
119003 break;
119004 default:
119005 ts.Debug.assertNever(reason);
119006 }
119007 return isReferenceFileLocation(referenceLocation) ? ts.createFileDiagnostic(referenceLocation.file, referenceLocation.pos, referenceLocation.end - referenceLocation.pos, message_2) : undefined;
119008 }
119009 if (!options.configFile)
119010 return undefined;
119011 var configFileNode;
119012 var message;
119013 switch (reason.kind) {
119014 case ts.FileIncludeKind.RootFile:
119015 if (!options.configFile.configFileSpecs)
119016 return undefined;
119017 var fileName = ts.getNormalizedAbsolutePath(rootNames[reason.index], currentDirectory);
119018 var matchedByFiles = ts.getMatchedFileSpec(program, fileName);
119019 if (matchedByFiles) {
119020 configFileNode = ts.getTsConfigPropArrayElementValue(options.configFile, "files", matchedByFiles);
119021 message = ts.Diagnostics.File_is_matched_by_files_list_specified_here;
119022 break;
119023 }
119024 var matchedByInclude = ts.getMatchedIncludeSpec(program, fileName);
119025 // Could be additional files specified as roots
119026 if (!matchedByInclude)
119027 return undefined;
119028 configFileNode = ts.getTsConfigPropArrayElementValue(options.configFile, "include", matchedByInclude);
119029 message = ts.Diagnostics.File_is_matched_by_include_pattern_specified_here;
119030 break;
119031 case ts.FileIncludeKind.SourceFromProjectReference:
119032 case ts.FileIncludeKind.OutputFromProjectReference:
119033 var referencedResolvedRef_1 = ts.Debug.checkDefined(resolvedProjectReferences === null || resolvedProjectReferences === void 0 ? void 0 : resolvedProjectReferences[reason.index]);
119034 var referenceInfo = forEachProjectReference(projectReferences, resolvedProjectReferences, function (resolvedRef, parent, index) {
119035 return resolvedRef === referencedResolvedRef_1 ? { sourceFile: (parent === null || parent === void 0 ? void 0 : parent.sourceFile) || options.configFile, index: index } : undefined;
119036 });
119037 if (!referenceInfo)
119038 return undefined;
119039 var sourceFile = referenceInfo.sourceFile, index = referenceInfo.index;
119040 var referencesSyntax = ts.firstDefined(ts.getTsConfigPropArray(sourceFile, "references"), function (property) { return ts.isArrayLiteralExpression(property.initializer) ? property.initializer : undefined; });
119041 return referencesSyntax && referencesSyntax.elements.length > index ?
119042 ts.createDiagnosticForNodeInSourceFile(sourceFile, referencesSyntax.elements[index], reason.kind === ts.FileIncludeKind.OutputFromProjectReference ?
119043 ts.Diagnostics.File_is_output_from_referenced_project_specified_here :
119044 ts.Diagnostics.File_is_source_from_referenced_project_specified_here) :

Callers 1

processReasonFunction · 0.85

Calls 6

isReferencedFileFunction · 0.85
isReferenceFileLocationFunction · 0.85
forEachProjectReferenceFunction · 0.85
getOptionsSyntaxByValueFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…