Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
f8123e5f
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,发现更多精彩内容 >>
提交
f8123e5f
编写于
1月 25, 2012
作者:
A
Andrey Breslav
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Basic support for Java and Kotlin annotations
上级
a5bd1c06
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
51 deletion
+25
-51
.idea/runConfigurations/IDEA__No_ProcessCanceledException_.xml
.../runConfigurations/IDEA__No_ProcessCanceledException_.xml
+2
-0
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
...tbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
+6
-51
compiler/testData/diagnostics/tests/annotations/BasicAnnotations.kt
...estData/diagnostics/tests/annotations/BasicAnnotations.kt
+10
-0
compiler/testData/diagnostics/tests/annotations/Deprecated.jet
...ler/testData/diagnostics/tests/annotations/Deprecated.jet
+7
-0
未找到文件。
.idea/runConfigurations/IDEA__No_ProcessCanceledException_.xml
浏览文件 @
f8123e5f
...
...
@@ -16,7 +16,9 @@
<option
name=
"TRANSPORT"
value=
"0"
/>
<option
name=
"LOCAL"
value=
"true"
/>
</RunnerSettings>
<RunnerSettings
RunnerId=
"Run"
/>
<ConfigurationWrapper
RunnerId=
"Debug"
/>
<ConfigurationWrapper
RunnerId=
"Run"
/>
<method
/>
</configuration>
</component>
\ No newline at end of file
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
浏览文件 @
f8123e5f
...
...
@@ -6,70 +6,25 @@ import com.google.common.collect.Sets;
import
com.intellij.openapi.project.Project
;
import
com.intellij.openapi.util.Pair
;
import
com.intellij.openapi.vfs.VirtualFile
;
import
com.intellij.psi.JavaPsiFacade
;
import
com.intellij.psi.PsiArrayType
;
import
com.intellij.psi.PsiClass
;
import
com.intellij.psi.PsiClassType
;
import
com.intellij.psi.PsiElement
;
import
com.intellij.psi.PsiEllipsisType
;
import
com.intellij.psi.PsiJavaFile
;
import
com.intellij.psi.PsiMethod
;
import
com.intellij.psi.PsiModifier
;
import
com.intellij.psi.PsiModifierListOwner
;
import
com.intellij.psi.PsiPackage
;
import
com.intellij.psi.PsiPrimitiveType
;
import
com.intellij.psi.PsiType
;
import
com.intellij.psi.PsiTypeParameter
;
import
com.intellij.psi.PsiTypeParameterListOwner
;
import
com.intellij.psi.PsiTypeVariable
;
import
com.intellij.psi.impl.source.PsiClassReferenceType
;
import
com.intellij.psi.*
;
import
com.intellij.psi.search.DelegatingGlobalSearchScope
;
import
com.intellij.psi.search.GlobalSearchScope
;
import
jet.typeinfo.TypeInfoVariance
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.jet.lang.descriptors.ClassDescriptor
;
import
org.jetbrains.jet.lang.descriptors.ClassKind
;
import
org.jetbrains.jet.lang.descriptors.ConstructorDescriptorImpl
;
import
org.jetbrains.jet.lang.descriptors.DeclarationDescriptor
;
import
org.jetbrains.jet.lang.descriptors.DeclarationDescriptorImpl
;
import
org.jetbrains.jet.lang.descriptors.DeclarationDescriptorVisitor
;
import
org.jetbrains.jet.lang.descriptors.FunctionDescriptor
;
import
org.jetbrains.jet.lang.descriptors.Modality
;
import
org.jetbrains.jet.lang.descriptors.MutableClassDescriptorLite
;
import
org.jetbrains.jet.lang.descriptors.NamedFunctionDescriptorImpl
;
import
org.jetbrains.jet.lang.descriptors.NamespaceDescriptor
;
import
org.jetbrains.jet.lang.descriptors.PropertyDescriptor
;
import
org.jetbrains.jet.lang.descriptors.PropertyGetterDescriptor
;
import
org.jetbrains.jet.lang.descriptors.PropertySetterDescriptor
;
import
org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor
;
import
org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor
;
import
org.jetbrains.jet.lang.descriptors.ValueParameterDescriptorImpl
;
import
org.jetbrains.jet.lang.descriptors.VariableDescriptor
;
import
org.jetbrains.jet.lang.descriptors.Visibility
;
import
org.jetbrains.jet.lang.descriptors.*
;
import
org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor
;
import
org.jetbrains.jet.lang.resolve.BindingContext
;
import
org.jetbrains.jet.lang.resolve.DescriptorUtils
;
import
org.jetbrains.jet.lang.resolve.java.kt.JetClassAnnotation
;
import
org.jetbrains.jet.lang.types.JetStandardClasses
;
import
org.jetbrains.jet.lang.types.JetType
;
import
org.jetbrains.jet.lang.types.TypeSubstitutor
;
import
org.jetbrains.jet.lang.types.TypeUtils
;
import
org.jetbrains.jet.lang.types.Variance
;
import
org.jetbrains.jet.lang.types.*
;
import
org.jetbrains.jet.plugin.JetFileType
;
import
org.jetbrains.jet.rt.signature.JetSignatureAdapter
;
import
org.jetbrains.jet.rt.signature.JetSignatureExceptionsAdapter
;
import
org.jetbrains.jet.rt.signature.JetSignatureReader
;
import
org.jetbrains.jet.rt.signature.JetSignatureVisitor
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
/**
* @author abreslav
...
...
@@ -235,7 +190,7 @@ public class JavaDescriptorResolver {
String
name
=
psiClass
.
getName
();
ResolverClassData
classData
=
new
ResolverClassData
();
ClassKind
kind
=
psiClass
.
isInterface
()
?
ClassKind
.
TRAIT
:
ClassKind
.
CLASS
;
ClassKind
kind
=
psiClass
.
isInterface
()
?
(
psiClass
.
isAnnotationType
()
?
ClassKind
.
ANNOTATION_CLASS
:
ClassKind
.
TRAIT
)
:
ClassKind
.
CLASS
;
classData
.
classDescriptor
=
new
MutableClassDescriptorLite
(
resolveParentDescriptor
(
psiClass
),
kind
);
...
...
@@ -288,7 +243,7 @@ public class JavaDescriptorResolver {
// Example:
// class Kotlin() : Java() {}
// abstract public class Java {}
if
(!
psiClass
.
isInterface
())
{
if
(!
psiClass
.
isInterface
()
||
psiClass
.
isAnnotationType
()
)
{
ConstructorDescriptorImpl
constructorDescriptor
=
new
ConstructorDescriptorImpl
(
classData
.
classDescriptor
,
Collections
.<
AnnotationDescriptor
>
emptyList
(),
...
...
compiler/testData/diagnostics/tests/annotations/BasicAnnotations.kt
0 → 100644
浏览文件 @
f8123e5f
annotation
class
my
annotation class my1(i :
Int
)
annotation
class
my2(i :
Int
=
0
)
my
fun
foo
()
{}
<!
NO_VALUE_FOR_PARAMETER
!>
my1
<!>
fun
foo2
()
{}
my1
(
2
)
fun
foo3
()
{}
my2
()
fun
foo4
()
{}
my2
fun
foo41
()
{}
my2
(
2
)
fun
foo42
()
{}
\ No newline at end of file
compiler/testData/diagnostics/tests/annotations/Deprecated.jet
0 → 100644
浏览文件 @
f8123e5f
// +JDK
import java.lang.Deprecated as deprecated
Deprecated fun foo() {}
deprecated fun foo1() {}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录