Skip to content

Closure warnings #4684

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 54 commits into from
Jul 13, 2017
Merged
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
80f5442
fix some closure warnings.
Apr 26, 2017
37abc4e
Fix some closure warnings.
kevinpschaaf Apr 26, 2017
89b1230
automate generating closure externs
dfreedm Apr 26, 2017
5185554
Fix some closure warnings.
Apr 26, 2017
f1a1498
Fix some closure warnings.
Apr 26, 2017
fa9823f
Fix more closure warnings.
kevinpschaaf Apr 26, 2017
346e2d5
gesture fixes
dfreedm Apr 27, 2017
b3dfd38
slighly better typing for mixin funcion
dfreedm Apr 27, 2017
2627e63
Fix more closure warnings.
Apr 27, 2017
0b22959
Fix more closure warnings.
kevinpschaaf Apr 27, 2017
b686cd7
Fix more closure warnings.
Apr 27, 2017
0c3e3c5
Fix more closure warnings.
Apr 27, 2017
d0f7812
Fix more closure warnings
kevinpschaaf Apr 27, 2017
f04d631
Fix more closure warnings
kevinpschaaf Apr 27, 2017
2c9ffac
Fix dedupingMixin
Apr 27, 2017
6a995a2
set `isAttached` constructor (for closure) but set to undefined so no…
Apr 27, 2017
c1eda7a
LegacyElementMixin to `@unrestricted`
Apr 27, 2017
f15e4ee
initialize properties in `_initializeProperties` rather than `constru…
Apr 27, 2017
c3da507
inline cachingMixin into deduplicatingMixin
dfreedm Apr 27, 2017
0b15293
fix typing for Polymer.Element
dfreedm Apr 27, 2017
f821e46
remove `TemplateStamp`’s implicit dependency on `_initializeProperties`
Apr 27, 2017
c0ddc60
remove all "global this" warnings
dfreedm Apr 28, 2017
e5de178
fix lint error
dfreedm Apr 28, 2017
4698253
Merge branch 'master' into closure-warnings
dfreedm May 2, 2017
7abd703
ensure latest closure, stay on polymer-build 1.1 until warnings can b…
dfreedm May 2, 2017
db38807
Merge branch 'master' into closure-warnings
dfreedm May 23, 2017
e927bc9
update externs for merge, update dependencies
dfreedm May 23, 2017
a8a57bf
[ci skip] generating externs should be explicit
dfreedm May 24, 2017
3a80ad8
[ci skip] paramaterize entries for closure task
dfreedm May 24, 2017
c34ef0b
reduce closure warnings in TemplateStamp
May 25, 2017
3591be8
Reduce closure warnings in PropertyAccessors
kevinpschaaf May 25, 2017
bc504f6
Fix fn binding error
kevinpschaaf May 25, 2017
0744364
fix dom-module related errors
May 25, 2017
ec3e948
Fix template.assetpath with typedef
dfreedm May 25, 2017
c0a816f
Fix some ElementMixin warnings.
May 25, 2017
7036fc2
Merge branch 'master' into closure-warnings
dfreedm May 31, 2017
abc229e
rebaseline warnings with NTI specific warnings disabled, for now
dfreedm May 31, 2017
872e1c2
more fixes
dfreedm Jun 1, 2017
de87c58
Down to 30ish warnings, need PolymerPass v2
dfreedm Jun 6, 2017
047c177
Merge branch 'master' into closure-warnings
dfreedm Jun 6, 2017
ba72012
fix eslint warnings
dfreedm Jun 6, 2017
9bd8920
last two stragglers
dfreedm Jun 6, 2017
c40eff6
Merge branch 'master' into closure-warnings
dfreedm Jun 7, 2017
f7e2bd9
Merge branch 'master' into closure-warnings
dfreedm Jun 15, 2017
344ebb4
update closure log
dfreedm Jun 15, 2017
3b7eedb
remove polymer-element dependency introduced by a merge conflict
dfreedm Jun 15, 2017
7612df6
remove PolymerPropertyEffects type, inline DataTrigger and DataEffect…
dfreedm Jun 16, 2017
9b7e184
Merge branch 'master' into closure-warnings
dfreedm Jun 20, 2017
2efccb9
Remove @suppress {missingProperties}
dfreedm Jun 21, 2017
3e14a1d
zero warnings left
dfreedm Jun 28, 2017
4465381
address some concerns from kschaaf
dfreedm Jun 29, 2017
72022f2
[ci skip] clean up mixin fn and regen externs
dfreedm Jun 30, 2017
8804307
Meaningful closure fixes from @ChadKillingsworth
dfreedm Jul 11, 2017
0cb560a
[ci skip] remove one new closure warning for updating closure
dfreedm Jul 11, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,279 changes: 0 additions & 2,279 deletions closure.log

This file was deleted.

2,533 changes: 2,180 additions & 353 deletions externs/closure-types.js

Large diffs are not rendered by default.

157 changes: 157 additions & 0 deletions externs/polymer-closure-types.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
<!--
@license
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<!--<script src="closure-types.js"></script>-->
<script>
/* eslint-disable no-unused-vars, strict */
/**
* @constructor
* @extends {DocumentFragment}
*/
function StampedTemplate(){}
/** @type {boolean} */
StampedTemplate.prototype.__noInsertionPoint;
/** @type {!Array<!Node>} */
StampedTemplate.prototype.nodeList;
/** @type {!Object<string, !Node>} */
StampedTemplate.prototype.$;
/** @type {!TemplateInfo | undefined} */
StampedTemplate.prototype.templateInfo;

/** @record */
function NodeInfo(){}
/** @type {string} */
NodeInfo.prototype.id;
/** @type {!Array<{name: string, value: string}>}*/
NodeInfo.prototype.events;
/** @type {boolean} */
NodeInfo.prototype.hasInsertionPoint;
/** @type {!TemplateInfo} */
NodeInfo.prototype.templateInfo;
/** @type {!NodeInfo} */
NodeInfo.prototype.parentInfo;
/** @type {number} */
NodeInfo.prototype.parentIndex;
/** @type {number} */
NodeInfo.prototype.infoIndex;
/** @type {!Array<!Binding>} */
NodeInfo.prototype.bindings;

/** @record */
function TemplateInfo(){}
/** @type {!Array<!NodeInfo>} */
TemplateInfo.prototype.nodeInfoList;
/** @type {!Array<!Node>} */
TemplateInfo.prototype.nodeList;
/** @type {boolean} */
TemplateInfo.prototype.stripWhitespace;
/** @type {boolean | undefined} */
TemplateInfo.prototype.hasInsertionPoint;
/** @type {!Object} */
TemplateInfo.prototype.hostProps;
/** @type {!Object} */
TemplateInfo.prototype.propertyEffects;
/** @type {TemplateInfo | undefined} */
TemplateInfo.prototype.nextTemplateInfo;
/** @type {TemplateInfo | undefined} */
TemplateInfo.prototype.previousTemplateInfo;
/** @type {!Array<!Node>} */
TemplateInfo.prototype.childNodes;
/** @type {boolean} */
TemplateInfo.prototype.wasPreBound;

/**
* type for HTMLTemplateElement with `_templateInfo`
*
* @constructor
* @extends {HTMLTemplateElement}
*/
function HTMLTemplateElementWithInfo(){}
/** @type {TemplateInfo} */
HTMLTemplateElementWithInfo.prototype._templateInfo;

/**
* @typedef {{
* literal: string,
* compoundIndex: (number | undefined)
* }}
*/
let LiteralBindingPart;

/**
* @typedef {{
* literal: boolean,
* name: string,
* value: (string | number),
* rootProperty: (string | undefined),
* structured: (boolean | undefined),
* wildcard: (boolean | undefined)
* }}
*/
let MethodArg;

/**
* @typedef {{
* methodName: string,
* static: boolean,
* args: !Array<!MethodArg>,
* dynamicFn: (boolean | undefined),
* }}
*/
let MethodSignature;

/**
* @typedef {{
* mode: string,
* negate: boolean,
* source: string,
* dependencies: !Array<(!MethodArg|string)>,
* customEvent: boolean,
* signature: Object,
* event: string
* }}
*/
let ExpressionBindingPart;

/**
* @typedef {LiteralBindingPart | ExpressionBindingPart}
*/
let BindingPart;

/**
* @typedef {{
* kind: string,
* target: string,
* parts: Array<!BindingPart>,
* literal: (string | undefined),
* isCompound: boolean,
* listenerEvent: (string | undefined),
* listenerNegate: (boolean | undefined)
* }}
*/
let Binding;

/**
* @typedef {{
* path: string
* }}
*/
let PathInfo;

/**
* @typedef {{
* forwardHostProp: (function(string, *) | undefined),
* instanceProps: (Object | undefined),
* mutableData: (boolean | undefined),
* notifyInstanceProp: (function(*, string, *) | undefined),
* parentModel: (boolean | undefined)
* }}
*/
let TemplatizeOptions;
</script>
70 changes: 68 additions & 2 deletions externs/polymer-externs.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,81 @@
* @externs
*/

/* eslint-disable */

/**
* @typedef {Object<string, {
* value: *,
* type: (Function | undefined),
* readOnly: (boolean | undefined),
* computed: (string | undefined),
* reflectToAttribute: (boolean | undefined),
* notify: (boolean | undefined),
* observer: (string | undefined)
* }>}
*/
let PolymerElementProperties;

/**
* @typedef {{
* is: string,
* extends: (string | undefined),
* properties: (!PolymerElementProperties | undefined),
* observers: (!Array<string> | undefined),
* template: (!HTMLTemplateElement | string | undefined),
* hostAttributes: (!Object<string, *> | undefined),
* listeners: (!Object<string, string> | undefined)
* }}
*/
let PolymerInit;

let PolymerElementConstructor = function (){};
/** @type {(string | undefined)} */
PolymerElementConstructor.is;
/** @type {(string | undefined)} */
PolymerElementConstructor.extends;
/** @type {(!PolymerElementProperties | undefined)} */
PolymerElementConstructor.properties;
/** @type {(!Array<string> | undefined)} */
PolymerElementConstructor.observers;
/** @type {(!HTMLTemplateElement | string | undefined)} */
PolymerElementConstructor.template;

/**
* @param {!{is: string}} init
* @param {!PolymerInit} init
* @return {!HTMLElement}
*/
function Polymer(init){}

/** @type {PolymerElementProperties} */
Polymer.ElementProperties;

/**
* @type {(function(*,string,string,Node):*)|undefined}
*/
Polymer.sanitizeDOMValue;

/**
* @param {string} string
* @param {Object} obj
* @return {string}
*/
function JSCompiler_renameProperty(string, obj) {}
function JSCompiler_renameProperty(string, obj) {}

/** @type {Object} */
Polymer.telemetry;

/** @type {Object} */
Polymer_PropertyEffects.prototype.__computeEffects;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider:

  • use this['__computeEffects'] in code instead of enum to keep them from being renamed, so that these don't have to be externed
  • that allows these and __dataHost to be moved to polymer-closure-types.html
  • which then allows closure-types.js to not need to be externed, and instead lumped alongside polymer-closure-types.html

/** @type {Object} */
Polymer_PropertyEffects.prototype.__reflectEffects;
/** @type {Object} */
Polymer_PropertyEffects.prototype.__notifyEffects;
/** @type {Object} */
Polymer_PropertyEffects.prototype.__propagateEffects;
/** @type {Object} */
Polymer_PropertyEffects.prototype.__observeEffects;
/** @type {Object} */
Polymer_PropertyEffects.prototype.__readOnly;
/** @type {Polymer_PropertyEffects} */
Polymer_PropertyEffects.prototype.__dataHost;
18 changes: 16 additions & 2 deletions externs/webcomponents-externs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@
* @fileoverview Externs for webcomponents polyfills
* @externs
*/
/* eslint-disable */

let HTMLImports = {
/**
* @param {function()} callback
*/
whenReady(callback){}
whenReady(callback){},
/**
* @param {Element} element
* @returns {Document} document
*/
importForElement(element){}
};

window.HTMLImports = HTMLImports;
Expand All @@ -33,6 +39,9 @@ let ShadyDOM = {

window.ShadyDOM = ShadyDOM;

/** @type {function(this:ShadowRoot)} */
ShadowRoot.prototype.forceRender;

let WebComponents = {};
window.WebComponents = WebComponents;

Expand All @@ -42,4 +51,9 @@ HTMLElement.prototype._activeElement;
/**
* @param {HTMLTemplateElement} template
*/
HTMLTemplateElement.prototype.decorate = function(template){};
HTMLTemplateElement.decorate = function(template){};

/**
* @param {function(function())} cb callback
*/
CustomElementRegistry.prototype.polyfillWrapFlushCallback = function(cb){};
Loading