Files
kotlin-fork/js/js.translator/testFiles/kotlinLib/cases/isComplexTest.js
T
Erokhin Stanislav 6422167b5c JS backend: first step of remove _c object from output code.
createClass -> createClassNow, createTrait -> createTraitNow, createObject -> createObjectNow
First argument of new createClass() is function, which return array of parent classes.
2013-11-05 20:55:49 +04:00

41 lines
1.2 KiB
JavaScript

/*
* Copyright 2010-2013 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.
*/
var A = Kotlin.createClassNow();
var B = Kotlin.createClassNow(A);
var b = new B;
var C = Kotlin.createClassNow(B);
var c = new C;
var E = Kotlin.createClassNow(A);
var e = new E;
var test1 = function() {
var b2 = b;
return (Kotlin.isType(b, A) && Kotlin.isType(b, B));
};
var test2 = function() {
return (Kotlin.isType(c, C) && Kotlin.isType(c, B) && Kotlin.isType(c, A) && (!Kotlin.isType(c, E)));
};
var test3 = function() {
return Kotlin.isType(e, E) && !Kotlin.isType(e, B) && !Kotlin.isType(e, C) && Kotlin.isType(e, A)
};
var test = function() {
return test1() && test2() && test3()
};