Skip to content

Commit 94015a0

Browse files
committed
Show type for supported methods
1 parent 0485520 commit 94015a0

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

extensions/ql-vscode/src/stories/data-extensions-editor/DataExtensionsEditor.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ DataExtensionsEditor.args = {
157157
startColumn: 33,
158158
endLine: 10,
159159
endColumn: 88,
160-
classification: CallClassification.Source,
160+
classification: CallClassification.Test,
161161
},
162162
}),
163163
},

extensions/ql-vscode/src/view/data-extensions-editor/MethodRow.tsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,22 @@ const ViewLink = styled(VSCodeLink)`
3939
white-space: nowrap;
4040
`;
4141

42-
const modelTypeOptions = [
42+
const modelTypeOptions: Array<{ value: ModeledMethodType; label: string }> = [
4343
{ value: "none", label: "Unmodeled" },
4444
{ value: "source", label: "Source" },
4545
{ value: "sink", label: "Sink" },
4646
{ value: "summary", label: "Flow summary" },
4747
{ value: "neutral", label: "Neutral" },
4848
];
4949

50+
const typeNames = modelTypeOptions.reduce(
51+
(acc, { value, label }) => {
52+
acc[value] = label;
53+
return acc;
54+
},
55+
{} as Record<ModeledMethodType, string>,
56+
);
57+
5058
type Props = {
5159
externalApiUsage: ExternalApiUsage;
5260
modeledMethod: ModeledMethod | undefined;
@@ -233,11 +241,8 @@ function ModelableMethodRow(props: Props) {
233241
);
234242
}
235243

236-
function UnmodelableMethodRow(props: {
237-
externalApiUsage: ExternalApiUsage;
238-
mode: Mode;
239-
}) {
240-
const { externalApiUsage, mode } = props;
244+
function UnmodelableMethodRow(props: Props) {
245+
const { externalApiUsage, modeledMethod, mode } = props;
241246

242247
const jumpToUsage = useCallback(
243248
() => sendJumpToUsageMessage(externalApiUsage),
@@ -256,8 +261,15 @@ function UnmodelableMethodRow(props: {
256261
)}
257262
<ViewLink onClick={jumpToUsage}>View</ViewLink>
258263
</ApiOrMethodCell>
259-
<VSCodeDataGridCell gridColumn="span 4">
260-
Method already modeled by CodeQL or a different extension pack
264+
<VSCodeDataGridCell gridColumn={2}>
265+
{externalApiUsage.supported &&
266+
!modeledMethod &&
267+
externalApiUsage.supportedType !== "none" && (
268+
<>{typeNames[externalApiUsage.supportedType]}</>
269+
)}
270+
</VSCodeDataGridCell>
271+
<VSCodeDataGridCell gridColumn="span 3">
272+
Method modeled by CodeQL or a different extension pack
261273
</VSCodeDataGridCell>
262274
</VSCodeDataGridRow>
263275
);

0 commit comments

Comments
 (0)