Rename unary plus/minus in builtins and stdlib
This commit is contained in:
@@ -159,6 +159,12 @@
|
||||
<target name="init">
|
||||
<mkdir dir="${kotlin-home}"/>
|
||||
<mkdir dir="${kotlin-home}/lib"/>
|
||||
|
||||
<sequential unless:true="${bootstrap.or.local.build}">
|
||||
<copy file="${basedir}/compiler/frontend/OperationsMapGenerated2.kt"
|
||||
tofile="${basedir}/compiler/frontend/src/org/jetbrains/kotlin/resolve/constants/evaluate/OperationsMapGenerated.kt"
|
||||
overwrite="true"/>
|
||||
</sequential>
|
||||
</target>
|
||||
|
||||
<target name="prepare-dist">
|
||||
|
||||
@@ -0,0 +1,355 @@
|
||||
/*
|
||||
* 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.resolve.constants.evaluate
|
||||
|
||||
import java.math.BigInteger
|
||||
import java.util.HashMap
|
||||
|
||||
/** This file is generated by org.jetbrains.kotlin.generators.evaluate:generate(). DO NOT MODIFY MANUALLY */
|
||||
|
||||
internal val emptyBinaryFun: Function2<BigInteger, BigInteger, BigInteger> = { a, b -> BigInteger("0") }
|
||||
internal val emptyUnaryFun: Function1<Long, Long> = { a -> 1.toLong() }
|
||||
|
||||
internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?, Any>, Function1<Long, Long>>>
|
||||
= hashMapOf<UnaryOperationKey<*>, Pair<Function1<Any?, Any>, Function1<Long, Long>>>(
|
||||
unaryOperation(BOOLEAN, "not", { a -> a.not() }, emptyUnaryFun),
|
||||
unaryOperation(BOOLEAN, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "unaryMinus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(BYTE, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "unaryMinus", { a -> a.unaryMinus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "unaryMinus", { a -> a.unaryMinus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "unaryMinus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(INT, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "unaryMinus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(LONG, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "unaryMinus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(SHORT, "unaryPlus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(STRING, "length", { a -> a.length() }, emptyUnaryFun),
|
||||
unaryOperation(STRING, "toString", { a -> a.toString() }, emptyUnaryFun)
|
||||
)
|
||||
|
||||
internal val binaryOperations: HashMap<BinaryOperationKey<*, *>, Pair<Function2<Any?, Any?, Any>, Function2<BigInteger, BigInteger, BigInteger>>>
|
||||
= hashMapOf<BinaryOperationKey<*, *>, Pair<Function2<Any?, Any?, Any>, Function2<BigInteger, BigInteger, BigInteger>>>(
|
||||
binaryOperation(BOOLEAN, BOOLEAN, "and", { a, b -> a.and(b) }, emptyBinaryFun),
|
||||
binaryOperation(BOOLEAN, BOOLEAN, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BOOLEAN, BOOLEAN, "or", { a, b -> a.or(b) }, emptyBinaryFun),
|
||||
binaryOperation(BOOLEAN, BOOLEAN, "xor", { a, b -> a.xor(b) }, emptyBinaryFun),
|
||||
binaryOperation(BOOLEAN, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, BYTE, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(BYTE, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(BYTE, LONG, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(BYTE, SHORT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(BYTE, BYTE, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(BYTE, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(BYTE, LONG, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(BYTE, SHORT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(BYTE, BYTE, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(BYTE, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(BYTE, LONG, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(BYTE, SHORT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(BYTE, BYTE, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(BYTE, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(BYTE, LONG, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(BYTE, SHORT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(BYTE, BYTE, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(BYTE, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(BYTE, INT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(BYTE, LONG, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(BYTE, SHORT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(BYTE, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(CHAR, CHAR, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(CHAR, CHAR, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(CHAR, INT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(CHAR, INT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(CHAR, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, BYTE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, INT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, LONG, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, SHORT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(DOUBLE, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, BYTE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, INT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, LONG, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, SHORT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(FLOAT, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "and", { a, b -> a.and(b) }, { a, b -> a.and(b) }),
|
||||
binaryOperation(INT, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, BYTE, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(INT, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(INT, LONG, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(INT, SHORT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(INT, BYTE, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(INT, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(INT, LONG, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(INT, SHORT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(INT, BYTE, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(INT, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(INT, LONG, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(INT, SHORT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(INT, INT, "or", { a, b -> a.or(b) }, { a, b -> a.or(b) }),
|
||||
binaryOperation(INT, BYTE, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(INT, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(INT, LONG, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(INT, SHORT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(INT, INT, "shl", { a, b -> a.shl(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "shr", { a, b -> a.shr(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, BYTE, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(INT, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(INT, LONG, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(INT, SHORT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(INT, INT, "ushr", { a, b -> a.ushr(b) }, emptyBinaryFun),
|
||||
binaryOperation(INT, INT, "xor", { a, b -> a.xor(b) }, { a, b -> a.xor(b) }),
|
||||
binaryOperation(INT, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, LONG, "and", { a, b -> a.and(b) }, { a, b -> a.and(b) }),
|
||||
binaryOperation(LONG, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, BYTE, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(LONG, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(LONG, LONG, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(LONG, SHORT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(LONG, BYTE, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(LONG, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(LONG, LONG, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(LONG, SHORT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(LONG, BYTE, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(LONG, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(LONG, LONG, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(LONG, SHORT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(LONG, LONG, "or", { a, b -> a.or(b) }, { a, b -> a.or(b) }),
|
||||
binaryOperation(LONG, BYTE, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(LONG, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(LONG, LONG, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(LONG, SHORT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(LONG, INT, "shl", { a, b -> a.shl(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "shr", { a, b -> a.shr(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, BYTE, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(LONG, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, INT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(LONG, LONG, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(LONG, SHORT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(LONG, INT, "ushr", { a, b -> a.ushr(b) }, emptyBinaryFun),
|
||||
binaryOperation(LONG, LONG, "xor", { a, b -> a.xor(b) }, { a, b -> a.xor(b) }),
|
||||
binaryOperation(LONG, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, BYTE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, DOUBLE, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, LONG, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, SHORT, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, BYTE, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(SHORT, DOUBLE, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "div", { a, b -> a.div(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(SHORT, LONG, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(SHORT, SHORT, "div", { a, b -> a.div(b) }, { a, b -> a.divide(b) }),
|
||||
binaryOperation(SHORT, BYTE, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(SHORT, DOUBLE, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "minus", { a, b -> a.minus(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(SHORT, LONG, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(SHORT, SHORT, "minus", { a, b -> a.minus(b) }, { a, b -> a.subtract(b) }),
|
||||
binaryOperation(SHORT, BYTE, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(SHORT, DOUBLE, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "mod", { a, b -> a.mod(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(SHORT, LONG, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(SHORT, SHORT, "mod", { a, b -> a.mod(b) }, { a, b -> a.mod(b) }),
|
||||
binaryOperation(SHORT, BYTE, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(SHORT, DOUBLE, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(SHORT, LONG, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(SHORT, SHORT, "plus", { a, b -> a.plus(b) }, { a, b -> a.add(b) }),
|
||||
binaryOperation(SHORT, BYTE, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(SHORT, DOUBLE, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, FLOAT, "times", { a, b -> a.times(b) }, emptyBinaryFun),
|
||||
binaryOperation(SHORT, INT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(SHORT, LONG, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(SHORT, SHORT, "times", { a, b -> a.times(b) }, { a, b -> a.multiply(b) }),
|
||||
binaryOperation(SHORT, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun),
|
||||
binaryOperation(STRING, STRING, "compareTo", { a, b -> a.compareTo(b) }, emptyBinaryFun),
|
||||
binaryOperation(STRING, INT, "get", { a, b -> a.get(b) }, emptyBinaryFun),
|
||||
binaryOperation(STRING, ANY, "plus", { a, b -> a.plus(b) }, emptyBinaryFun),
|
||||
binaryOperation(STRING, ANY, "equals", { a, b -> a.equals(b) }, emptyBinaryFun)
|
||||
)
|
||||
-12
@@ -28,8 +28,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
= hashMapOf<UnaryOperationKey<*>, Pair<Function1<Any?, Any>, Function1<Long, Long>>>(
|
||||
unaryOperation(BOOLEAN, "not", { a -> a.not() }, emptyUnaryFun),
|
||||
unaryOperation(BOOLEAN, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(BYTE, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
@@ -48,8 +46,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(CHAR, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "minus", { a -> a.minus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
@@ -60,8 +56,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(DOUBLE, "unaryMinus", { a -> a.minus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "unaryPlus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "minus", { a -> a.minus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
@@ -73,8 +67,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(FLOAT, "unaryPlus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(INT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
@@ -86,8 +78,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(INT, "unaryPlus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(LONG, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
@@ -98,8 +88,6 @@ internal val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(LONG, "unaryMinus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(LONG, "unaryPlus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toString", { a -> a.toString() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(SHORT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
|
||||
+12
-12
@@ -62,7 +62,6 @@ public final class Byte : kotlin.Number, kotlin.Comparable<kotlin.Byte> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Byte
|
||||
public final operator fun minus(): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -75,7 +74,6 @@ public final class Byte : kotlin.Number, kotlin.Comparable<kotlin.Byte> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -101,6 +99,8 @@ public final class Byte : kotlin.Number, kotlin.Comparable<kotlin.Byte> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion : kotlin.IntegerConstants<kotlin.Byte> {
|
||||
/*primary*/ private constructor Companion()
|
||||
@@ -331,7 +331,6 @@ public final class Double : kotlin.Number, kotlin.Comparable<kotlin.Double> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun inc(): kotlin.Double
|
||||
public final operator fun minus(): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
@@ -344,7 +343,6 @@ public final class Double : kotlin.Number, kotlin.Comparable<kotlin.Double> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Double
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Double
|
||||
public final operator fun plus(): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Double
|
||||
@@ -370,6 +368,8 @@ public final class Double : kotlin.Number, kotlin.Comparable<kotlin.Double> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Double
|
||||
public final operator fun unaryPlus(): kotlin.Double
|
||||
|
||||
public companion object Companion : kotlin.FloatingPointConstants<kotlin.Double> {
|
||||
/*primary*/ private constructor Companion()
|
||||
@@ -481,7 +481,6 @@ public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun inc(): kotlin.Float
|
||||
public final operator fun minus(): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -494,7 +493,6 @@ public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Float
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Float
|
||||
public final operator fun plus(): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Float
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -520,6 +518,8 @@ public final class Float : kotlin.Number, kotlin.Comparable<kotlin.Float> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Float
|
||||
public final operator fun unaryPlus(): kotlin.Float
|
||||
|
||||
public companion object Companion : kotlin.FloatingPointConstants<kotlin.Float> {
|
||||
/*primary*/ private constructor Companion()
|
||||
@@ -635,7 +635,6 @@ public final class Int : kotlin.Number, kotlin.Comparable<kotlin.Int> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Int
|
||||
public final fun inv(): kotlin.Int
|
||||
public final operator fun minus(): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -649,7 +648,6 @@ public final class Int : kotlin.Number, kotlin.Comparable<kotlin.Int> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final infix fun or(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun plus(): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -677,6 +675,8 @@ public final class Int : kotlin.Number, kotlin.Comparable<kotlin.Int> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
public final infix fun ushr(/*0*/ bits: kotlin.Int): kotlin.Int
|
||||
public final infix fun xor(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
|
||||
@@ -811,7 +811,6 @@ public final class Long : kotlin.Number, kotlin.Comparable<kotlin.Long> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final operator fun inc(): kotlin.Long
|
||||
public final fun inv(): kotlin.Long
|
||||
public final operator fun minus(): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -825,7 +824,6 @@ public final class Long : kotlin.Number, kotlin.Comparable<kotlin.Long> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Long
|
||||
public final infix fun or(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun plus(): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Long
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -853,6 +851,8 @@ public final class Long : kotlin.Number, kotlin.Comparable<kotlin.Long> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Long
|
||||
public final operator fun unaryPlus(): kotlin.Long
|
||||
public final infix fun ushr(/*0*/ bits: kotlin.Int): kotlin.Long
|
||||
public final infix fun xor(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
|
||||
@@ -1127,7 +1127,6 @@ public final class Short : kotlin.Number, kotlin.Comparable<kotlin.Short> {
|
||||
public final operator fun div(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun div(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun inc(): kotlin.Short
|
||||
public final operator fun minus(): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun minus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun minus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -1140,7 +1139,6 @@ public final class Short : kotlin.Number, kotlin.Comparable<kotlin.Short> {
|
||||
public final operator fun mod(/*0*/ other: kotlin.Int): kotlin.Int
|
||||
public final operator fun mod(/*0*/ other: kotlin.Long): kotlin.Long
|
||||
public final operator fun mod(/*0*/ other: kotlin.Short): kotlin.Int
|
||||
public final operator fun plus(): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Byte): kotlin.Int
|
||||
public final operator fun plus(/*0*/ other: kotlin.Double): kotlin.Double
|
||||
public final operator fun plus(/*0*/ other: kotlin.Float): kotlin.Float
|
||||
@@ -1166,6 +1164,8 @@ public final class Short : kotlin.Number, kotlin.Comparable<kotlin.Short> {
|
||||
public open override /*1*/ fun toInt(): kotlin.Int
|
||||
public open override /*1*/ fun toLong(): kotlin.Long
|
||||
public open override /*1*/ fun toShort(): kotlin.Short
|
||||
public final operator fun unaryMinus(): kotlin.Int
|
||||
public final operator fun unaryPlus(): kotlin.Int
|
||||
|
||||
public companion object Companion : kotlin.IntegerConstants<kotlin.Short> {
|
||||
/*primary*/ private constructor Companion()
|
||||
|
||||
@@ -36,7 +36,7 @@ L0:
|
||||
v(val v = -1)
|
||||
r(1) -> <v1>
|
||||
mark(-1)
|
||||
call(-1, minus|<v1>) -> <v2>
|
||||
call(-1, unaryMinus|<v1>) -> <v2>
|
||||
w(v|<v2>)
|
||||
2 mark({ x = w z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](x) -> <v3>
|
||||
|
||||
@@ -31,7 +31,7 @@ class A(val w: Char) {
|
||||
<v6>: A NEW: magic[IMPLICIT_RECEIVER](z) -> <v6>
|
||||
<v9>: A NEW: magic[IMPLICIT_RECEIVER](y) -> <v9>
|
||||
1 <v1>: Int NEW: r(1) -> <v1>
|
||||
-1 <v2>: Int NEW: call(-1, minus|<v1>) -> <v2>
|
||||
-1 <v2>: Int NEW: call(-1, unaryMinus|<v1>) -> <v2>
|
||||
w <v5>: Int NEW: r(w|<v4>) -> <v5>
|
||||
8 <v7>: Int NEW: r(8) -> <v7>
|
||||
z = 8 !<v8>: *
|
||||
|
||||
@@ -67,7 +67,7 @@ L2 [after default value for parameter u]:
|
||||
v(val v = -1)
|
||||
r(1) -> <v9>
|
||||
mark(-1)
|
||||
call(-1, minus|<v9>) -> <v10>
|
||||
call(-1, unaryMinus|<v9>) -> <v10>
|
||||
w(v|<v10>)
|
||||
2 mark({ x = w z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](x) -> <v11>
|
||||
|
||||
@@ -45,7 +45,7 @@ u <v6>: Int NEW: r(u) -> <v6>
|
||||
w.toInt() + u <v7>: Int NEW: call(w.toInt() + u, plus|<v5>, <v6>) -> <v7>
|
||||
B(w.toInt() + u) <v8>: * NEW: call(B(w.toInt() + u), <init>|<v7>) -> <v8>
|
||||
1 <v9>: Int NEW: r(1) -> <v9>
|
||||
-1 <v10>: Int NEW: call(-1, minus|<v9>) -> <v10>
|
||||
-1 <v10>: Int NEW: call(-1, unaryMinus|<v9>) -> <v10>
|
||||
w <v13>: Int NEW: r(w|<v12>) -> <v13>
|
||||
8 <v15>: Int NEW: r(8) -> <v15>
|
||||
z = 8 !<v16>: *
|
||||
|
||||
@@ -57,7 +57,7 @@ L0:
|
||||
v(val v = -1)
|
||||
r(1) -> <v1>
|
||||
mark(-1)
|
||||
call(-1, minus|<v1>) -> <v2>
|
||||
call(-1, unaryMinus|<v1>) -> <v2>
|
||||
w(v|<v2>)
|
||||
2 mark({ z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](z) -> <v3>
|
||||
@@ -107,7 +107,7 @@ L2 [after default value for parameter b]:
|
||||
v(val v = -1)
|
||||
r(1) -> <v5>
|
||||
mark(-1)
|
||||
call(-1, minus|<v5>) -> <v6>
|
||||
call(-1, unaryMinus|<v5>) -> <v6>
|
||||
w(v|<v6>)
|
||||
2 mark({ z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](z) -> <v7>
|
||||
|
||||
+2
-2
@@ -73,7 +73,7 @@ L0:
|
||||
v(val v = -1)
|
||||
r(1) -> <v2>
|
||||
mark(-1)
|
||||
call(-1, minus|<v2>) -> <v3>
|
||||
call(-1, unaryMinus|<v2>) -> <v3>
|
||||
w(v|<v3>)
|
||||
2 mark({ z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](z) -> <v4>
|
||||
@@ -124,7 +124,7 @@ L2 [after default value for parameter b]:
|
||||
v(val v = -1)
|
||||
r(1) -> <v6>
|
||||
mark(-1)
|
||||
call(-1, minus|<v6>) -> <v7>
|
||||
call(-1, unaryMinus|<v6>) -> <v7>
|
||||
w(v|<v7>)
|
||||
2 mark({ z = 8 })
|
||||
magic[IMPLICIT_RECEIVER](z) -> <v8>
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
fun box(): String {
|
||||
val a1: Byte = 1.minus()
|
||||
val a2: Short = 1.minus()
|
||||
val a3: Int = 1.minus()
|
||||
val a4: Long = 1.minus()
|
||||
val a5: Double = 1.0.minus()
|
||||
val a6: Float = 1f.minus()
|
||||
val a1: Byte = 1.unaryMinus()
|
||||
val a2: Short = 1.unaryMinus()
|
||||
val a3: Int = 1.unaryMinus()
|
||||
val a4: Long = 1.unaryMinus()
|
||||
val a5: Double = 1.0.unaryMinus()
|
||||
val a6: Float = 1f.unaryMinus()
|
||||
|
||||
if (a1 != (-1).toByte()) return "fail 1"
|
||||
if (a2 != (-1).toShort()) return "fail -1"
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
fun box(): String {
|
||||
val a1: Byte? = 1.minus()
|
||||
val a2: Short? = 1.minus()
|
||||
val a3: Int? = 1.minus()
|
||||
val a4: Long? = 1.minus()
|
||||
val a5: Double? = 1.0.minus()
|
||||
val a6: Float? = 1f.minus()
|
||||
val a1: Byte? = 1.unaryMinus()
|
||||
val a2: Short? = 1.unaryMinus()
|
||||
val a3: Int? = 1.unaryMinus()
|
||||
val a4: Long? = 1.unaryMinus()
|
||||
val a5: Double? = 1.0.unaryMinus()
|
||||
val a6: Float? = 1f.unaryMinus()
|
||||
|
||||
if (a1!! != (-1).toByte()) return "fail 1"
|
||||
if (a2!! != (-1).toShort()) return "fail 2"
|
||||
|
||||
+2
-2
@@ -12,8 +12,8 @@ fun test(x : Int?, a : A?) {
|
||||
x?.plus(1)
|
||||
x <!UNSAFE_INFIX_CALL!>+<!> 1
|
||||
<!UNSAFE_CALL!>-<!>x
|
||||
x<!UNSAFE_CALL!>.<!>minus()
|
||||
x?.minus()
|
||||
x<!UNSAFE_CALL!>.<!>unaryMinus()
|
||||
x?.unaryMinus()
|
||||
|
||||
a<!UNSAFE_CALL!>.<!>plus(1)
|
||||
a?.plus(1)
|
||||
|
||||
+13
-12
@@ -40,10 +40,11 @@ private val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
= hashMapOf<UnaryOperationKey<*>, Pair<Function1<Any?, Any>, Function1<Long, Long>>>(
|
||||
unaryOperation(BOOLEAN, "not!", { a -> a.not() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(BYTE, "minus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(BYTE, "minus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(BYTE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(BYTE, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
@@ -56,48 +57,48 @@ private val unaryOperations: HashMap<UnaryOperationKey<*>, Pair<Function1<Any?,
|
||||
unaryOperation(CHAR, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(CHAR, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "minus", { a -> a.minus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "minus", { a -> a.unaryMinus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(DOUBLE, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "minus", { a -> a.minus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "minus", { a -> a.unaryMinus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(FLOAT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(INT, "minus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(INT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(INT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toByte", { a -> a.toByte() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "inv", { a -> a.inv() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(LONG, "minus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(LONG, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(LONG, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toInt", { a -> a.toInt() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "minus", { a -> a.minus() }, { a -> a.minus() }),
|
||||
unaryOperation(SHORT, "minus", { a -> a.unaryMinus() }, { a -> a.unaryMinus() }),
|
||||
unaryOperation(SHORT, "toChar", { a -> a.toChar() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toLong", { a -> a.toLong() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "plus", { a -> a.plus() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "plus", { a -> a.unaryPlus() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toFloat", { a -> a.toFloat() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toDouble", { a -> a.toDouble() }, emptyUnaryFun),
|
||||
unaryOperation(SHORT, "toShort", { a -> a.toShort() }, emptyUnaryFun),
|
||||
|
||||
@@ -432,7 +432,7 @@ public class PackageGenTest extends CodegenTestCase {
|
||||
}
|
||||
|
||||
public void testExplicitCallOfUnaryMinusIntrinsic() throws Exception {
|
||||
loadText("fun foo(a: Int) = a.minus()");
|
||||
loadText("fun foo(a: Int) = a.unaryMinus()");
|
||||
Method main = generateFunction();
|
||||
assertEquals(-1, ((Integer) main.invoke(null, 1)).intValue());
|
||||
}
|
||||
|
||||
@@ -132,9 +132,9 @@ public class Byte private () : Number, Comparable<Byte> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Byte
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Int
|
||||
public operator fun unaryPlus(): Int
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Int
|
||||
public operator fun unaryMinus(): Int
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): ByteRange
|
||||
@@ -272,9 +272,9 @@ public class Short private () : Number, Comparable<Short> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Short
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Int
|
||||
public operator fun unaryPlus(): Int
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Int
|
||||
public operator fun unaryMinus(): Int
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): ShortRange
|
||||
@@ -412,9 +412,9 @@ public class Int private () : Number, Comparable<Int> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Int
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Int
|
||||
public operator fun unaryPlus(): Int
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Int
|
||||
public operator fun unaryMinus(): Int
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): IntRange
|
||||
@@ -567,9 +567,9 @@ public class Long private () : Number, Comparable<Long> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Long
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Long
|
||||
public operator fun unaryPlus(): Long
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Long
|
||||
public operator fun unaryMinus(): Long
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): LongRange
|
||||
@@ -722,9 +722,9 @@ public class Float private () : Number, Comparable<Float> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Float
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Float
|
||||
public operator fun unaryPlus(): Float
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Float
|
||||
public operator fun unaryMinus(): Float
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): FloatRange
|
||||
@@ -862,9 +862,9 @@ public class Double private () : Number, Comparable<Double> {
|
||||
/** Decrements this value. */
|
||||
public operator fun dec(): Double
|
||||
/** Returns this value. */
|
||||
public operator fun plus(): Double
|
||||
public operator fun unaryPlus(): Double
|
||||
/** Returns the negative of this value. */
|
||||
public operator fun minus(): Double
|
||||
public operator fun unaryMinus(): Double
|
||||
|
||||
/** Creates a range from this value to the specified [other] value. */
|
||||
public operator fun rangeTo(other: Byte): DoubleRange
|
||||
|
||||
@@ -31,8 +31,8 @@ class GeneratePrimitives(out: PrintWriter) : BuiltInsSourceGenerator(out) {
|
||||
private val unaryOperators: Map<String, String> = mapOf(
|
||||
"inc" to "Increments this value.",
|
||||
"dec" to "Decrements this value.",
|
||||
"plus" to "Returns this value.",
|
||||
"minus" to "Returns the negative of this value.")
|
||||
"unaryPlus" to "Returns this value.",
|
||||
"unaryMinus" to "Returns the negative of this value.")
|
||||
private val shiftOperators: Map<String, String> = mapOf(
|
||||
"shl" to "Shifts this value left by [bits].",
|
||||
"shr" to "Shifts this value right by [bits], filling the leftmost bits with copies of the sign bit.",
|
||||
@@ -131,7 +131,7 @@ class GeneratePrimitives(out: PrintWriter) : BuiltInsSourceGenerator(out) {
|
||||
private fun generateUnaryOperators(kind: PrimitiveType) {
|
||||
for ((name, doc) in unaryOperators) {
|
||||
val returnType = if (kind in listOf(PrimitiveType.SHORT, PrimitiveType.BYTE, PrimitiveType.CHAR) &&
|
||||
name in listOf("plus", "minus")) "Int" else kind.capitalized
|
||||
name in listOf("unaryPlus", "unaryMinus")) "Int" else kind.capitalized
|
||||
out.println(" /** $doc */")
|
||||
out.println(" public operator fun $name(): $returnType")
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
fun foo(x: Int) {
|
||||
(x <caret>shl 1).minus()
|
||||
(x <caret>shl 1).unaryMinus()
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
fun foo(x: Int) {
|
||||
(x.shl(1)).minus()
|
||||
(x.shl(1)).unaryMinus()
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
fun foo() {
|
||||
<selection>-1</selection>
|
||||
1.minus()
|
||||
1.unaryMinus()
|
||||
}
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
-1
|
||||
|
||||
1.minus()
|
||||
1.unaryMinus()
|
||||
Vendored
+2
-2
@@ -827,11 +827,11 @@
|
||||
return this.toNumber();
|
||||
};
|
||||
|
||||
Kotlin.Long.prototype.plus = function() {
|
||||
Kotlin.Long.prototype.unaryPlus = function() {
|
||||
return this;
|
||||
};
|
||||
|
||||
Kotlin.Long.prototype.minus = Kotlin.Long.prototype.negate;
|
||||
Kotlin.Long.prototype.unaryMinus = Kotlin.Long.prototype.negate;
|
||||
Kotlin.Long.prototype.inv = Kotlin.Long.prototype.not;
|
||||
|
||||
Kotlin.Long.prototype.rangeTo = function (other) {
|
||||
|
||||
@@ -29,7 +29,7 @@ public operator fun BigInteger.div(other: BigInteger) : BigInteger = this.divide
|
||||
/**
|
||||
* Enables the use of the unary `-` operator for [BigInteger] instances.
|
||||
*/
|
||||
public operator fun BigInteger.minus() : BigInteger = this.negate()
|
||||
public operator fun BigInteger.unaryMinus() : BigInteger = this.negate()
|
||||
|
||||
|
||||
/**
|
||||
@@ -60,4 +60,4 @@ public operator fun BigDecimal.mod(other: BigDecimal) : BigDecimal = this.remain
|
||||
/**
|
||||
* Enables the use of the unary `-` operator for [BigDecimal] instances.
|
||||
*/
|
||||
public operator fun BigDecimal.minus() : BigDecimal = this.negate()
|
||||
public operator fun BigDecimal.unaryMinus() : BigDecimal = this.negate()
|
||||
|
||||
Reference in New Issue
Block a user