Skip to content

Commit 91d42f6

Browse files
committed
add backtraceGraph to CodeModelTarget
1 parent c77530d commit 91d42f6

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/drivers/cmakeFileApi.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import * as cache from '@cmt/cache';
1010
import {
11+
BacktraceGraph,
1112
CodeModelConfiguration,
1213
CodeModelContent,
1314
CodeModelFileGroup,
@@ -183,6 +184,7 @@ export namespace CodeModelKind {
183184
folder?: Folder;
184185
isGeneratorProvided?: boolean;
185186
install?: InstallInfo;
187+
backtraceGraph?: BacktraceGraph;
186188
}
187189
}
188190

@@ -532,6 +534,7 @@ async function loadCodeModelTarget(rootPaths: CodeModelKind.PathInfo, jsonFile:
532534
sysroot,
533535
folder: targetObject.folder,
534536
dependencies: targetObject.dependencies,
537+
backtraceGraph: targetObject.backtraceGraph,
535538
install: targetObject.install,
536539
isGeneratorProvided: targetObject.isGeneratorProvided
537540
} as CodeModelTarget;

src/drivers/codeModel.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,25 @@ export type CodeModelContent = api.CodeModel.Content;
1010
// TODO: Move framework definitions to the public API repo to avoid this intersection type.
1111
export type CodeModelFileGroup = api.CodeModel.FileGroup & { frameworks?: { path: string }[] };
1212
export type CodeModelProject = api.CodeModel.Project;
13-
// TODO: If requested, move folder, dependencies, and isGeneratorProvided definition to the public API repo to avoid this intersection type.
14-
export type CodeModelTarget = api.CodeModel.Target & { folder?: { name: string }; dependencies?: { backtrace: number; id: string }[]; isGeneratorProvided?: boolean; install?: {destinations: {path: string}[]; prefix: {path: string}}};
13+
// TODO: If requested, move folder, dependencies, backtraceGraph, and isGeneratorProvided definition to the public API repo to avoid this intersection type.
14+
export type CodeModelTarget = api.CodeModel.Target & { folder?: { name: string }; dependencies?: { backtrace: number; id: string }[]; backtraceGraph?: BacktraceGraph; isGeneratorProvided?: boolean; install?: {destinations: {path: string}[]; prefix: {path: string}}};
1515
// TODO: If requested, move sourceFileExtensions to the public API repo to avoid this intersection type.
1616
export type CodeModelToolchain = api.CodeModel.Toolchain & {sourceFileExtensions?: string[]};
1717
export type TargetTypeString = api.CodeModel.TargetType;
1818

19+
export interface BacktraceGraphNode {
20+
file: number;
21+
line?: number;
22+
command?: number;
23+
parent?: number;
24+
}
25+
26+
export interface BacktraceGraph {
27+
commands: string[];
28+
files: string[];
29+
nodes: BacktraceGraphNode[];
30+
}
31+
1932
/**
2033
* Type given when updating the configuration data stored in the file index.
2134
*/

0 commit comments

Comments
 (0)