// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'native_testing.dart'; // JavaScript reserved words: // // break // case // catch // class // const // continue // debugger // default // delete // do // else // enum // export // extends // false // finally // for // function // if // implements // import // in // instanceof // interface // let // new // null // package // private // protected // public // return // static // super // switch // this // throw // true // try // typeof // var // void // while // with // yield // // Funny thing in JavaScript: there are two syntactic categories: // "Identifier" and "IdentifierName". The latter includes reserved // words. This is legal JavaScript according to ECMA-262.5: // // this.default // // See section 11.2 "Left-Hand-Side Expressions" which states that a // "MemberExpression" includes: "MemberExpression . IdentifierName". @Native("NativeClassWithOddNames") class NativeClassWithOddNames { @JSName('break') bool? breakValue; @JSName('case') bool? caseValue; @JSName('catch') bool? catchValue; @JSName('class') bool? classValue; @JSName('const') bool? constValue; @JSName('continue') bool? continueValue; @JSName('debugger') bool? debuggerValue; @JSName('default') bool? defaultValue; @JSName('delete') bool? deleteValue; @JSName('do') bool? doValue; @JSName('else') bool? elseValue; @JSName('enum') bool? enumValue; @JSName('export') bool? exportValue; @JSName('extends') bool? extendsValue; @JSName('false') bool? falseValue; @JSName('finally') bool? finallyValue; @JSName('for') bool? forValue; @JSName('function') bool? functionValue; @JSName('if') bool? ifValue; @JSName('implements') bool? implementsValue; @JSName('import') bool? importValue; @JSName('in') bool? inValue; @JSName('instanceof') bool? instanceofValue; @JSName('interface') bool? interfaceValue; @JSName('let') bool? letValue; @JSName('new') bool? newValue; @JSName('null') bool? nullValue; @JSName('package') bool? packageValue; @JSName('private') bool? privateValue; @JSName('protected') bool? protectedValue; @JSName('public') bool? publicValue; @JSName('return') bool? returnValue; @JSName('static') bool? staticValue; @JSName('super') bool? superValue; @JSName('switch') bool? switchValue; @JSName('this') bool? thisValue; @JSName('throw') bool? throwValue; @JSName('true') bool? trueValue; @JSName('try') bool? tryValue; @JSName('typeof') bool? typeofValue; @JSName('var') bool? varValue; @JSName('void') bool? voidValue; @JSName('while') bool? whileValue; @JSName('with') bool? withValue; @JSName('yield') bool? yieldValue; void testMyFields() { if (breakValue != null) throw 'incorrect initialization of "breakValue"'; breakValue = true; if (!breakValue!) throw 'incorrect value in "breakValue"'; breakValue = false; if (breakValue!) throw 'incorrect value in "breakValue"'; if (caseValue != null) throw 'incorrect initialization of "caseValue"'; caseValue = true; if (!caseValue!) throw 'incorrect value in "caseValue"'; caseValue = false; if (caseValue!) throw 'incorrect value in "caseValue"'; if (catchValue != null) throw 'incorrect initialization of "catchValue"'; catchValue = true; if (!catchValue!) throw 'incorrect value in "catchValue"'; catchValue = false; if (catchValue!) throw 'incorrect value in "catchValue"'; if (classValue != null) throw 'incorrect initialization of "classValue"'; classValue = true; if (!classValue!) throw 'incorrect value in "classValue"'; classValue = false; if (classValue!) throw 'incorrect value in "classValue"'; if (constValue != null) throw 'incorrect initialization of "constValue"'; constValue = true; if (!constValue!) throw 'incorrect value in "constValue"'; constValue = false; if (constValue!) throw 'incorrect value in "constValue"'; if (continueValue != null) throw 'incorrect initialization of "continueValue"'; continueValue = true; if (!continueValue!) throw 'incorrect value in "continueValue"'; continueValue = false; if (continueValue!) throw 'incorrect value in "continueValue"'; if (debuggerValue != null) throw 'incorrect initialization of "debuggerValue"'; debuggerValue = true; if (!debuggerValue!) throw 'incorrect value in "debuggerValue"'; debuggerValue = false; if (debuggerValue!) throw 'incorrect value in "debuggerValue"'; if (defaultValue != null) throw 'incorrect initialization of "defaultValue"'; defaultValue = true; if (!defaultValue!) throw 'incorrect value in "defaultValue"'; defaultValue = false; if (defaultValue!) throw 'incorrect value in "defaultValue"'; if (deleteValue != null) throw 'incorrect initialization of "deleteValue"'; deleteValue = true; if (!deleteValue!) throw 'incorrect value in "deleteValue"'; deleteValue = false; if (deleteValue!) throw 'incorrect value in "deleteValue"'; if (doValue != null) throw 'incorrect initialization of "doValue"'; doValue = true; if (!doValue!) throw 'incorrect value in "doValue"'; doValue = false; if (doValue!) throw 'incorrect value in "doValue"'; if (elseValue != null) throw 'incorrect initialization of "elseValue"'; elseValue = true; if (!elseValue!) throw 'incorrect value in "elseValue"'; elseValue = false; if (elseValue!) throw 'incorrect value in "elseValue"'; if (enumValue != null) throw 'incorrect initialization of "enumValue"'; enumValue = true; if (!enumValue!) throw 'incorrect value in "enumValue"'; enumValue = false; if (enumValue!) throw 'incorrect value in "enumValue"'; if (exportValue != null) throw 'incorrect initialization of "exportValue"'; exportValue = true; if (!exportValue!) throw 'incorrect value in "exportValue"'; exportValue = false; if (exportValue!) throw 'incorrect value in "exportValue"'; if (extendsValue != null) throw 'incorrect initialization of "extendsValue"'; extendsValue = true; if (!extendsValue!) throw 'incorrect value in "extendsValue"'; extendsValue = false; if (extendsValue!) throw 'incorrect value in "extendsValue"'; if (falseValue != null) throw 'incorrect initialization of "falseValue"'; falseValue = true; if (!falseValue!) throw 'incorrect value in "falseValue"'; falseValue = false; if (falseValue!) throw 'incorrect value in "falseValue"'; if (finallyValue != null) throw 'incorrect initialization of "finallyValue"'; finallyValue = true; if (!finallyValue!) throw 'incorrect value in "finallyValue"'; finallyValue = false; if (finallyValue!) throw 'incorrect value in "finallyValue"'; if (forValue != null) throw 'incorrect initialization of "forValue"'; forValue = true; if (!forValue!) throw 'incorrect value in "forValue"'; forValue = false; if (forValue!) throw 'incorrect value in "forValue"'; if (functionValue != null) throw 'incorrect initialization of "functionValue"'; functionValue = true; if (!functionValue!) throw 'incorrect value in "functionValue"'; functionValue = false; if (functionValue!) throw 'incorrect value in "functionValue"'; if (ifValue != null) throw 'incorrect initialization of "ifValue"'; ifValue = true; if (!ifValue!) throw 'incorrect value in "ifValue"'; ifValue = false; if (ifValue!) throw 'incorrect value in "ifValue"'; if (implementsValue != null) throw 'incorrect initialization of "implementsValue"'; implementsValue = true; if (!implementsValue!) throw 'incorrect value in "implementsValue"'; implementsValue = false; if (implementsValue!) throw 'incorrect value in "implementsValue"'; if (importValue != null) throw 'incorrect initialization of "importValue"'; importValue = true; if (!importValue!) throw 'incorrect value in "importValue"'; importValue = false; if (importValue!) throw 'incorrect value in "importValue"'; if (inValue != null) throw 'incorrect initialization of "inValue"'; inValue = true; if (!inValue!) throw 'incorrect value in "inValue"'; inValue = false; if (inValue!) throw 'incorrect value in "inValue"'; if (instanceofValue != null) throw 'incorrect initialization of "instanceofValue"'; instanceofValue = true; if (!instanceofValue!) throw 'incorrect value in "instanceofValue"'; instanceofValue = false; if (instanceofValue!) throw 'incorrect value in "instanceofValue"'; if (interfaceValue != null) throw 'incorrect initialization of "interfaceValue"'; interfaceValue = true; if (!interfaceValue!) throw 'incorrect value in "interfaceValue"'; interfaceValue = false; if (interfaceValue!) throw 'incorrect value in "interfaceValue"'; if (letValue != null) throw 'incorrect initialization of "letValue"'; letValue = true; if (!letValue!) throw 'incorrect value in "letValue"'; letValue = false; if (letValue!) throw 'incorrect value in "letValue"'; if (newValue != null) throw 'incorrect initialization of "newValue"'; newValue = true; if (!newValue!) throw 'incorrect value in "newValue"'; newValue = false; if (newValue!) throw 'incorrect value in "newValue"'; if (nullValue != null) throw 'incorrect initialization of "nullValue"'; nullValue = true; if (!nullValue!) throw 'incorrect value in "nullValue"'; nullValue = false; if (nullValue!) throw 'incorrect value in "nullValue"'; if (packageValue != null) throw 'incorrect initialization of "packageValue"'; packageValue = true; if (!packageValue!) throw 'incorrect value in "packageValue"'; packageValue = false; if (packageValue!) throw 'incorrect value in "packageValue"'; if (privateValue != null) throw 'incorrect initialization of "privateValue"'; privateValue = true; if (!privateValue!) throw 'incorrect value in "privateValue"'; privateValue = false; if (privateValue!) throw 'incorrect value in "privateValue"'; if (protectedValue != null) throw 'incorrect initialization of "protectedValue"'; protectedValue = true; if (!protectedValue!) throw 'incorrect value in "protectedValue"'; protectedValue = false; if (protectedValue!) throw 'incorrect value in "protectedValue"'; if (publicValue != null) throw 'incorrect initialization of "publicValue"'; publicValue = true; if (!publicValue!) throw 'incorrect value in "publicValue"'; publicValue = false; if (publicValue!) throw 'incorrect value in "publicValue"'; if (returnValue != null) throw 'incorrect initialization of "returnValue"'; returnValue = true; if (!returnValue!) throw 'incorrect value in "returnValue"'; returnValue = false; if (returnValue!) throw 'incorrect value in "returnValue"'; if (staticValue != null) throw 'incorrect initialization of "staticValue"'; staticValue = true; if (!staticValue!) throw 'incorrect value in "staticValue"'; staticValue = false; if (staticValue!) throw 'incorrect value in "staticValue"'; if (superValue != null) throw 'incorrect initialization of "superValue"'; superValue = true; if (!superValue!) throw 'incorrect value in "superValue"'; superValue = false; if (superValue!) throw 'incorrect value in "superValue"'; if (switchValue != null) throw 'incorrect initialization of "switchValue"'; switchValue = true; if (!switchValue!) throw 'incorrect value in "switchValue"'; switchValue = false; if (switchValue!) throw 'incorrect value in "switchValue"'; if (thisValue != null) throw 'incorrect initialization of "thisValue"'; thisValue = true; if (!thisValue!) throw 'incorrect value in "thisValue"'; thisValue = false; if (thisValue!) throw 'incorrect value in "thisValue"'; if (throwValue != null) throw 'incorrect initialization of "throwValue"'; throwValue = true; if (!throwValue!) throw 'incorrect value in "throwValue"'; throwValue = false; if (throwValue!) throw 'incorrect value in "throwValue"'; if (trueValue != null) throw 'incorrect initialization of "trueValue"'; trueValue = true; if (!trueValue!) throw 'incorrect value in "trueValue"'; trueValue = false; if (trueValue!) throw 'incorrect value in "trueValue"'; if (tryValue != null) throw 'incorrect initialization of "tryValue"'; tryValue = true; if (!tryValue!) throw 'incorrect value in "tryValue"'; tryValue = false; if (tryValue!) throw 'incorrect value in "tryValue"'; if (typeofValue != null) throw 'incorrect initialization of "typeofValue"'; typeofValue = true; if (!typeofValue!) throw 'incorrect value in "typeofValue"'; typeofValue = false; if (typeofValue!) throw 'incorrect value in "typeofValue"'; if (varValue != null) throw 'incorrect initialization of "varValue"'; varValue = true; if (!varValue!) throw 'incorrect value in "varValue"'; varValue = false; if (varValue!) throw 'incorrect value in "varValue"'; if (voidValue != null) throw 'incorrect initialization of "voidValue"'; voidValue = true; if (!voidValue!) throw 'incorrect value in "voidValue"'; voidValue = false; if (voidValue!) throw 'incorrect value in "voidValue"'; if (whileValue != null) throw 'incorrect initialization of "whileValue"'; whileValue = true; if (!whileValue!) throw 'incorrect value in "whileValue"'; whileValue = false; if (whileValue!) throw 'incorrect value in "whileValue"'; if (withValue != null) throw 'incorrect initialization of "withValue"'; withValue = true; if (!withValue!) throw 'incorrect value in "withValue"'; withValue = false; if (withValue!) throw 'incorrect value in "withValue"'; if (yieldValue != null) throw 'incorrect initialization of "yieldValue"'; yieldValue = true; if (!yieldValue!) throw 'incorrect value in "yieldValue"'; yieldValue = false; if (yieldValue!) throw 'incorrect value in "yieldValue"'; } } class ClassWithOddNames { bool? breakValue; bool? caseValue; bool? catchValue; bool? classValue; bool? constValue; bool? continueValue; bool? debuggerValue; bool? defaultValue; bool? deleteValue; bool? doValue; bool? elseValue; bool? enumValue; bool? exportValue; bool? extendsValue; bool? falseValue; bool? finallyValue; bool? forValue; bool? functionValue; bool? ifValue; bool? implementsValue; bool? importValue; bool? inValue; bool? instanceofValue; bool? interfaceValue; bool? letValue; bool? newValue; bool? nullValue; bool? packageValue; bool? privateValue; bool? protectedValue; bool? publicValue; bool? returnValue; bool? staticValue; bool? superValue; bool? switchValue; bool? thisValue; bool? throwValue; bool? trueValue; bool? tryValue; bool? typeofValue; bool? varValue; bool? voidValue; bool? whileValue; bool? withValue; bool? yieldValue; void testMyFields() { if (breakValue != null) throw 'incorrect initialization of "breakValue"'; breakValue = true; if (!breakValue!) throw 'incorrect value in "breakValue"'; breakValue = false; if (breakValue!) throw 'incorrect value in "breakValue"'; if (caseValue != null) throw 'incorrect initialization of "caseValue"'; caseValue = true; if (!caseValue!) throw 'incorrect value in "caseValue"'; caseValue = false; if (caseValue!) throw 'incorrect value in "caseValue"'; if (catchValue != null) throw 'incorrect initialization of "catchValue"'; catchValue = true; if (!catchValue!) throw 'incorrect value in "catchValue"'; catchValue = false; if (catchValue!) throw 'incorrect value in "catchValue"'; if (classValue != null) throw 'incorrect initialization of "classValue"'; classValue = true; if (!classValue!) throw 'incorrect value in "classValue"'; classValue = false; if (classValue!) throw 'incorrect value in "classValue"'; if (constValue != null) throw 'incorrect initialization of "constValue"'; constValue = true; if (!constValue!) throw 'incorrect value in "constValue"'; constValue = false; if (constValue!) throw 'incorrect value in "constValue"'; if (continueValue != null) throw 'incorrect initialization of "continueValue"'; continueValue = true; if (!continueValue!) throw 'incorrect value in "continueValue"'; continueValue = false; if (continueValue!) throw 'incorrect value in "continueValue"'; if (debuggerValue != null) throw 'incorrect initialization of "debuggerValue"'; debuggerValue = true; if (!debuggerValue!) throw 'incorrect value in "debuggerValue"'; debuggerValue = false; if (debuggerValue!) throw 'incorrect value in "debuggerValue"'; if (defaultValue != null) throw 'incorrect initialization of "defaultValue"'; defaultValue = true; if (!defaultValue!) throw 'incorrect value in "defaultValue"'; defaultValue = false; if (defaultValue!) throw 'incorrect value in "defaultValue"'; if (deleteValue != null) throw 'incorrect initialization of "deleteValue"'; deleteValue = true; if (!deleteValue!) throw 'incorrect value in "deleteValue"'; deleteValue = false; if (deleteValue!) throw 'incorrect value in "deleteValue"'; if (doValue != null) throw 'incorrect initialization of "doValue"'; doValue = true; if (!doValue!) throw 'incorrect value in "doValue"'; doValue = false; if (doValue!) throw 'incorrect value in "doValue"'; if (elseValue != null) throw 'incorrect initialization of "elseValue"'; elseValue = true; if (!elseValue!) throw 'incorrect value in "elseValue"'; elseValue = false; if (elseValue!) throw 'incorrect value in "elseValue"'; if (enumValue != null) throw 'incorrect initialization of "enumValue"'; enumValue = true; if (!enumValue!) throw 'incorrect value in "enumValue"'; enumValue = false; if (enumValue!) throw 'incorrect value in "enumValue"'; if (exportValue != null) throw 'incorrect initialization of "exportValue"'; exportValue = true; if (!exportValue!) throw 'incorrect value in "exportValue"'; exportValue = false; if (exportValue!) throw 'incorrect value in "exportValue"'; if (extendsValue != null) throw 'incorrect initialization of "extendsValue"'; extendsValue = true; if (!extendsValue!) throw 'incorrect value in "extendsValue"'; extendsValue = false; if (extendsValue!) throw 'incorrect value in "extendsValue"'; if (falseValue != null) throw 'incorrect initialization of "falseValue"'; falseValue = true; if (!falseValue!) throw 'incorrect value in "falseValue"'; falseValue = false; if (falseValue!) throw 'incorrect value in "falseValue"'; if (finallyValue != null) throw 'incorrect initialization of "finallyValue"'; finallyValue = true; if (!finallyValue!) throw 'incorrect value in "finallyValue"'; finallyValue = false; if (finallyValue!) throw 'incorrect value in "finallyValue"'; if (forValue != null) throw 'incorrect initialization of "forValue"'; forValue = true; if (!forValue!) throw 'incorrect value in "forValue"'; forValue = false; if (forValue!) throw 'incorrect value in "forValue"'; if (functionValue != null) throw 'incorrect initialization of "functionValue"'; functionValue = true; if (!functionValue!) throw 'incorrect value in "functionValue"'; functionValue = false; if (functionValue!) throw 'incorrect value in "functionValue"'; if (ifValue != null) throw 'incorrect initialization of "ifValue"'; ifValue = true; if (!ifValue!) throw 'incorrect value in "ifValue"'; ifValue = false; if (ifValue!) throw 'incorrect value in "ifValue"'; if (implementsValue != null) throw 'incorrect initialization of "implementsValue"'; implementsValue = true; if (!implementsValue!) throw 'incorrect value in "implementsValue"'; implementsValue = false; if (implementsValue!) throw 'incorrect value in "implementsValue"'; if (importValue != null) throw 'incorrect initialization of "importValue"'; importValue = true; if (!importValue!) throw 'incorrect value in "importValue"'; importValue = false; if (importValue!) throw 'incorrect value in "importValue"'; if (inValue != null) throw 'incorrect initialization of "inValue"'; inValue = true; if (!inValue!) throw 'incorrect value in "inValue"'; inValue = false; if (inValue!) throw 'incorrect value in "inValue"'; if (instanceofValue != null) throw 'incorrect initialization of "instanceofValue"'; instanceofValue = true; if (!instanceofValue!) throw 'incorrect value in "instanceofValue"'; instanceofValue = false; if (instanceofValue!) throw 'incorrect value in "instanceofValue"'; if (interfaceValue != null) throw 'incorrect initialization of "interfaceValue"'; interfaceValue = true; if (!interfaceValue!) throw 'incorrect value in "interfaceValue"'; interfaceValue = false; if (interfaceValue!) throw 'incorrect value in "interfaceValue"'; if (letValue != null) throw 'incorrect initialization of "letValue"'; letValue = true; if (!letValue!) throw 'incorrect value in "letValue"'; letValue = false; if (letValue!) throw 'incorrect value in "letValue"'; if (newValue != null) throw 'incorrect initialization of "newValue"'; newValue = true; if (!newValue!) throw 'incorrect value in "newValue"'; newValue = false; if (newValue!) throw 'incorrect value in "newValue"'; if (nullValue != null) throw 'incorrect initialization of "nullValue"'; nullValue = true; if (!nullValue!) throw 'incorrect value in "nullValue"'; nullValue = false; if (nullValue!) throw 'incorrect value in "nullValue"'; if (packageValue != null) throw 'incorrect initialization of "packageValue"'; packageValue = true; if (!packageValue!) throw 'incorrect value in "packageValue"'; packageValue = false; if (packageValue!) throw 'incorrect value in "packageValue"'; if (privateValue != null) throw 'incorrect initialization of "privateValue"'; privateValue = true; if (!privateValue!) throw 'incorrect value in "privateValue"'; privateValue = false; if (privateValue!) throw 'incorrect value in "privateValue"'; if (protectedValue != null) throw 'incorrect initialization of "protectedValue"'; protectedValue = true; if (!protectedValue!) throw 'incorrect value in "protectedValue"'; protectedValue = false; if (protectedValue!) throw 'incorrect value in "protectedValue"'; if (publicValue != null) throw 'incorrect initialization of "publicValue"'; publicValue = true; if (!publicValue!) throw 'incorrect value in "publicValue"'; publicValue = false; if (publicValue!) throw 'incorrect value in "publicValue"'; if (returnValue != null) throw 'incorrect initialization of "returnValue"'; returnValue = true; if (!returnValue!) throw 'incorrect value in "returnValue"'; returnValue = false; if (returnValue!) throw 'incorrect value in "returnValue"'; if (staticValue != null) throw 'incorrect initialization of "staticValue"'; staticValue = true; if (!staticValue!) throw 'incorrect value in "staticValue"'; staticValue = false; if (staticValue!) throw 'incorrect value in "staticValue"'; if (superValue != null) throw 'incorrect initialization of "superValue"'; superValue = true; if (!superValue!) throw 'incorrect value in "superValue"'; superValue = false; if (superValue!) throw 'incorrect value in "superValue"'; if (switchValue != null) throw 'incorrect initialization of "switchValue"'; switchValue = true; if (!switchValue!) throw 'incorrect value in "switchValue"'; switchValue = false; if (switchValue!) throw 'incorrect value in "switchValue"'; if (thisValue != null) throw 'incorrect initialization of "thisValue"'; thisValue = true; if (!thisValue!) throw 'incorrect value in "thisValue"'; thisValue = false; if (thisValue!) throw 'incorrect value in "thisValue"'; if (throwValue != null) throw 'incorrect initialization of "throwValue"'; throwValue = true; if (!throwValue!) throw 'incorrect value in "throwValue"'; throwValue = false; if (throwValue!) throw 'incorrect value in "throwValue"'; if (trueValue != null) throw 'incorrect initialization of "trueValue"'; trueValue = true; if (!trueValue!) throw 'incorrect value in "trueValue"'; trueValue = false; if (trueValue!) throw 'incorrect value in "trueValue"'; if (tryValue != null) throw 'incorrect initialization of "tryValue"'; tryValue = true; if (!tryValue!) throw 'incorrect value in "tryValue"'; tryValue = false; if (tryValue!) throw 'incorrect value in "tryValue"'; if (typeofValue != null) throw 'incorrect initialization of "typeofValue"'; typeofValue = true; if (!typeofValue!) throw 'incorrect value in "typeofValue"'; typeofValue = false; if (typeofValue!) throw 'incorrect value in "typeofValue"'; if (varValue != null) throw 'incorrect initialization of "varValue"'; varValue = true; if (!varValue!) throw 'incorrect value in "varValue"'; varValue = false; if (varValue!) throw 'incorrect value in "varValue"'; if (voidValue != null) throw 'incorrect initialization of "voidValue"'; voidValue = true; if (!voidValue!) throw 'incorrect value in "voidValue"'; voidValue = false; if (voidValue!) throw 'incorrect value in "voidValue"'; if (whileValue != null) throw 'incorrect initialization of "whileValue"'; whileValue = true; if (!whileValue!) throw 'incorrect value in "whileValue"'; whileValue = false; if (whileValue!) throw 'incorrect value in "whileValue"'; if (withValue != null) throw 'incorrect initialization of "withValue"'; withValue = true; if (!withValue!) throw 'incorrect value in "withValue"'; withValue = false; if (withValue!) throw 'incorrect value in "withValue"'; if (yieldValue != null) throw 'incorrect initialization of "yieldValue"'; yieldValue = true; if (!yieldValue!) throw 'incorrect value in "yieldValue"'; yieldValue = false; if (yieldValue!) throw 'incorrect value in "yieldValue"'; } } /// Called once with an instance of NativeClassWithOddNames making it easy /// to inline accessors. testObjectStronglyTyped(object) { if (object.breakValue == null) throw 'incorrect initialization of "breakValue"'; object.breakValue = true; if (!object.breakValue!) throw 'incorrect value in "breakValue"'; object.breakValue = false; if (object.breakValue!) throw 'incorrect value in "breakValue"'; if (object.caseValue == null) throw 'incorrect initialization of "caseValue"'; object.caseValue = true; if (!object.caseValue!) throw 'incorrect value in "caseValue"'; object.caseValue = false; if (object.caseValue!) throw 'incorrect value in "caseValue"'; if (object.catchValue == null) throw 'incorrect initialization of "catchValue"'; object.catchValue = true; if (!object.catchValue!) throw 'incorrect value in "catchValue"'; object.catchValue = false; if (object.catchValue!) throw 'incorrect value in "catchValue"'; if (object.classValue == null) throw 'incorrect initialization of "classValue"'; object.classValue = true; if (!object.classValue!) throw 'incorrect value in "classValue"'; object.classValue = false; if (object.classValue!) throw 'incorrect value in "classValue"'; if (object.constValue == null) throw 'incorrect initialization of "constValue"'; object.constValue = true; if (!object.constValue!) throw 'incorrect value in "constValue"'; object.constValue = false; if (object.constValue!) throw 'incorrect value in "constValue"'; if (object.continueValue == null) throw 'incorrect initialization of "continueValue"'; object.continueValue = true; if (!object.continueValue!) throw 'incorrect value in "continueValue"'; object.continueValue = false; if (object.continueValue!) throw 'incorrect value in "continueValue"'; if (object.debuggerValue == null) throw 'incorrect initialization of "debuggerValue"'; object.debuggerValue = true; if (!object.debuggerValue!) throw 'incorrect value in "debuggerValue"'; object.debuggerValue = false; if (object.debuggerValue!) throw 'incorrect value in "debuggerValue"'; if (object.defaultValue == null) throw 'incorrect initialization of "defaultValue"'; object.defaultValue = true; if (!object.defaultValue!) throw 'incorrect value in "defaultValue"'; object.defaultValue = false; if (object.defaultValue!) throw 'incorrect value in "defaultValue"'; if (object.deleteValue == null) throw 'incorrect initialization of "deleteValue"'; object.deleteValue = true; if (!object.deleteValue!) throw 'incorrect value in "deleteValue"'; object.deleteValue = false; if (object.deleteValue!) throw 'incorrect value in "deleteValue"'; if (object.doValue == null) throw 'incorrect initialization of "doValue"'; object.doValue = true; if (!object.doValue!) throw 'incorrect value in "doValue"'; object.doValue = false; if (object.doValue!) throw 'incorrect value in "doValue"'; if (object.elseValue == null) throw 'incorrect initialization of "elseValue"'; object.elseValue = true; if (!object.elseValue!) throw 'incorrect value in "elseValue"'; object.elseValue = false; if (object.elseValue!) throw 'incorrect value in "elseValue"'; if (object.enumValue == null) throw 'incorrect initialization of "enumValue"'; object.enumValue = true; if (!object.enumValue!) throw 'incorrect value in "enumValue"'; object.enumValue = false; if (object.enumValue!) throw 'incorrect value in "enumValue"'; if (object.exportValue == null) throw 'incorrect initialization of "exportValue"'; object.exportValue = true; if (!object.exportValue!) throw 'incorrect value in "exportValue"'; object.exportValue = false; if (object.exportValue!) throw 'incorrect value in "exportValue"'; if (object.extendsValue == null) throw 'incorrect initialization of "extendsValue"'; object.extendsValue = true; if (!object.extendsValue!) throw 'incorrect value in "extendsValue"'; object.extendsValue = false; if (object.extendsValue!) throw 'incorrect value in "extendsValue"'; if (object.falseValue == null) throw 'incorrect initialization of "falseValue"'; object.falseValue = true; if (!object.falseValue!) throw 'incorrect value in "falseValue"'; object.falseValue = false; if (object.falseValue!) throw 'incorrect value in "falseValue"'; if (object.finallyValue == null) throw 'incorrect initialization of "finallyValue"'; object.finallyValue = true; if (!object.finallyValue!) throw 'incorrect value in "finallyValue"'; object.finallyValue = false; if (object.finallyValue!) throw 'incorrect value in "finallyValue"'; if (object.forValue == null) throw 'incorrect initialization of "forValue"'; object.forValue = true; if (!object.forValue!) throw 'incorrect value in "forValue"'; object.forValue = false; if (object.forValue!) throw 'incorrect value in "forValue"'; if (object.functionValue == null) throw 'incorrect initialization of "functionValue"'; object.functionValue = true; if (!object.functionValue!) throw 'incorrect value in "functionValue"'; object.functionValue = false; if (object.functionValue!) throw 'incorrect value in "functionValue"'; if (object.ifValue == null) throw 'incorrect initialization of "ifValue"'; object.ifValue = true; if (!object.ifValue!) throw 'incorrect value in "ifValue"'; object.ifValue = false; if (object.ifValue!) throw 'incorrect value in "ifValue"'; if (object.implementsValue == null) throw 'incorrect initialization of "implementsValue"'; object.implementsValue = true; if (!object.implementsValue!) throw 'incorrect value in "implementsValue"'; object.implementsValue = false; if (object.implementsValue!) throw 'incorrect value in "implementsValue"'; if (object.importValue == null) throw 'incorrect initialization of "importValue"'; object.importValue = true; if (!object.importValue!) throw 'incorrect value in "importValue"'; object.importValue = false; if (object.importValue!) throw 'incorrect value in "importValue"'; if (object.inValue == null) throw 'incorrect initialization of "inValue"'; object.inValue = true; if (!object.inValue!) throw 'incorrect value in "inValue"'; object.inValue = false; if (object.inValue!) throw 'incorrect value in "inValue"'; if (object.instanceofValue == null) throw 'incorrect initialization of "instanceofValue"'; object.instanceofValue = true; if (!object.instanceofValue!) throw 'incorrect value in "instanceofValue"'; object.instanceofValue = false; if (object.instanceofValue!) throw 'incorrect value in "instanceofValue"'; if (object.interfaceValue == null) throw 'incorrect initialization of "interfaceValue"'; object.interfaceValue = true; if (!object.interfaceValue!) throw 'incorrect value in "interfaceValue"'; object.interfaceValue = false; if (object.interfaceValue!) throw 'incorrect value in "interfaceValue"'; if (object.letValue == null) throw 'incorrect initialization of "letValue"'; object.letValue = true; if (!object.letValue!) throw 'incorrect value in "letValue"'; object.letValue = false; if (object.letValue!) throw 'incorrect value in "letValue"'; if (object.newValue == null) throw 'incorrect initialization of "newValue"'; object.newValue = true; if (!object.newValue!) throw 'incorrect value in "newValue"'; object.newValue = false; if (object.newValue!) throw 'incorrect value in "newValue"'; if (object.nullValue == null) throw 'incorrect initialization of "nullValue"'; object.nullValue = true; if (!object.nullValue!) throw 'incorrect value in "nullValue"'; object.nullValue = false; if (object.nullValue!) throw 'incorrect value in "nullValue"'; if (object.packageValue == null) throw 'incorrect initialization of "packageValue"'; object.packageValue = true; if (!object.packageValue!) throw 'incorrect value in "packageValue"'; object.packageValue = false; if (object.packageValue!) throw 'incorrect value in "packageValue"'; if (object.privateValue == null) throw 'incorrect initialization of "privateValue"'; object.privateValue = true; if (!object.privateValue!) throw 'incorrect value in "privateValue"'; object.privateValue = false; if (object.privateValue!) throw 'incorrect value in "privateValue"'; if (object.protectedValue == null) throw 'incorrect initialization of "protectedValue"'; object.protectedValue = true; if (!object.protectedValue!) throw 'incorrect value in "protectedValue"'; object.protectedValue = false; if (object.protectedValue!) throw 'incorrect value in "protectedValue"'; if (object.publicValue == null) throw 'incorrect initialization of "publicValue"'; object.publicValue = true; if (!object.publicValue!) throw 'incorrect value in "publicValue"'; object.publicValue = false; if (object.publicValue!) throw 'incorrect value in "publicValue"'; if (object.returnValue == null) throw 'incorrect initialization of "returnValue"'; object.returnValue = true; if (!object.returnValue!) throw 'incorrect value in "returnValue"'; object.returnValue = false; if (object.returnValue!) throw 'incorrect value in "returnValue"'; if (object.staticValue == null) throw 'incorrect initialization of "staticValue"'; object.staticValue = true; if (!object.staticValue!) throw 'incorrect value in "staticValue"'; object.staticValue = false; if (object.staticValue!) throw 'incorrect value in "staticValue"'; if (object.superValue == null) throw 'incorrect initialization of "superValue"'; object.superValue = true; if (!object.superValue!) throw 'incorrect value in "superValue"'; object.superValue = false; if (object.superValue!) throw 'incorrect value in "superValue"'; if (object.switchValue == null) throw 'incorrect initialization of "switchValue"'; object.switchValue = true; if (!object.switchValue!) throw 'incorrect value in "switchValue"'; object.switchValue = false; if (object.switchValue!) throw 'incorrect value in "switchValue"'; if (object.thisValue == null) throw 'incorrect initialization of "thisValue"'; object.thisValue = true; if (!object.thisValue!) throw 'incorrect value in "thisValue"'; object.thisValue = false; if (object.thisValue!) throw 'incorrect value in "thisValue"'; if (object.throwValue == null) throw 'incorrect initialization of "throwValue"'; object.throwValue = true; if (!object.throwValue!) throw 'incorrect value in "throwValue"'; object.throwValue = false; if (object.throwValue!) throw 'incorrect value in "throwValue"'; if (object.trueValue == null) throw 'incorrect initialization of "trueValue"'; object.trueValue = true; if (!object.trueValue!) throw 'incorrect value in "trueValue"'; object.trueValue = false; if (object.trueValue!) throw 'incorrect value in "trueValue"'; if (object.tryValue == null) throw 'incorrect initialization of "tryValue"'; object.tryValue = true; if (!object.tryValue!) throw 'incorrect value in "tryValue"'; object.tryValue = false; if (object.tryValue!) throw 'incorrect value in "tryValue"'; if (object.typeofValue == null) throw 'incorrect initialization of "typeofValue"'; object.typeofValue = true; if (!object.typeofValue!) throw 'incorrect value in "typeofValue"'; object.typeofValue = false; if (object.typeofValue!) throw 'incorrect value in "typeofValue"'; if (object.varValue == null) throw 'incorrect initialization of "varValue"'; object.varValue = true; if (!object.varValue!) throw 'incorrect value in "varValue"'; object.varValue = false; if (object.varValue!) throw 'incorrect value in "varValue"'; if (object.voidValue == null) throw 'incorrect initialization of "voidValue"'; object.voidValue = true; if (!object.voidValue!) throw 'incorrect value in "voidValue"'; object.voidValue = false; if (object.voidValue!) throw 'incorrect value in "voidValue"'; if (object.whileValue == null) throw 'incorrect initialization of "whileValue"'; object.whileValue = true; if (!object.whileValue!) throw 'incorrect value in "whileValue"'; object.whileValue = false; if (object.whileValue!) throw 'incorrect value in "whileValue"'; if (object.withValue == null) throw 'incorrect initialization of "withValue"'; object.withValue = true; if (!object.withValue!) throw 'incorrect value in "withValue"'; object.withValue = false; if (object.withValue!) throw 'incorrect value in "withValue"'; if (object.yieldValue == null) throw 'incorrect initialization of "yieldValue"'; object.yieldValue = true; if (!object.yieldValue!) throw 'incorrect value in "yieldValue"'; object.yieldValue = false; if (object.yieldValue!) throw 'incorrect value in "yieldValue"'; } /// Called multiple times with arguments that are hard to track in type /// inference making it hard to inline accessors. testObjectWeaklyTyped(object) { object = object[0]; if (object == 'fisk') return; if (object.breakValue == null) throw 'incorrect initialization of "breakValue"'; object.breakValue = true; if (!object.breakValue!) throw 'incorrect value in "breakValue"'; object.breakValue = false; if (object.breakValue!) throw 'incorrect value in "breakValue"'; if (object.caseValue == null) throw 'incorrect initialization of "caseValue"'; object.caseValue = true; if (!object.caseValue!) throw 'incorrect value in "caseValue"'; object.caseValue = false; if (object.caseValue!) throw 'incorrect value in "caseValue"'; if (object.catchValue == null) throw 'incorrect initialization of "catchValue"'; object.catchValue = true; if (!object.catchValue!) throw 'incorrect value in "catchValue"'; object.catchValue = false; if (object.catchValue!) throw 'incorrect value in "catchValue"'; if (object.classValue == null) throw 'incorrect initialization of "classValue"'; object.classValue = true; if (!object.classValue!) throw 'incorrect value in "classValue"'; object.classValue = false; if (object.classValue!) throw 'incorrect value in "classValue"'; if (object.constValue == null) throw 'incorrect initialization of "constValue"'; object.constValue = true; if (!object.constValue!) throw 'incorrect value in "constValue"'; object.constValue = false; if (object.constValue!) throw 'incorrect value in "constValue"'; if (object.continueValue == null) throw 'incorrect initialization of "continueValue"'; object.continueValue = true; if (!object.continueValue!) throw 'incorrect value in "continueValue"'; object.continueValue = false; if (object.continueValue!) throw 'incorrect value in "continueValue"'; if (object.debuggerValue == null) throw 'incorrect initialization of "debuggerValue"'; object.debuggerValue = true; if (!object.debuggerValue!) throw 'incorrect value in "debuggerValue"'; object.debuggerValue = false; if (object.debuggerValue!) throw 'incorrect value in "debuggerValue"'; if (object.defaultValue == null) throw 'incorrect initialization of "defaultValue"'; object.defaultValue = true; if (!object.defaultValue!) throw 'incorrect value in "defaultValue"'; object.defaultValue = false; if (object.defaultValue!) throw 'incorrect value in "defaultValue"'; if (object.deleteValue == null) throw 'incorrect initialization of "deleteValue"'; object.deleteValue = true; if (!object.deleteValue!) throw 'incorrect value in "deleteValue"'; object.deleteValue = false; if (object.deleteValue!) throw 'incorrect value in "deleteValue"'; if (object.doValue == null) throw 'incorrect initialization of "doValue"'; object.doValue = true; if (!object.doValue!) throw 'incorrect value in "doValue"'; object.doValue = false; if (object.doValue!) throw 'incorrect value in "doValue"'; if (object.elseValue == null) throw 'incorrect initialization of "elseValue"'; object.elseValue = true; if (!object.elseValue!) throw 'incorrect value in "elseValue"'; object.elseValue = false; if (object.elseValue!) throw 'incorrect value in "elseValue"'; if (object.enumValue == null) throw 'incorrect initialization of "enumValue"'; object.enumValue = true; if (!object.enumValue!) throw 'incorrect value in "enumValue"'; object.enumValue = false; if (object.enumValue!) throw 'incorrect value in "enumValue"'; if (object.exportValue == null) throw 'incorrect initialization of "exportValue"'; object.exportValue = true; if (!object.exportValue!) throw 'incorrect value in "exportValue"'; object.exportValue = false; if (object.exportValue!) throw 'incorrect value in "exportValue"'; if (object.extendsValue == null) throw 'incorrect initialization of "extendsValue"'; object.extendsValue = true; if (!object.extendsValue!) throw 'incorrect value in "extendsValue"'; object.extendsValue = false; if (object.extendsValue!) throw 'incorrect value in "extendsValue"'; if (object.falseValue == null) throw 'incorrect initialization of "falseValue"'; object.falseValue = true; if (!object.falseValue!) throw 'incorrect value in "falseValue"'; object.falseValue = false; if (object.falseValue!) throw 'incorrect value in "falseValue"'; if (object.finallyValue == null) throw 'incorrect initialization of "finallyValue"'; object.finallyValue = true; if (!object.finallyValue!) throw 'incorrect value in "finallyValue"'; object.finallyValue = false; if (object.finallyValue!) throw 'incorrect value in "finallyValue"'; if (object.forValue == null) throw 'incorrect initialization of "forValue"'; object.forValue = true; if (!object.forValue!) throw 'incorrect value in "forValue"'; object.forValue = false; if (object.forValue!) throw 'incorrect value in "forValue"'; if (object.functionValue == null) throw 'incorrect initialization of "functionValue"'; object.functionValue = true; if (!object.functionValue!) throw 'incorrect value in "functionValue"'; object.functionValue = false; if (object.functionValue!) throw 'incorrect value in "functionValue"'; if (object.ifValue == null) throw 'incorrect initialization of "ifValue"'; object.ifValue = true; if (!object.ifValue!) throw 'incorrect value in "ifValue"'; object.ifValue = false; if (object.ifValue!) throw 'incorrect value in "ifValue"'; if (object.implementsValue == null) throw 'incorrect initialization of "implementsValue"'; object.implementsValue = true; if (!object.implementsValue!) throw 'incorrect value in "implementsValue"'; object.implementsValue = false; if (object.implementsValue!) throw 'incorrect value in "implementsValue"'; if (object.importValue == null) throw 'incorrect initialization of "importValue"'; object.importValue = true; if (!object.importValue!) throw 'incorrect value in "importValue"'; object.importValue = false; if (object.importValue!) throw 'incorrect value in "importValue"'; if (object.inValue == null) throw 'incorrect initialization of "inValue"'; object.inValue = true; if (!object.inValue!) throw 'incorrect value in "inValue"'; object.inValue = false; if (object.inValue!) throw 'incorrect value in "inValue"'; if (object.instanceofValue == null) throw 'incorrect initialization of "instanceofValue"'; object.instanceofValue = true; if (!object.instanceofValue!) throw 'incorrect value in "instanceofValue"'; object.instanceofValue = false; if (object.instanceofValue!) throw 'incorrect value in "instanceofValue"'; if (object.interfaceValue == null) throw 'incorrect initialization of "interfaceValue"'; object.interfaceValue = true; if (!object.interfaceValue!) throw 'incorrect value in "interfaceValue"'; object.interfaceValue = false; if (object.interfaceValue!) throw 'incorrect value in "interfaceValue"'; if (object.letValue == null) throw 'incorrect initialization of "letValue"'; object.letValue = true; if (!object.letValue!) throw 'incorrect value in "letValue"'; object.letValue = false; if (object.letValue!) throw 'incorrect value in "letValue"'; if (object.newValue == null) throw 'incorrect initialization of "newValue"'; object.newValue = true; if (!object.newValue!) throw 'incorrect value in "newValue"'; object.newValue = false; if (object.newValue!) throw 'incorrect value in "newValue"'; if (object.nullValue == null) throw 'incorrect initialization of "nullValue"'; object.nullValue = true; if (!object.nullValue!) throw 'incorrect value in "nullValue"'; object.nullValue = false; if (object.nullValue!) throw 'incorrect value in "nullValue"'; if (object.packageValue == null) throw 'incorrect initialization of "packageValue"'; object.packageValue = true; if (!object.packageValue!) throw 'incorrect value in "packageValue"'; object.packageValue = false; if (object.packageValue!) throw 'incorrect value in "packageValue"'; if (object.privateValue == null) throw 'incorrect initialization of "privateValue"'; object.privateValue = true; if (!object.privateValue!) throw 'incorrect value in "privateValue"'; object.privateValue = false; if (object.privateValue!) throw 'incorrect value in "privateValue"'; if (object.protectedValue == null) throw 'incorrect initialization of "protectedValue"'; object.protectedValue = true; if (!object.protectedValue!) throw 'incorrect value in "protectedValue"'; object.protectedValue = false; if (object.protectedValue!) throw 'incorrect value in "protectedValue"'; if (object.publicValue == null) throw 'incorrect initialization of "publicValue"'; object.publicValue = true; if (!object.publicValue!) throw 'incorrect value in "publicValue"'; object.publicValue = false; if (object.publicValue!) throw 'incorrect value in "publicValue"'; if (object.returnValue == null) throw 'incorrect initialization of "returnValue"'; object.returnValue = true; if (!object.returnValue!) throw 'incorrect value in "returnValue"'; object.returnValue = false; if (object.returnValue!) throw 'incorrect value in "returnValue"'; if (object.staticValue == null) throw 'incorrect initialization of "staticValue"'; object.staticValue = true; if (!object.staticValue!) throw 'incorrect value in "staticValue"'; object.staticValue = false; if (object.staticValue!) throw 'incorrect value in "staticValue"'; if (object.superValue == null) throw 'incorrect initialization of "superValue"'; object.superValue = true; if (!object.superValue!) throw 'incorrect value in "superValue"'; object.superValue = false; if (object.superValue!) throw 'incorrect value in "superValue"'; if (object.switchValue == null) throw 'incorrect initialization of "switchValue"'; object.switchValue = true; if (!object.switchValue!) throw 'incorrect value in "switchValue"'; object.switchValue = false; if (object.switchValue!) throw 'incorrect value in "switchValue"'; if (object.thisValue == null) throw 'incorrect initialization of "thisValue"'; object.thisValue = true; if (!object.thisValue!) throw 'incorrect value in "thisValue"'; object.thisValue = false; if (object.thisValue!) throw 'incorrect value in "thisValue"'; if (object.throwValue == null) throw 'incorrect initialization of "throwValue"'; object.throwValue = true; if (!object.throwValue!) throw 'incorrect value in "throwValue"'; object.throwValue = false; if (object.throwValue!) throw 'incorrect value in "throwValue"'; if (object.trueValue == null) throw 'incorrect initialization of "trueValue"'; object.trueValue = true; if (!object.trueValue!) throw 'incorrect value in "trueValue"'; object.trueValue = false; if (object.trueValue!) throw 'incorrect value in "trueValue"'; if (object.tryValue == null) throw 'incorrect initialization of "tryValue"'; object.tryValue = true; if (!object.tryValue!) throw 'incorrect value in "tryValue"'; object.tryValue = false; if (object.tryValue!) throw 'incorrect value in "tryValue"'; if (object.typeofValue == null) throw 'incorrect initialization of "typeofValue"'; object.typeofValue = true; if (!object.typeofValue!) throw 'incorrect value in "typeofValue"'; object.typeofValue = false; if (object.typeofValue!) throw 'incorrect value in "typeofValue"'; if (object.varValue == null) throw 'incorrect initialization of "varValue"'; object.varValue = true; if (!object.varValue!) throw 'incorrect value in "varValue"'; object.varValue = false; if (object.varValue!) throw 'incorrect value in "varValue"'; if (object.voidValue == null) throw 'incorrect initialization of "voidValue"'; object.voidValue = true; if (!object.voidValue!) throw 'incorrect value in "voidValue"'; object.voidValue = false; if (object.voidValue!) throw 'incorrect value in "voidValue"'; if (object.whileValue == null) throw 'incorrect initialization of "whileValue"'; object.whileValue = true; if (!object.whileValue!) throw 'incorrect value in "whileValue"'; object.whileValue = false; if (object.whileValue!) throw 'incorrect value in "whileValue"'; if (object.withValue == null) throw 'incorrect initialization of "withValue"'; object.withValue = true; if (!object.withValue!) throw 'incorrect value in "withValue"'; object.withValue = false; if (object.withValue!) throw 'incorrect value in "withValue"'; if (object.yieldValue == null) throw 'incorrect initialization of "yieldValue"'; object.yieldValue = true; if (!object.yieldValue!) throw 'incorrect value in "yieldValue"'; object.yieldValue = false; if (object.yieldValue!) throw 'incorrect value in "yieldValue"'; } NativeClassWithOddNames makeNativeClassWithOddNames() native; setup() { JS('', r""" (function(){ function NativeClassWithOddNames() {} self.makeNativeClassWithOddNames = function() {return new NativeClassWithOddNames()}; self.nativeConstructor(NativeClassWithOddNames); })()"""); applyTestExtensions(['NativeClassWithOddNames']); } main() { nativeTesting(); setup(); var object = makeNativeClassWithOddNames(); object.testMyFields(); testObjectStronglyTyped(object); testObjectWeaklyTyped([object]); testObjectWeaklyTyped(['fisk']); testObjectWeaklyTyped([new ClassWithOddNames()..testMyFields()]); }