Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
77aad060
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
77aad060
编写于
11月 30, 2020
作者:
D
Dmitriy Novozhilov
提交者:
TeamCityServer
12月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[FE] Add bunch files to fix compilation on 201 platform
上级
3246e6b9
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
121 addition
and
0 deletion
+121
-0
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.kt.201
...ains/kotlin/load/java/structure/impl/JavaClassImpl.kt.201
+6
-0
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementUtil.java.201
.../kotlin/load/java/structure/impl/JavaElementUtil.java.201
+113
-0
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt.201
...oad/java/structure/impl/classFiles/BinaryJavaClass.kt.201
+2
-0
未找到文件。
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.kt.201
浏览文件 @
77aad060
...
...
@@ -62,6 +62,12 @@ class JavaClassImpl(psiClass: PsiClass) : JavaClassifierImpl<PsiClass>(psiClass)
override
val
isRecord
:
Boolean
get
()
=
false
override
val
isSealed
:
Boolean
get
()
=
JavaElementUtil
.
isSealed
(
this
)
override
val
permittedTypes
:
Collection
<
JavaClassifierType
>
get
()
=
emptyList
()
override
val
outerClass
:
JavaClassImpl
?
get
()
{
val
outer
=
psi
.
containingClass
...
...
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementUtil.java.201
0 → 100644
浏览文件 @
77aad060
/*
*
Copyright
2010
-
2015
JetBrains
s
.
r
.
o
.
*
*
Licensed
under
the
Apache
License
,
Version
2.0
(
the
"License"
);
*
you
may
not
use
this
file
except
in
compliance
with
the
License
.
*
You
may
obtain
a
copy
of
the
License
at
*
*
http
://
www
.
apache
.
org
/
licenses
/
LICENSE
-
2.0
*
*
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
*
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
*
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
.
*
See
the
License
for
the
specific
language
governing
permissions
and
*
limitations
under
the
License
.
*/
package
org
.
jetbrains
.
kotlin
.
load
.
java
.
structure
.
impl
;
import
com
.
intellij
.
codeInsight
.
ExternalAnnotationsManager
;
import
com
.
intellij
.
psi
.
PsiAnnotation
;
import
com
.
intellij
.
psi
.
PsiAnnotationOwner
;
import
com
.
intellij
.
psi
.
PsiModifier
;
import
com
.
intellij
.
psi
.
PsiModifierListOwner
;
import
org
.
jetbrains
.
annotations
.
NotNull
;
import
org
.
jetbrains
.
annotations
.
Nullable
;
import
org
.
jetbrains
.
kotlin
.
descriptors
.
Visibilities
;
import
org
.
jetbrains
.
kotlin
.
descriptors
.
Visibility
;
import
org
.
jetbrains
.
kotlin
.
descriptors
.
java
.
JavaVisibilities
;
import
org
.
jetbrains
.
kotlin
.
load
.
java
.
structure
.
JavaAnnotation
;
import
org
.
jetbrains
.
kotlin
.
name
.
FqName
;
import
java
.
util
.
ArrayList
;
import
java
.
util
.
Collection
;
import
java
.
util
.
Collections
;
import
static
org
.
jetbrains
.
kotlin
.
load
.
java
.
structure
.
impl
.
JavaElementCollectionFromPsiArrayUtil
.
annotations
;
import
static
org
.
jetbrains
.
kotlin
.
load
.
java
.
structure
.
impl
.
JavaElementCollectionFromPsiArrayUtil
.
nullabilityAnnotations
;
/*
package
*/
class
JavaElementUtil
{
private
JavaElementUtil
()
{
}
public
static
boolean
isAbstract
(@
NotNull
JavaModifierListOwnerImpl
owner
)
{
return
owner
.
getPsi
().
hasModifierProperty
(
PsiModifier
.
ABSTRACT
);
}
public
static
boolean
isStatic
(@
NotNull
JavaModifierListOwnerImpl
owner
)
{
return
owner
.
getPsi
().
hasModifierProperty
(
PsiModifier
.
STATIC
);
}
public
static
boolean
isFinal
(@
NotNull
JavaModifierListOwnerImpl
owner
)
{
return
owner
.
getPsi
().
hasModifierProperty
(
PsiModifier
.
FINAL
);
}
public
static
boolean
isSealed
(@
NotNull
JavaModifierListOwnerImpl
owner
)
{
return
false
;
}
@
NotNull
public
static
Visibility
getVisibility
(@
NotNull
JavaModifierListOwnerImpl
owner
)
{
PsiModifierListOwner
psiOwner
=
owner
.
getPsi
();
if
(
psiOwner
.
hasModifierProperty
(
PsiModifier
.
PUBLIC
))
{
return
Visibilities
.
Public
.
INSTANCE
;
}
if
(
psiOwner
.
hasModifierProperty
(
PsiModifier
.
PRIVATE
))
{
return
Visibilities
.
Private
.
INSTANCE
;
}
if
(
psiOwner
.
hasModifierProperty
(
PsiModifier
.
PROTECTED
))
{
return
owner
.
isStatic
()
?
JavaVisibilities
.
ProtectedStaticVisibility
.
INSTANCE
:
JavaVisibilities
.
ProtectedAndPackage
.
INSTANCE
;
}
return
JavaVisibilities
.
PackageVisibility
.
INSTANCE
;
}
@
NotNull
public
static
Collection
<
JavaAnnotation
>
getAnnotations
(@
NotNull
JavaAnnotationOwnerImpl
owner
)
{
PsiAnnotationOwner
annotationOwnerPsi
=
owner
.
getAnnotationOwnerPsi
();
if
(
annotationOwnerPsi
!= null) {
return
annotations
(
annotationOwnerPsi
.
getAnnotations
());
}
return
Collections
.
emptyList
();
}
@
Nullable
private
static
PsiAnnotation
[]
getExternalAnnotations
(@
NotNull
JavaModifierListOwnerImpl
modifierListOwner
)
{
PsiModifierListOwner
psiModifierListOwner
=
modifierListOwner
.
getPsi
();
ExternalAnnotationsManager
externalAnnotationManager
=
ExternalAnnotationsManager
.
getInstance
(
psiModifierListOwner
.
getProject
());
return
externalAnnotationManager
.
findExternalAnnotations
(
psiModifierListOwner
);
}
@
NotNull
static
<
T
extends
JavaAnnotationOwnerImpl
&
JavaModifierListOwnerImpl
>
Collection
<
JavaAnnotation
>
getRegularAndExternalAnnotations
(@
NotNull
T
owner
)
{
PsiAnnotation
[]
externalAnnotations
=
getExternalAnnotations
(
owner
);
if
(
externalAnnotations
==
null
)
{
return
getAnnotations
(
owner
);
}
Collection
<
JavaAnnotation
>
annotations
=
new
ArrayList
<>(
getAnnotations
(
owner
));
annotations
.
addAll
(
nullabilityAnnotations
(
externalAnnotations
));
return
annotations
;
}
@
Nullable
public
static
JavaAnnotation
findAnnotation
(@
NotNull
JavaAnnotationOwnerImpl
owner
,
@
NotNull
FqName
fqName
)
{
PsiAnnotationOwner
annotationOwnerPsi
=
owner
.
getAnnotationOwnerPsi
();
if
(
annotationOwnerPsi
!= null) {
PsiAnnotation
psiAnnotation
=
annotationOwnerPsi
.
findAnnotation
(
fqName
.
asString
());
return
psiAnnotation
==
null
?
null
:
new
JavaAnnotationImpl
(
psiAnnotation
);
}
return
null
;
}
}
compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryJavaClass.kt.201
浏览文件 @
77aad060
...
...
@@ -69,6 +69,8 @@ class BinaryJavaClass(
override val isRecord get() = false
override val lightClassOriginKind: LightClassOriginKind? get() = null
override val isSealed: Boolean get() = permittedTypes.isNotEmpty()
override val permittedTypes = arrayListOf<JavaClassifierType>()
override fun isFromSourceCodeInScope(scope: SearchScope): Boolean = false
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录