Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Side by Side Diff: lib/src/info.dart

Issue 19497002: Reducing the amount of code we generate in the compiler: We still continue (Closed) Base URL: git@github.com:dart-lang/web-ui.git@master
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * Datatypes holding information extracted by the analyzer and used by later 6 * Datatypes holding information extracted by the analyzer and used by later
7 * phases of the compiler. 7 * phases of the compiler.
8 */ 8 */
9 library polymer.src.info; 9 library polymer.src.info;
10 10
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 */ 186 */
187 ComponentSummary extendsComponent; 187 ComponentSummary extendsComponent;
188 188
189 /** The Dart class containing the component's behavior. */ 189 /** The Dart class containing the component's behavior. */
190 String className; 190 String className;
191 191
192 /** The Dart class declaration. */ 192 /** The Dart class declaration. */
193 ClassDeclaration get classDeclaration => _classDeclaration; 193 ClassDeclaration get classDeclaration => _classDeclaration;
194 ClassDeclaration _classDeclaration; 194 ClassDeclaration _classDeclaration;
195 195
196 /** Component's <element> element. */
197 Element elementNode;
198
199 // TODO(terry): Remove once we stop mangling CSS selectors. 196 // TODO(terry): Remove once we stop mangling CSS selectors.
200 /** CSS selectors scoped. */ 197 /** CSS selectors scoped. */
201 bool scoped = false; 198 bool scoped = false;
202 199
203 /** The declaring `<element>` tag. */ 200 /** The declaring `<element>` tag. */
204 final Node element; 201 final Node element;
205 202
206 /** File where this component was defined. */ 203 /** File where this component was defined. */
207 UrlInfo get dartCodeUrl => externalFile != null 204 UrlInfo get dartCodeUrl => externalFile != null
208 ? externalFile : declaringFile.inputUrl; 205 ? externalFile : declaringFile.inputUrl;
(...skipping 27 matching lines...) Expand all
236 */ 233 */
237 void findClassDeclaration(Messages messages) { 234 void findClassDeclaration(Messages messages) {
238 var constructor = element.attributes['constructor']; 235 var constructor = element.attributes['constructor'];
239 className = constructor != null ? constructor : 236 className = constructor != null ? constructor :
240 toCamelCase(tagName, startUppercase: true); 237 toCamelCase(tagName, startUppercase: true);
241 238
242 // If we don't have any code, generate a small class definition, and 239 // If we don't have any code, generate a small class definition, and
243 // pretend the user wrote it as inlined code. 240 // pretend the user wrote it as inlined code.
244 if (userCode == null) { 241 if (userCode == null) {
245 var superclass = extendsComponent != null ? extendsComponent.className 242 var superclass = extendsComponent != null ? extendsComponent.className
246 : 'autogenerated.WebComponent'; 243 : 'autogenerated.PolymerElement';
247 inlinedCode = new DartCodeInfo(null, null, [], 244 inlinedCode = new DartCodeInfo(null, null, [],
248 'class $className extends $superclass {\n}', null); 245 'class $className extends $superclass {\n}', null);
249 } 246 }
250 247
251 var code = userCode.code; 248 var code = userCode.code;
252 _classDeclaration = userCode.findClass(className); 249 _classDeclaration = userCode.findClass(className);
253 if (_classDeclaration == null) { 250 if (_classDeclaration == null) {
254 // Check for deprecated x-tags implied constructor. 251 // Check for deprecated x-tags implied constructor.
255 if (tagName.startsWith('x-') && constructor == null) { 252 if (tagName.startsWith('x-') && constructor == null) {
256 var oldCtor = toCamelCase(tagName.substring(2), startUppercase: true); 253 var oldCtor = toCamelCase(tagName.substring(2), startUppercase: true);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 return new UrlInfo(url, target, span); 327 return new UrlInfo(url, target, span);
331 } 328 }
332 329
333 bool operator ==(UrlInfo other) => 330 bool operator ==(UrlInfo other) =>
334 url == other.url && resolvedPath == other.resolvedPath; 331 url == other.url && resolvedPath == other.resolvedPath;
335 332
336 int get hashCode => resolvedPath.hashCode; 333 int get hashCode => resolvedPath.hashCode;
337 334
338 String toString() => "#<UrlInfo url: $url, resolvedPath: $resolvedPath>"; 335 String toString() => "#<UrlInfo url: $url, resolvedPath: $resolvedPath>";
339 } 336 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698