Drop ID property which would be unsupported
This commit is contained in:
+3
-4
@@ -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)
|
||||
|
||||
+8
-8
@@ -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
|
||||
}
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
|
||||
+15
-12
@@ -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
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user