Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
f29abe48
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f29abe48
编写于
11月 20, 2017
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove more unused code, #38414
上级
f657b94f
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
9 addition
and
49 deletion
+9
-49
src/vs/base/common/objects.ts
src/vs/base/common/objects.ts
+0
-4
src/vs/platform/instantiation/common/descriptors.ts
src/vs/platform/instantiation/common/descriptors.ts
+7
-41
src/vs/platform/instantiation/common/instantiationService.ts
src/vs/platform/instantiation/common/instantiationService.ts
+2
-4
未找到文件。
src/vs/base/common/objects.ts
浏览文件 @
f29abe48
...
@@ -120,10 +120,6 @@ export function assign(destination: any, ...sources: any[]): any {
...
@@ -120,10 +120,6 @@ export function assign(destination: any, ...sources: any[]): any {
return
destination
;
return
destination
;
}
}
export
function
toObject
<
T
>
(
arr
:
T
[],
keyMap
:
(
t
:
T
)
=>
string
):
{
[
key
:
string
]:
T
}
{
return
arr
.
reduce
((
o
,
d
)
=>
assign
(
o
,
{
[
keyMap
(
d
)]:
d
}),
Object
.
create
(
null
));
}
export
function
equals
(
one
:
any
,
other
:
any
):
boolean
{
export
function
equals
(
one
:
any
,
other
:
any
):
boolean
{
if
(
one
===
other
)
{
if
(
one
===
other
)
{
return
true
;
return
true
;
...
...
src/vs/platform/instantiation/common/descriptors.ts
浏览文件 @
f29abe48
...
@@ -4,51 +4,17 @@
...
@@ -4,51 +4,17 @@
*--------------------------------------------------------------------------------------------*/
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
'
use strict
'
;
import
{
illegalArgument
}
from
'
vs/base/common/errors
'
;
import
*
as
instantiation
from
'
./instantiation
'
;
import
*
as
instantiation
from
'
./instantiation
'
;
export
class
AbstractDescriptor
<
T
>
{
constructor
(
private
_staticArguments
:
any
[])
{
export
class
SyncDescriptor
<
T
>
{
// empty
}
public
appendStaticArguments
(
more
:
any
[]):
void
{
this
.
_staticArguments
.
push
.
apply
(
this
.
_staticArguments
,
more
);
}
public
staticArguments
():
any
[];
public
staticArguments
(
nth
:
number
):
any
;
public
staticArguments
(
nth
?:
number
):
any
[]
{
if
(
isNaN
(
nth
))
{
return
this
.
_staticArguments
.
slice
(
0
);
}
else
{
return
this
.
_staticArguments
[
nth
];
}
}
_validate
(
type
:
T
):
void
{
if
(
!
type
)
{
throw
illegalArgument
(
'
can not be falsy
'
);
}
}
}
export
class
SyncDescriptor
<
T
>
extends
AbstractDescriptor
<
T
>
{
constructor
(
private
_ctor
:
any
,
...
staticArguments
:
any
[])
{
readonly
ctor
:
any
;
super
(
staticArguments
);
readonly
staticArguments
:
any
[];
}
public
get
ctor
():
any
{
return
this
.
_ctor
;
}
protected
bind
(...
moreStaticArguments
:
any
[]):
SyncDescriptor
<
T
>
{
constructor
(
ctor
:
new
(...
args
:
any
[])
=>
T
,
...
_staticArguments
:
any
[])
{
let
allArgs
:
any
[]
=
[];
this
.
ctor
=
ctor
;
allArgs
=
allArgs
.
concat
(
this
.
staticArguments
());
this
.
staticArguments
=
_staticArguments
;
allArgs
=
allArgs
.
concat
(
moreStaticArguments
);
return
new
SyncDescriptor
<
T
>
(
this
.
_ctor
,
...
allArgs
);
}
}
}
}
...
...
src/vs/platform/instantiation/common/instantiationService.ts
浏览文件 @
f29abe48
...
@@ -77,7 +77,7 @@ export class InstantiationService implements IInstantiationService {
...
@@ -77,7 +77,7 @@ export class InstantiationService implements IInstantiationService {
private
_createInstance
<
T
>
(
desc
:
SyncDescriptor
<
T
>
,
args
:
any
[]):
T
{
private
_createInstance
<
T
>
(
desc
:
SyncDescriptor
<
T
>
,
args
:
any
[]):
T
{
// arguments given by createInstance-call and/or the descriptor
// arguments given by createInstance-call and/or the descriptor
let
staticArgs
=
desc
.
staticArguments
()
.
concat
(
args
);
let
staticArgs
=
desc
.
staticArguments
.
concat
(
args
);
// arguments defined by service decorators
// arguments defined by service decorators
let
serviceDependencies
=
_util
.
getServiceDependencies
(
desc
.
ctor
).
sort
((
a
,
b
)
=>
a
.
index
-
b
.
index
);
let
serviceDependencies
=
_util
.
getServiceDependencies
(
desc
.
ctor
).
sort
((
a
,
b
)
=>
a
.
index
-
b
.
index
);
...
@@ -117,9 +117,7 @@ export class InstantiationService implements IInstantiationService {
...
@@ -117,9 +117,7 @@ export class InstantiationService implements IInstantiationService {
argArray
.
push
(...
staticArgs
);
argArray
.
push
(...
staticArgs
);
argArray
.
push
(...
serviceArgs
);
argArray
.
push
(...
serviceArgs
);
const
instance
=
create
.
apply
(
null
,
argArray
);
return
<
T
>
create
.
apply
(
null
,
argArray
);
desc
.
_validate
(
instance
);
return
<
T
>
instance
;
}
}
private
_getOrCreateServiceInstance
<
T
>
(
id
:
ServiceIdentifier
<
T
>
):
T
{
private
_getOrCreateServiceInstance
<
T
>
(
id
:
ServiceIdentifier
<
T
>
):
T
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录