| /tests/document.js:1: ERROR - Access to "document" property of global object is disallowed | |
| document.bar(); | |
| ^ | |
| /tests/document.js:2: ERROR - Access to "document" property of global object is disallowed | |
| window.document.bar(); | |
| ^ | |
| /tests/document.js:5: ERROR - Access to "document" property of global object is disallowed | |
| document(); | |
| ^ | |
| /tests/document.js:6: ERROR - Access to "document" property of global object is disallowed | |
| var x = window.document; | |
| ^ | |
| /tests/document.js:24: ERROR - Access to "document" property of global object is disallowed | |
| document.bar(); | |
| ^ | |
| /tests/document.js:25: ERROR - Access to "document" property of global object is disallowed | |
| document(); | |
| ^ | |
| /tests/document.js:26: ERROR - Access to "document" property of global object is disallowed | |
| var inner = document + bar; | |
| ^ | |
| /tests/document.js:47: ERROR - Access to "document" property of global object is disallowed | |
| document; | |
| ^ | |
| /tests/document.js:48: ERROR - Access to "document" property of global object is disallowed | |
| window.document; | |
| ^ | |
| /tests/document.js:53: ERROR - Access to "document" property of global object is disallowed | |
| var z = document.document; | |
| ^ | |
| /tests/document.js:54: ERROR - Access to "document" property of global object is disallowed | |
| var bar = window + window.document; | |
| ^ | |
| /tests/document.js:56: ERROR - Access to "document" property of global object is disallowed | |
| self.document = bar; | |
| ^ | |
| /tests/document.js:57: ERROR - Access to "addEventListener" property of global object is disallowed | |
| self.addEventListener(); | |
| ^ | |
| /tests/document.js:58: ERROR - Access to "removeEventListener" property of global object is disallowed | |
| self.removeEventListener(); | |
| ^ | |
| /tests/document.js:59: ERROR - Access to "requestAnimationFrame" property of global object is disallowed | |
| self.requestAnimationFrame(); | |
| ^ | |
| /tests/document.js:60: ERROR - Access to "cancelAnimationFrame" property of global object is disallowed | |
| window.cancelAnimationFrame(); | |
| ^ | |
| /tests/document.js:61: ERROR - Access to "getSelection" property of global object is disallowed | |
| getSelection(); | |
| ^ | |
| /tests/function.js:1: ERROR - @return annotation is required for API functions that return value | |
| function badFuncNoAnnotation() { | |
| ^ | |
| /tests/function.js:8: ERROR - @return annotation found, yet function does not return value | |
| function badFuncAnnotatedButNoReturn() // ERROR - no @return annotation. | |
| ^ | |
| /tests/function.js:15: ERROR - @return annotation found, yet function does not return value | |
| function badFuncAnnotatedButNoReturnValue() // ERROR - no returned value. | |
| ^ | |
| /tests/function.js:29: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:37: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @return number | |
| ^ | |
| /tests/function.js:45: ERROR - Invalid @param annotation found - should be "@param {<type>} paramName" | |
| * @param number foo | |
| ^ | |
| /tests/function.js:46: ERROR - Invalid @param annotation found - should be "@param {<type>} paramName" | |
| * @param bar | |
| ^ | |
| /tests/function.js:48: ERROR - @return annotation is required for API functions that return value | |
| function badParamAnnotationsFunc(foo, bar) // ERROR - @param's should be well-formed | |
| ^ | |
| /tests/function.js:55: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:63: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:80: ERROR - @return annotation is required for API functions that return value | |
| badApiMethodNoAnnotation: function() // ERROR - public method. | |
| ^ | |
| /tests/function.js:97: ERROR - @this annotation is required for functions referencing 'this' | |
| /** | |
| ^ | |
| /tests/function.js:126: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturnValue: function() // ERROR - does not return value. | |
| ^ | |
| /tests/function.js:134: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturn: function() // ERROR - does not return. | |
| ^ | |
| /tests/function.js:140: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:148: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:156: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:176: ERROR - @return annotation is required for API functions that return value | |
| badApiMethodNoAnnotation: function() // ERROR - public method. | |
| ^ | |
| /tests/function.js:197: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturnValue: function() // ERROR - does not return value. | |
| ^ | |
| /tests/function.js:205: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturn: function() // ERROR - does not return. | |
| ^ | |
| /tests/function.js:211: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:219: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:227: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:247: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:268: ERROR - @return annotation is required for API functions that return value | |
| badApiMethodNoAnnotation: function() // ERROR - public method. | |
| ^ | |
| /tests/function.js:289: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturnValue: function() // ERROR - does not return value. | |
| ^ | |
| /tests/function.js:297: ERROR - @return annotation found, yet function does not return value | |
| badMethodDoesNotReturn: function() // ERROR - does not return. | |
| ^ | |
| /tests/function.js:303: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:311: ERROR - invalid return type annotation found - should be "@return {<type>}" | |
| * @returns number | |
| ^ | |
| /tests/function.js:319: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:327: ERROR - invalid return type annotation found - please remove, as function does not return value | |
| * @returns {number} | |
| ^ | |
| /tests/function.js:335: ERROR - Invalid @param annotation found - should be "@param {<type>} paramName" | |
| * @param number foo | |
| ^ | |
| /tests/function.js:336: ERROR - Invalid @param annotation found - should be "@param {<type>} paramName" | |
| * @param bar | |
| ^ | |
| /tests/function.js:338: ERROR - @return annotation is required for API functions that return value | |
| badMethodParamAnnotations: function(foo, bar) // ERROR - @param's should be well-formed | |
| ^ | |
| /tests/function.js:357: ERROR - No @param JSDoc tag found for parameters: [b] | |
| /** | |
| ^ | |
| /tests/function.js:363: ERROR - No @param JSDoc tag found for parameters: [b,c] | |
| /** | |
| ^ | |
| /tests/proto.js:8: ERROR - No __proto__ assigned for type DerivedNoProto having @extends | |
| * @extends {Base} | |
| ^ | |
| /tests/proto.js:10: ERROR - Type DerivedNoProto extends Base but does not properly invoke its constructor | |
| DerivedNoProto = function() {} | |
| ^ | |
| /tests/proto.js:16: ERROR - Type DerivedBadProto extends Base but does not properly invoke its constructor | |
| DerivedBadProto = function() {} | |
| ^ | |
| /tests/proto.js:19: ERROR - __proto__ value is not a prototype | |
| __proto__: Base | |
| ^ | |
| /tests/proto.js:28: ERROR - __proto__ defined for interface InterfaceWithProto | |
| __proto__: Base.prototype | |
| ^ | |
| /tests/proto.js:37: ERROR - No @extends annotation for ProtoNoExtends extending Base | |
| __proto__: Base.prototype | |
| ^ | |
| /tests/proto.js:44: ERROR - Type ProtoNotSameAsExtends extends Base but does not properly invoke its constructor | |
| ProtoNotSameAsExtends = function() {} | |
| ^ | |
| /tests/proto.js:47: ERROR - Supertype does not match Base declared in @extends for ProtoNotSameAsExtends (line 42) | |
| __proto__: Object.prototype | |
| ^ | |
| /tests/proto.js:52: ERROR - No __proto__ assigned for type ProtoNotObjectLiteral having @extends | |
| * @extends {Base} | |
| ^ | |
| /tests/proto.js:54: ERROR - Type ProtoNotObjectLiteral extends Base but does not properly invoke its constructor | |
| ProtoNotObjectLiteral = function() {} | |
| ^ | |
| /tests/proto.js:56: ERROR - @extends found for type ProtoNotObjectLiteral but its prototype is not an object containing __proto__ | |
| ProtoNotObjectLiteral.prototype = Object; | |
| ^ | |
| /tests/proto.js:62: ERROR - Type DerivedNoSuperCall extends Base but does not properly invoke its constructor | |
| DerivedNoSuperCall = function() { | |
| ^ | |
| /tests/proto.js:73: ERROR - Type DerivedBadSuperCall extends Base but does not properly invoke its constructor | |
| DerivedBadSuperCall = function() { | |
| ^ | |
| /tests/proto.js:107: ERROR - No __proto__ assigned for type GoodSetSubclass = function() | |
| { | |
| Set.call(this); | |
| } having @extends | |
| * @extends {Set.<T>} | |
| ^ | |
| /tests/proto.js:121: ERROR - No __proto__ assigned for type BadSetSubclass = function() | |
| { | |
| } having @extends | |
| * @extends {Set.<T>} | |
| ^ | |
| /tests/proto.js:124: ERROR - Type BadSetSubclass = function() | |
| { | |
| } extends Set but does not properly invoke its constructor | |
| var BadSetSubclass = function() | |
| ^ | |
| /tests/proto.js:135: ERROR - No __proto__ assigned for type NS.BadSubClass having @extends | |
| * @extends {Base} | |
| ^ | |
| /tests/proto.js:137: ERROR - Type NS.BadSubClass extends Base but does not properly invoke its constructor | |
| NS.BadSubClass = function() {} | |
| ^ | |
| /tests/this.js:19: ERROR - @this annotation is required for functions referencing 'this' | |
| function badInnerCallback() { | |
| ^ | |
| /tests/this.js:24: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInCtor() { | |
| ^ | |
| /tests/this.js:54: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInMethod() { | |
| ^ | |
| /tests/this.js:73: ERROR - @this annotation is required for functions referencing 'this' | |
| function badInnerCallback() { | |
| ^ | |
| /tests/this.js:78: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInCtor() { | |
| ^ | |
| /tests/this.js:98: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInMethod() { | |
| ^ | |
| /tests/this.js:121: ERROR - @this annotation is required for functions referencing 'this' | |
| function badInnerCallback() { | |
| ^ | |
| /tests/this.js:126: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInCtor() { | |
| ^ | |
| /tests/this.js:146: ERROR - @this annotation is required for functions referencing 'this' | |
| function badCallbackInMethod() { | |
| ^ | |
| /tests/this.js:153: ERROR - @this annotation found for function not referencing 'this' | |
| function callbackNotReferencingThis() { | |
| ^ | |
| /tests/this.js:191: ERROR - Member function can only be bound to 'this' as the receiver | |
| var badMemberBinding1 = this.memberTwo.bind(null); // ERROR - Member not bound to |this| receiver. | |
| ^ | |
| /tests/this.js:192: ERROR - Member function can only be bound to 'this' as the receiver | |
| var badMemberBinding2 = this.memberTwo.bind(bar); // ERROR - Member not bound to |this| receiver. | |
| ^ | |
| /tests/this.js:217: ERROR - Receiver not specified for a function referencing 'this' | |
| callbackWithThis(); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:218: ERROR - Receiver not specified for a function referencing 'this' | |
| callbackWithThis.call(); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:219: ERROR - Receiver not specified for a function referencing 'this' | |
| callbackWithThis.call(null); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:220: ERROR - Receiver not specified for a function referencing 'this' | |
| callbackWithThis.apply(); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:221: ERROR - Receiver not specified for a function referencing 'this' | |
| callbackWithThis.apply(null); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:222: ERROR - Receiver specified for a function not referencing 'this' | |
| callbackNoThis.call(this); // ERROR - Function has no @this annotation. | |
| ^ | |
| /tests/this.js:223: ERROR - Receiver specified for a function not referencing 'this' | |
| callbackNoThis.call(foo); // ERROR - Function has no @this annotation. | |
| ^ | |
| /tests/this.js:224: ERROR - Receiver specified for a function not referencing 'this' | |
| callbackNoThis.apply(this); // ERROR - Function has no @this annotation. | |
| ^ | |
| /tests/this.js:225: ERROR - Receiver specified for a function not referencing 'this' | |
| callbackNoThis.bind(this); // ERROR - Function has no @this annotation. | |
| ^ | |
| /tests/this.js:227: ERROR - Function referencing 'this' used as argument without a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| this.memberTwo(callbackWithThis); // ERROR - Used as argument with no bound receiver. | |
| ^ | |
| /tests/this.js:228: ERROR - Receiver not specified for a function referencing 'this' | |
| this.memberTwo(callbackWithThis.bind(null, 2)); // ERROR - Used as argument with no bound receiver (null means "no receiver"). | |
| ^ | |
| /tests/this.js:229: ERROR - Receiver specified for a function not referencing 'this' | |
| this.memberTwo(callbackNoThis.bind(this)); // ERROR - Bound to a receiver but has no @this annotation. | |
| ^ | |
| /tests/this.js:230: ERROR - Receiver specified for a function not referencing 'this' | |
| this.memberTwo(callbackNoThis.bind(foo)); // ERROR - Bound to a receiver but has no @this annotation. | |
| ^ | |
| /tests/this.js:237: ERROR - Function referencing 'this' used as argument without a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| array.forEach(callbackWithThis); // ERROR - No receiver. | |
| ^ | |
| /tests/this.js:238: ERROR - Function not referencing 'this' used as argument with a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| array.forEach(callbackNoThis, this); // ERROR - Receiver for callback with no @this annotation. | |
| ^ | |
| /tests/this.js:247: ERROR - Function not referencing 'this' used as argument with a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| element.addEventListener("click", callbackNoThis, this); // ERROR. | |
| ^ | |
| /tests/this.js:253: ERROR - Function referencing 'this' used as argument without a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| element.addEventListener("click", callbackWithThis, true); // ERROR. | |
| ^ | |
| /tests/this.js:254: ERROR - Function referencing 'this' used as argument without a receiver. This check can be suppressed using @suppressReceiverCheck annotation on function declaration. | |
| element.addEventListener("click", callbackWithThis, false); // ERROR. | |
| ^ | |
| /tests/this.js:268: ERROR - @this annotation is required for functions referencing 'this' | |
| function callbackReferencingThisNotAnnotated() | |
| ^ | |
| /tests/this.js:277: ERROR - @this annotation found for function not referencing 'this' | |
| function callbackNotReferencingThisAnnotated() | |
| ^ | |
| /tests/this.js:321: ERROR - @this annotation is required for functions referencing 'this' | |
| function testArrowFunctionReferencingThisMissingAnnotation(a) | |
| ^ | |
| Total errors: 104 |