| /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:121: ERROR - No __proto__ assigned for type BadSetSubclass having @extends |
| * @extends {Set.<T>} |
| ^ |
| |
| /tests/proto.js:124: ERROR - Type BadSetSubclass 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() |
| ^ |
| |
| Total errors: 102 |