提交 3c2ed748 编写于 作者: M Matt Bierner

Strict null check menusExtensionPoint

上级 aa33c3d2
......@@ -418,6 +418,7 @@
"./vs/platform/dialogs/node/dialogIpc.ts",
"./vs/platform/dialogs/node/dialogService.ts",
"./vs/platform/download/common/download.ts",
"./vs/platform/download/node/downloadIpc.ts",
"./vs/platform/download/node/downloadService.ts",
"./vs/platform/driver/electron-main/driver.ts",
"./vs/platform/driver/node/driver.ts",
......@@ -644,6 +645,7 @@
"./vs/workbench/parts/welcome/gettingStarted/electron-browser/gettingStarted.ts",
"./vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page.ts",
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughUtils.ts",
"./vs/workbench/services/actions/electron-browser/menusExtensionPoint.ts",
"./vs/workbench/services/activity/common/activity.ts",
"./vs/workbench/services/backup/common/backup.ts",
"./vs/workbench/services/backup/node/backupFileService.ts",
......@@ -716,8 +718,7 @@
"./vs/workbench/services/themes/common/workbenchThemeService.ts",
"./vs/workbench/services/title/common/titleService.ts",
"./vs/workbench/services/workspace/common/workspaceEditing.ts",
"./vs/workbench/test/electron-browser/api/mock.ts",
"./vs/platform/download/node/downloadIpc.ts"
"./vs/workbench/test/electron-browser/api/mock.ts"
],
"exclude": [
"./typings/require-monaco.d.ts"
......
......@@ -10,7 +10,7 @@ import { IJSONSchema } from 'vs/base/common/jsonSchema';
import { forEach } from 'vs/base/common/collections';
import { IExtensionPointUser, ExtensionMessageCollector, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { MenuId, MenuRegistry, ILocalizedString } from 'vs/platform/actions/common/actions';
import { MenuId, MenuRegistry, ILocalizedString, IMenuItem } from 'vs/platform/actions/common/actions';
import { URI } from 'vs/base/common/uri';
namespace schema {
......@@ -199,7 +199,7 @@ namespace schema {
return true;
}
function isValidIcon(icon: IUserFriendlyIcon, collector: ExtensionMessageCollector): boolean {
function isValidIcon(icon: IUserFriendlyIcon | undefined, collector: ExtensionMessageCollector): boolean {
if (typeof icon === 'undefined') {
return true;
}
......@@ -286,7 +286,7 @@ ExtensionsRegistry.registerExtensionPoint<schema.IUserFriendlyCommand | schema.I
const { icon, category, title, command } = userFriendlyCommand;
let absoluteIcon: { dark: URI; light?: URI; };
let absoluteIcon: { dark: URI; light?: URI; } | undefined;
if (icon) {
if (typeof icon === 'string') {
absoluteIcon = { dark: resources.joinPath(extension.description.extensionLocation, icon) };
......@@ -346,8 +346,8 @@ ExtensionsRegistry.registerExtensionPoint<{ [loc: string]: schema.IUserFriendlyM
collector.info(localize('dupe.command', "Menu item references the same command as default and alt-command"));
}
let group: string;
let order: number;
let group: string | undefined;
let order: number | undefined;
if (item.group) {
const idx = item.group.lastIndexOf('@');
if (idx > 0) {
......@@ -364,7 +364,7 @@ ExtensionsRegistry.registerExtensionPoint<{ [loc: string]: schema.IUserFriendlyM
group,
order,
when: ContextKeyExpr.deserialize(item.when)
});
} as IMenuItem);
}
});
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册