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

Side by Side Diff: utils/css/generate.dart

Issue 12473003: Remove deprecated StringBuffer.add, addAll and addCharCode. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 class Generate { 5 class Generate {
6 6
7 // Build up list of all known class selectors in all CSS files. 7 // Build up list of all known class selectors in all CSS files.
8 static List<String> computeClassSelectors(RuleSet ruleset, classes) { 8 static List<String> computeClassSelectors(RuleSet ruleset, classes) {
9 for (final selector in ruleset.selectorGroup.selectors) { 9 for (final selector in ruleset.selectorGroup.selectors) {
10 var selSeqs = selector.simpleSelectorSequences; 10 var selSeqs = selector.simpleSelectorSequences;
(...skipping 20 matching lines...) Expand all
31 StringBuffer buff = new StringBuffer( 31 StringBuffer buff = new StringBuffer(
32 '// File generated by Dart CSS from source file ${filename}\n' + 32 '// File generated by Dart CSS from source file ${filename}\n' +
33 '// Do not edit.\n\n'); 33 '// Do not edit.\n\n');
34 34
35 // Emit class for any @stylet directive. 35 // Emit class for any @stylet directive.
36 for (final production in stylesheet._topLevels) { 36 for (final production in stylesheet._topLevels) {
37 if (production is Directive) { 37 if (production is Directive) {
38 if (production is StyletDirective) { 38 if (production is StyletDirective) {
39 // TODO(terry): Need safer mechanism for stylets in different files 39 // TODO(terry): Need safer mechanism for stylets in different files
40 // and stylets with colliding names. 40 // and stylets with colliding names.
41 buff.add('class ${production.dartClassName} {\n'); 41 buff.write('class ${production.dartClassName} {\n');
42 buff.add(' // selector, properties<propertyName, value>\n'); 42 buff.write(' // selector, properties<propertyName, value>\n');
43 buff.add(' static const selectors = const {\n'); 43 buff.write(' static const selectors = const {\n');
44 44
45 for (final ruleset in production.rulesets) { 45 for (final ruleset in production.rulesets) {
46 for (final selector in ruleset.selectorGroup.selectors) { 46 for (final selector in ruleset.selectorGroup.selectors) {
47 var selSeq = selector.simpleSelectorSquences; 47 var selSeq = selector.simpleSelectorSquences;
48 if (selSeq.length == 1) { 48 if (selSeq.length == 1) {
49 buff.add(' \'${selSeq.toString()}\' : const {\n'); 49 buff.write(' \'${selSeq.toString()}\' : const {\n');
50 } 50 }
51 } 51 }
52 52
53 for (final decl in ruleset.declarationGroup.declarations) { 53 for (final decl in ruleset.declarationGroup.declarations) {
54 buff.add(' \'${decl.property}\' : ' + 54 buff.write(' \'${decl.property}\' : ' +
55 '\'${decl.expression.toString()}\',\n'); 55 '\'${decl.expression.toString()}\',\n');
56 } 56 }
57 buff.add(' },\n'); // End of declarations for stylet class. 57 buff.write(' },\n'); // End of declarations for stylet class.
58 } 58 }
59 buff.add(' };\n'); // End of static selectors constant. 59 buff.write(' };\n'); // End of static selectors constant.
60 buff.add('}\n\n'); // End of stylet class 60 buff.write('}\n\n'); // End of stylet class
61 } else if (production is IncludeDirective) { 61 } else if (production is IncludeDirective) {
62 for (final topLevel in production.styleSheet._topLevels) { 62 for (final topLevel in production.styleSheet._topLevels) {
63 if (topLevel is RuleSet) { 63 if (topLevel is RuleSet) {
64 knownClasses = computeClassSelectors(topLevel, knownClasses); 64 knownClasses = computeClassSelectors(topLevel, knownClasses);
65 } 65 }
66 } 66 }
67 } 67 }
68 } else if (production is RuleSet) { 68 } else if (production is RuleSet) {
69 knownClasses = computeClassSelectors(production, knownClasses); 69 knownClasses = computeClassSelectors(production, knownClasses);
70 } 70 }
71 } 71 }
72 72
73 // Generate all known classes encountered in all processed CSS files. 73 // Generate all known classes encountered in all processed CSS files.
74 StringBuffer classSelectors = new StringBuffer( 74 StringBuffer classSelectors = new StringBuffer(
75 'class CSS {\n' + 75 'class CSS {\n' +
76 ' // CSS class selectors:\n'); 76 ' // CSS class selectors:\n');
77 for (final className in knownClasses) { 77 for (final className in knownClasses) {
78 String classAsDart = className.replaceAll('-', '_').toUpperCase(); 78 String classAsDart = className.replaceAll('-', '_').toUpperCase();
79 classSelectors.add(' static const String ${classAsDart} = ' + 79 classSelectors.write(' static const String ${classAsDart} = ' +
80 '\'${className}\';\n'); 80 '\'${className}\';\n');
81 } 81 }
82 classSelectors.add('}\n'); // End of class selectors. 82 classSelectors.write('}\n'); // End of class selectors.
83 buff.add(classSelectors.toString()); 83 buff.write(classSelectors.toString());
84 84
85 // Write Dart file. 85 // Write Dart file.
86 String outFile = '${outPath}CSS.dart'; 86 String outFile = '${outPath}CSS.dart';
87 files.writeString(outFile, buff.toString()); 87 files.writeString(outFile, buff.toString());
88 88
89 return outFile; 89 return outFile;
90 } 90 }
91 } 91 }
92 92
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698