Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
8623361e
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,发现更多精彩内容 >>
提交
8623361e
编写于
4月 07, 2012
作者:
S
Stepan Koltsov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more FqName instead of String
上级
9e9d60e0
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
38 addition
and
30 deletion
+38
-30
compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java
.../backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java
+3
-3
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
...tbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
+5
-5
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java
.../jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java
+8
-9
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java
...ains/jet/lang/resolve/java/JetTypeJetSignatureReader.java
+1
-1
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmClassName.java
...src/org/jetbrains/jet/lang/resolve/java/JvmClassName.java
+16
-7
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetClassAnnotation.java
...etbrains/jet/lang/resolve/java/kt/JetClassAnnotation.java
+1
-1
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetConstructorAnnotation.java
...ns/jet/lang/resolve/java/kt/JetConstructorAnnotation.java
+1
-1
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetMethodAnnotation.java
...tbrains/jet/lang/resolve/java/kt/JetMethodAnnotation.java
+1
-1
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetTypeParameterAnnotation.java
.../jet/lang/resolve/java/kt/JetTypeParameterAnnotation.java
+1
-1
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetValueParameterAnnotation.java
...jet/lang/resolve/java/kt/JetValueParameterAnnotation.java
+1
-1
未找到文件。
compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java
浏览文件 @
8623361e
...
...
@@ -865,9 +865,9 @@ public class JetTypeMapper {
private
boolean
isForceReal
(
JvmClassName
className
)
{
return
JvmPrimitiveType
.
getByWrapperClass
(
className
)
!=
null
||
className
.
getFqName
().
equals
(
"java.lang.String"
)
||
className
.
getFqName
().
equals
(
"java.lang.CharSequence"
)
||
className
.
getFqName
().
equals
(
"java.lang.Object"
);
||
className
.
getFqName
().
getFqName
().
equals
(
"java.lang.String"
)
||
className
.
getFqName
().
getFqName
().
equals
(
"java.lang.CharSequence"
)
||
className
.
getFqName
().
getFqName
().
equals
(
"java.lang.Object"
);
}
public
boolean
isGenericsArray
(
JetType
type
)
{
...
...
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java
浏览文件 @
8623361e
...
...
@@ -763,7 +763,7 @@ public class JavaDescriptorResolver {
private
void
transformSupertypeList
(
List
<
JetType
>
result
,
PsiClassType
[]
extendsListTypes
,
TypeVariableResolver
typeVariableResolver
,
boolean
annotation
)
{
for
(
PsiClassType
type
:
extendsListTypes
)
{
PsiClass
resolved
=
type
.
resolve
();
if
(
resolved
!=
null
&&
resolved
.
getQualifiedName
().
equals
(
JvmStdlibNames
.
JET_OBJECT
.
getFqName
()))
{
if
(
resolved
!=
null
&&
resolved
.
getQualifiedName
().
equals
(
JvmStdlibNames
.
JET_OBJECT
.
getFqName
()
.
getFqName
()
))
{
continue
;
}
if
(
annotation
&&
resolved
.
getQualifiedName
().
equals
(
"java.lang.annotation.Annotation"
))
{
...
...
@@ -961,7 +961,7 @@ public class JavaDescriptorResolver {
JetType
transformedType
;
if
(
parameter
.
getJetValueParameter
().
nullable
())
{
transformedType
=
TypeUtils
.
makeNullableAsSpecified
(
outType
,
parameter
.
getJetValueParameter
().
nullable
());
}
else
if
(
parameter
.
getPsiParameter
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
())
!=
null
)
{
}
else
if
(
parameter
.
getPsiParameter
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
()
.
getFqName
()
)
!=
null
)
{
transformedType
=
TypeUtils
.
makeNullableAsSpecified
(
outType
,
false
);
}
else
{
transformedType
=
outType
;
...
...
@@ -1208,7 +1208,7 @@ public class JavaDescriptorResolver {
propertyType
=
semanticServices
.
getTypeTransformer
().
transformToType
(
anyMember
.
getType
().
getTypeString
(),
typeVariableResolverForPropertyInternals
);
}
else
{
propertyType
=
semanticServices
.
getTypeTransformer
().
transformToType
(
anyMember
.
getType
().
getPsiType
(),
typeVariableResolverForPropertyInternals
);
if
(
anyMember
.
getType
().
getPsiNotNullOwner
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
())
!=
null
)
{
if
(
anyMember
.
getType
().
getPsiNotNullOwner
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
()
.
getFqName
()
)
!=
null
)
{
propertyType
=
TypeUtils
.
makeNullableAsSpecified
(
propertyType
,
false
);
}
}
...
...
@@ -1507,7 +1507,7 @@ public class JavaDescriptorResolver {
AnnotationDescriptor
annotation
=
new
AnnotationDescriptor
();
String
qname
=
psiAnnotation
.
getQualifiedName
();
if
(
qname
.
startsWith
(
"java.lang.annotation."
)
||
qname
.
startsWith
(
"jet.runtime.typeinfo."
)
||
qname
.
equals
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
()))
{
if
(
qname
.
startsWith
(
"java.lang.annotation."
)
||
qname
.
startsWith
(
"jet.runtime.typeinfo."
)
||
qname
.
equals
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
()
.
getFqName
()
))
{
// TODO
return
null
;
}
...
...
@@ -1634,7 +1634,7 @@ public class JavaDescriptorResolver {
}
if
(
method
.
getJetMethod
().
returnTypeNullable
())
{
return
TypeUtils
.
makeNullableAsSpecified
(
transformedType
,
true
);
}
else
if
(
method
.
getPsiMethod
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
())
!=
null
)
{
}
else
if
(
method
.
getPsiMethod
().
getModifierList
().
findAnnotation
(
JvmAbi
.
JETBRAINS_NOT_NULL_ANNOTATION
.
getFqName
()
.
getFqName
()
)
!=
null
)
{
return
TypeUtils
.
makeNullableAsSpecified
(
transformedType
,
false
);
}
else
{
return
transformedType
;
...
...
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java
浏览文件 @
8623361e
...
...
@@ -57,7 +57,7 @@ public class JavaTypeTransformer {
private
Map
<
String
,
JetType
>
primitiveTypesMap
;
private
Map
<
String
,
JetType
>
classTypesMap
;
private
Map
<
String
,
ClassDescriptor
>
classDescriptorMap
;
private
HashMap
<
FqName
,
ClassDescriptor
>
classDescriptorMap
;
...
...
@@ -215,7 +215,7 @@ public class JavaTypeTransformer {
PrimitiveType
primitiveType
=
jvmPrimitiveType
.
getPrimitiveType
();
primitiveTypesMap
.
put
(
jvmPrimitiveType
.
getName
(),
JetStandardLibrary
.
getInstance
().
getPrimitiveJetType
(
primitiveType
));
primitiveTypesMap
.
put
(
"["
+
jvmPrimitiveType
.
getName
(),
JetStandardLibrary
.
getInstance
().
getPrimitiveArrayJetType
(
primitiveType
));
primitiveTypesMap
.
put
(
jvmPrimitiveType
.
getWrapper
().
getFqName
(),
JetStandardLibrary
.
getInstance
().
getNullablePrimitiveJetType
(
primitiveType
));
primitiveTypesMap
.
put
(
jvmPrimitiveType
.
getWrapper
().
getFqName
()
.
getFqName
()
,
JetStandardLibrary
.
getInstance
().
getNullablePrimitiveJetType
(
primitiveType
));
}
primitiveTypesMap
.
put
(
"void"
,
JetStandardClasses
.
getUnitType
());
}
...
...
@@ -227,8 +227,7 @@ public class JavaTypeTransformer {
classTypesMap
=
new
HashMap
<
String
,
JetType
>();
for
(
JvmPrimitiveType
jvmPrimitiveType
:
JvmPrimitiveType
.
values
())
{
PrimitiveType
primitiveType
=
jvmPrimitiveType
.
getPrimitiveType
();
classTypesMap
.
put
(
jvmPrimitiveType
.
getWrapper
().
getFqName
(),
JetStandardLibrary
.
getInstance
().
getNullablePrimitiveJetType
(
primitiveType
));
classTypesMap
.
put
(
jvmPrimitiveType
.
getWrapper
().
getFqName
().
getFqName
(),
JetStandardLibrary
.
getInstance
().
getNullablePrimitiveJetType
(
primitiveType
));
}
classTypesMap
.
put
(
"java.lang.Object"
,
JetStandardClasses
.
getNullableAnyType
());
classTypesMap
.
put
(
"java.lang.String"
,
JetStandardLibrary
.
getInstance
().
getNullableStringType
());
...
...
@@ -238,16 +237,16 @@ public class JavaTypeTransformer {
return
classTypesMap
;
}
public
Map
<
String
,
ClassDescriptor
>
getPrimitiveWrappersClassDescriptorMap
()
{
public
Map
<
FqName
,
ClassDescriptor
>
getPrimitiveWrappersClassDescriptorMap
()
{
if
(
classDescriptorMap
==
null
)
{
classDescriptorMap
=
new
HashMap
<
String
,
ClassDescriptor
>();
classDescriptorMap
=
new
HashMap
<
FqName
,
ClassDescriptor
>();
for
(
JvmPrimitiveType
jvmPrimitiveType
:
JvmPrimitiveType
.
values
())
{
PrimitiveType
primitiveType
=
jvmPrimitiveType
.
getPrimitiveType
();
classDescriptorMap
.
put
(
jvmPrimitiveType
.
getWrapper
().
getFqName
(),
JetStandardLibrary
.
getInstance
().
getPrimitiveClassDescriptor
(
primitiveType
));
}
classDescriptorMap
.
put
(
"java.lang.String"
,
JetStandardLibrary
.
getInstance
().
getString
());
classDescriptorMap
.
put
(
"java.lang.CharSequence"
,
JetStandardLibrary
.
getInstance
().
getCharSequence
());
classDescriptorMap
.
put
(
"java.lang.Throwable"
,
JetStandardLibrary
.
getInstance
().
getThrowable
());
classDescriptorMap
.
put
(
new
FqName
(
"java.lang.String"
)
,
JetStandardLibrary
.
getInstance
().
getString
());
classDescriptorMap
.
put
(
new
FqName
(
"java.lang.CharSequence"
)
,
JetStandardLibrary
.
getInstance
().
getCharSequence
());
classDescriptorMap
.
put
(
new
FqName
(
"java.lang.Throwable"
)
,
JetStandardLibrary
.
getInstance
().
getThrowable
());
}
return
classDescriptorMap
;
}
...
...
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java
浏览文件 @
8623361e
...
...
@@ -93,7 +93,7 @@ public abstract class JetTypeJetSignatureReader extends JetSignatureExceptionsAd
this
.
classDescriptor
=
null
;
if
(
this
.
classDescriptor
==
null
&&
!
forceReal
)
{
this
.
classDescriptor
=
this
.
javaSemanticServices
.
getTypeTransformer
().
getPrimitiveWrappersClassDescriptorMap
().
get
(
ourName
.
getFqName
()
);
this
.
classDescriptor
=
this
.
javaSemanticServices
.
getTypeTransformer
().
getPrimitiveWrappersClassDescriptorMap
().
get
(
ourName
);
}
if
(
this
.
classDescriptor
==
null
&&
ourName
.
equals
(
new
FqName
(
"java.lang.Object"
))
&&
!
forceReal
)
{
...
...
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmClassName.java
浏览文件 @
8623361e
...
...
@@ -17,29 +17,38 @@
package
org.jetbrains.jet.lang.resolve.java
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.jet.lang.resolve.FqName
;
import
org.objectweb.asm.Type
;
/**
* @author Stepan Koltsov
*/
public
class
JvmClassName
{
private
final
String
fqName
;
@NotNull
private
final
FqName
fqName
;
public
JvmClassName
(
@NotNull
String
fqName
)
{
this
(
new
FqName
(
fqName
));
}
public
JvmClassName
(
@NotNull
FqName
fqName
)
{
this
.
fqName
=
fqName
;
}
public
static
JvmClassName
byInternalName
(
@NotNull
String
internalName
)
{
JvmClassName
r
=
new
JvmClassName
(
internalName
.
replace
(
'/'
,
'.'
));
r
.
internalName
=
internalName
;
return
r
;
}
public
String
getFqName
()
{
@NotNull
public
FqName
getFqName
()
{
return
fqName
;
}
private
String
internalName
;
public
String
getInternalName
()
{
...
...
@@ -54,9 +63,9 @@ public class JvmClassName {
public
String
getDescriptor
()
{
if
(
descriptor
==
null
)
{
StringBuilder
sb
=
new
StringBuilder
(
fqName
.
length
()
+
2
);
StringBuilder
sb
=
new
StringBuilder
(
fqName
.
getFqName
().
length
()
+
2
);
sb
.
append
(
'L'
);
sb
.
append
(
fqName
.
replace
(
'.'
,
'/'
));
sb
.
append
(
fqName
.
getFqName
().
replace
(
'.'
,
'/'
));
sb
.
append
(
';'
);
descriptor
=
sb
.
toString
();
}
...
...
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetClassAnnotation.java
浏览文件 @
8623361e
...
...
@@ -41,6 +41,6 @@ public class JetClassAnnotation extends PsiAnnotationWrapper {
@NotNull
public
static
JetClassAnnotation
get
(
PsiClass
psiClass
)
{
return
new
JetClassAnnotation
(
psiClass
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_CLASS
.
getFqName
()));
return
new
JetClassAnnotation
(
psiClass
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_CLASS
.
getFqName
()
.
getFqName
()
));
}
}
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetConstructorAnnotation.java
浏览文件 @
8623361e
...
...
@@ -42,6 +42,6 @@ public class JetConstructorAnnotation extends PsiAnnotationWrapper {
}
public
static
JetConstructorAnnotation
get
(
PsiMethod
constructor
)
{
return
new
JetConstructorAnnotation
(
constructor
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_CONSTRUCTOR
.
getFqName
()));
return
new
JetConstructorAnnotation
(
constructor
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_CONSTRUCTOR
.
getFqName
()
.
getFqName
()
));
}
}
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetMethodAnnotation.java
浏览文件 @
8623361e
...
...
@@ -80,6 +80,6 @@ public class JetMethodAnnotation extends PsiAnnotationWrapper {
}
public
static
JetMethodAnnotation
get
(
PsiMethod
psiMethod
)
{
return
new
JetMethodAnnotation
(
psiMethod
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_METHOD
.
getFqName
()));
return
new
JetMethodAnnotation
(
psiMethod
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_METHOD
.
getFqName
()
.
getFqName
()
));
}
}
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetTypeParameterAnnotation.java
浏览文件 @
8623361e
...
...
@@ -33,6 +33,6 @@ public class JetTypeParameterAnnotation extends PsiAnnotationWrapper {
@NotNull
public
static
JetTypeParameterAnnotation
get
(
@NotNull
PsiParameter
psiParameter
)
{
return
new
JetTypeParameterAnnotation
(
psiParameter
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_TYPE_PARAMETER
.
getFqName
()));
return
new
JetTypeParameterAnnotation
(
psiParameter
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_TYPE_PARAMETER
.
getFqName
()
.
getFqName
()
));
}
}
compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/JetValueParameterAnnotation.java
浏览文件 @
8623361e
...
...
@@ -80,7 +80,7 @@ public class JetValueParameterAnnotation extends PsiAnnotationWrapper {
}
public
static
JetValueParameterAnnotation
get
(
PsiParameter
psiParameter
)
{
return
new
JetValueParameterAnnotation
(
psiParameter
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_VALUE_PARAMETER
.
getFqName
()));
return
new
JetValueParameterAnnotation
(
psiParameter
.
getModifierList
().
findAnnotation
(
JvmStdlibNames
.
JET_VALUE_PARAMETER
.
getFqName
()
.
getFqName
()
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录