KJS: implement throw* functions in Kotlin

This commit is contained in:
Zalim Bashorov
2016-12-26 01:22:00 +03:00
parent 6f56079f7e
commit 3ef1321841
2 changed files with 32 additions and 12 deletions
@@ -0,0 +1,32 @@
/*
* Copyright 2010-2016 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.
*/
// a package is omitted to get declarations directly under the module
@JsName("throwNPE")
private fun throwNPE(message: String) {
throw NullPointerException(message)
}
@JsName("throwCCE")
private fun throwCCE() {
throw ClassCastException("Illegal cast")
}
@JsName("throwISE")
private fun throwISE(message: String) {
throw IllegalStateException(message)
}
-12
View File
@@ -168,18 +168,6 @@ Kotlin.numberToChar = function (a) {
return Kotlin.toChar(Kotlin.numberToInt(a));
};
Kotlin.throwNPE = function (message) {
throw new Kotlin.kotlin.NullPointerException(message);
};
Kotlin.throwCCE = function () {
throw new Kotlin.kotlin.ClassCastException("Illegal cast");
};
Kotlin.throwISE = function (message) {
throw new Kotlin.kotlin.IllegalStateException(message);
};
/** @const */
var POW_2_32 = 4294967296;
// TODO: consider switching to Symbol type once we are on ES6.