Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
3468e836
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,发现更多精彩内容 >>
提交
3468e836
编写于
10月 13, 2015
作者:
P
Pavel V. Talanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Drop ID property which would be unsupported
上级
2e75f7f1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
29 addition
and
33 deletion
+29
-33
js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt
...brains/kotlin/js/translate/declaration/ClassTranslator.kt
+3
-4
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/LongOperationFIF.kt
...anslate/intrinsic/functions/factories/LongOperationFIF.kt
+8
-8
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/NumberAndCharConversionFIF.kt
...trinsic/functions/factories/NumberAndCharConversionFIF.kt
+2
-2
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/LongCompareToBOIF.kt
...lin/js/translate/intrinsic/operation/LongCompareToBOIF.kt
+15
-12
js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/utils.kt
...ator/src/org/jetbrains/kotlin/js/translate/utils/utils.kt
+1
-7
未找到文件。
js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt
浏览文件 @
3468e836
...
...
@@ -51,9 +51,8 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils.*
import
org.jetbrains.kotlin.types.JetType
import
org.jetbrains.kotlin.types.TypeConstructor
import
org.jetbrains.kotlin.types.TypeUtils.topologicallySortSuperclassesAndRecordAllInstances
import
java.util.ArrayList
import
java.util.HashMap
import
java.util.HashSet
import
org.jetbrains.kotlin.utils.identity
import
java.util.*
/**
* Generates a definition of a single class.
...
...
@@ -243,7 +242,7 @@ public class ClassTranslator private constructor(
private
fun
generateOtherBridges
(
properties
:
MutableList
<
JsPropertyInitializer
>)
{
for
(
memberDescriptor
in
descriptor
.
getDefaultType
().
getMemberScope
().
getAllDescriptors
())
{
if
(
memberDescriptor
is
FunctionDescriptor
)
{
val
bridgesToGenerate
=
generateBridgesForFunctionDescriptor
<
FunctionDescriptor
>(
memberDescriptor
,
ID
)
val
bridgesToGenerate
=
generateBridgesForFunctionDescriptor
(
memberDescriptor
,
identity
()
)
for
(
bridge
in
bridgesToGenerate
)
{
generateBridge
(
bridge
,
properties
)
...
...
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/LongOperationFIF.kt
浏览文件 @
3468e836
...
...
@@ -16,14 +16,14 @@
package
org.jetbrains.kotlin.js.translate.intrinsic.functions.factories
import
com.google.dart.compiler.backend.js.ast.
*
import
com.google.dart.compiler.backend.js.ast.
JsExpression
import
org.jetbrains.kotlin.descriptors.FunctionDescriptor
import
org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern
import
org.jetbrains.kotlin.js.translate.context.Namer
import
org.jetbrains.kotlin.js.translate.context.TranslationContext
import
org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntrinsic
import
org.jetbrains.kotlin.js.translate.utils.ID
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.*
import
org.jetbrains.kotlin.utils.identity
as
ID
// TODO Move to FunctionCallCases
public
object
LongOperationFIF
:
FunctionIntrinsicFactory
{
...
...
@@ -88,17 +88,17 @@ public object LongOperationFIF : FunctionIntrinsicFactory {
LONG_EQUALS_ANY
.
apply
(
descriptor
)
||
LONG_BINARY_OPERATION_LONG
.
apply
(
descriptor
)
||
LONG_BIT_SHIFTS
.
apply
(
descriptor
)
->
longBinaryIntrinsics
[
operationName
]
INTEGER_BINARY_OPERATION_LONG
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
{
longFromInt
(
it
)
},
ID
)
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
{
longFromInt
(
it
)
},
ID
()
)
LONG_BINARY_OPERATION_INTEGER
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
ID
,
{
longFromInt
(
it
)
})
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
ID
()
,
{
longFromInt
(
it
)
})
CHAR_BINARY_OPERATION_LONG
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
{
longFromInt
(
charToInt
(
it
))
},
ID
)
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
{
longFromInt
(
charToInt
(
it
))
},
ID
()
)
LONG_BINARY_OPERATION_CHAR
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
ID
,
{
longFromInt
(
charToInt
(
it
))
})
wrapIntrinsicIfPresent
(
longBinaryIntrinsics
[
operationName
],
ID
()
,
{
longFromInt
(
charToInt
(
it
))
})
FLOATING_POINT_BINARY_OPERATION_LONG
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
floatBinaryIntrinsics
[
operationName
],
ID
,
{
invokeMethod
(
it
,
Namer
.
LONG_TO_NUMBER
)
})
wrapIntrinsicIfPresent
(
floatBinaryIntrinsics
[
operationName
],
ID
()
,
{
invokeMethod
(
it
,
Namer
.
LONG_TO_NUMBER
)
})
LONG_BINARY_OPERATION_FLOATING_POINT
.
apply
(
descriptor
)
->
wrapIntrinsicIfPresent
(
floatBinaryIntrinsics
[
operationName
],
{
invokeMethod
(
it
,
Namer
.
LONG_TO_NUMBER
)
},
ID
)
wrapIntrinsicIfPresent
(
floatBinaryIntrinsics
[
operationName
],
{
invokeMethod
(
it
,
Namer
.
LONG_TO_NUMBER
)
},
ID
()
)
else
->
null
}
...
...
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/NumberAndCharConversionFIF.kt
浏览文件 @
3468e836
...
...
@@ -21,8 +21,8 @@ import com.google.dart.compiler.backend.js.ast.JsExpression
import
org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern
import
org.jetbrains.kotlin.js.translate.context.TranslationContext
import
org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntrinsic
import
org.jetbrains.kotlin.js.translate.utils.ID
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.*
import
org.jetbrains.kotlin.utils.identity
public
object
NumberAndCharConversionFIF
:
CompositeFIF
()
{
val
USE_AS_IS
=
Predicates
.
or
(
...
...
@@ -71,7 +71,7 @@ public object NumberAndCharConversionFIF : CompositeFIF() {
}
init
{
add
(
USE_AS_IS
!!
,
ConversionUnaryIntrinsic
(
ID
))
add
(
USE_AS_IS
!!
,
ConversionUnaryIntrinsic
(
identity
()
))
for
((
stringPattern
,
intrinsic
)
in
convertOperations
)
{
add
(
pattern
(
stringPattern
),
intrinsic
)
}
...
...
js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/operation/LongCompareToBOIF.kt
浏览文件 @
3468e836
...
...
@@ -16,20 +16,23 @@
package
org.jetbrains.kotlin.js.translate.intrinsic.operation
import
com.google.common.collect.ImmutableSet
import
com.google.dart.compiler.backend.js.ast.*
import
com.google.dart.compiler.backend.js.ast.JsBinaryOperation
import
com.google.dart.compiler.backend.js.ast.JsExpression
import
com.google.dart.compiler.backend.js.ast.JsNumberLiteral
import
org.jetbrains.kotlin.descriptors.FunctionDescriptor
import
org.jetbrains.kotlin.psi.JetBinaryExpression
import
org.jetbrains.kotlin.types.expressions.OperatorConventions
import
org.jetbrains.kotlin.lexer.JetToken
import
org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern
import
org.jetbrains.kotlin.js.translate.context.Namer
import
org.jetbrains.kotlin.js.translate.context.TranslationContext
import
org.jetbrains.kotlin.js.translate.operation.OperatorTable
import
org.jetbrains.kotlin.js.translate.utils.ID
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.*
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.charToInt
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.compareForObject
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.invokeMethod
import
org.jetbrains.kotlin.js.translate.utils.JsAstUtils.longFromInt
import
org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils
import
org.jetbrains.kotlin.js.translate.utils.PsiUtils.getOperationToken
import
org.jetbrains.kotlin.psi.JetBinaryExpression
import
org.jetbrains.kotlin.types.expressions.OperatorConventions
import
org.jetbrains.kotlin.utils.identity
as
ID
public
object
LongCompareToBOIF
:
BinaryOperationIntrinsicFactory
{
...
...
@@ -63,11 +66,11 @@ public object LongCompareToBOIF : BinaryOperationIntrinsicFactory {
}
}
private
val
INTEGER_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
{
longFromInt
(
it
)
},
ID
)
private
val
CHAR_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
{
longFromInt
(
charToInt
(
it
))
},
ID
)
private
val
LONG_COMPARE_TO_INTEGER
=
CompareToBinaryIntrinsic
(
ID
,
{
longFromInt
(
it
)
})
private
val
LONG_COMPARE_TO_CHAR
=
CompareToBinaryIntrinsic
(
ID
,
{
longFromInt
(
charToInt
(
it
))
})
private
val
LONG_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
ID
,
ID
)
private
val
INTEGER_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
{
longFromInt
(
it
)
},
ID
()
)
private
val
CHAR_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
{
longFromInt
(
charToInt
(
it
))
},
ID
()
)
private
val
LONG_COMPARE_TO_INTEGER
=
CompareToBinaryIntrinsic
(
ID
()
,
{
longFromInt
(
it
)
})
private
val
LONG_COMPARE_TO_CHAR
=
CompareToBinaryIntrinsic
(
ID
()
,
{
longFromInt
(
charToInt
(
it
))
})
private
val
LONG_COMPARE_TO_LONG
=
CompareToBinaryIntrinsic
(
ID
(),
ID
()
)
override
public
fun
getSupportTokens
()
=
OperatorConventions
.
COMPARISON_OPERATIONS
...
...
js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/utils.kt
浏览文件 @
3468e836
...
...
@@ -16,11 +16,7 @@
package
org.jetbrains.kotlin.js.translate.utils
import
com.google.dart.compiler.backend.js.ast.JsExpression
import
com.google.dart.compiler.backend.js.ast.JsInvocation
import
com.google.dart.compiler.backend.js.ast.JsNameRef
import
com.google.dart.compiler.backend.js.ast.JsParameter
import
com.google.dart.compiler.backend.js.ast.JsPropertyInitializer
import
com.google.dart.compiler.backend.js.ast.*
import
com.intellij.util.SmartList
import
org.jetbrains.kotlin.descriptors.FunctionDescriptor
import
org.jetbrains.kotlin.js.translate.context.Namer
...
...
@@ -28,8 +24,6 @@ import org.jetbrains.kotlin.js.translate.context.TranslationContext
import
org.jetbrains.kotlin.js.translate.utils.TranslationUtils.simpleReturnFunction
import
org.jetbrains.kotlin.resolve.DescriptorUtils
public
val
<
T
>
ID
:
(
T
)
->
T
=
{
it
}
public
fun
generateDelegateCall
(
fromDescriptor
:
FunctionDescriptor
,
toDescriptor
:
FunctionDescriptor
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录