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

Side by Side Diff: packages/csslib/lib/parser.dart

Issue 3014633002: Roll to pickup pool changes (Closed)
Patch Set: Created 3 years, 2 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
« no previous file with comments | « packages/csslib/lib/css.dart ('k') | packages/csslib/lib/src/analyzer.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library csslib.parser; 5 library csslib.parser;
6 6
7 import 'dart:math' as math; 7 import 'dart:math' as math;
8 8
9 import 'package:source_span/source_span.dart'; 9 import 'package:source_span/source_span.dart';
10 10
11 import 'visitor.dart';
12 import 'src/messages.dart'; 11 import 'src/messages.dart';
13 import 'src/options.dart'; 12 import 'src/options.dart';
13 import 'visitor.dart';
14 14
15 export 'src/messages.dart' show Message; 15 export 'src/messages.dart' show Message;
16 export 'src/options.dart'; 16 export 'src/options.dart';
17 17
18 part 'src/analyzer.dart'; 18 part 'src/analyzer.dart';
19 part 'src/polyfill.dart'; 19 part 'src/polyfill.dart';
20 part 'src/property.dart'; 20 part 'src/property.dart';
21 part 'src/token.dart'; 21 part 'src/token.dart';
22 part 'src/tokenizer_base.dart'; 22 part 'src/tokenizer_base.dart';
23 part 'src/tokenizer.dart'; 23 part 'src/tokenizer.dart';
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 bool polyfill: false, 61 bool polyfill: false,
62 List<StyleSheet> includes: null}) { 62 List<StyleSheet> includes: null}) {
63 if (includes == null) { 63 if (includes == null) {
64 includes = []; 64 includes = [];
65 } 65 }
66 66
67 var source = _inputAsString(input); 67 var source = _inputAsString(input);
68 68
69 _createMessages(errors: errors, options: options); 69 _createMessages(errors: errors, options: options);
70 70
71 var file = new SourceFile(source); 71 var file = new SourceFile.fromString(source);
72 72
73 var tree = new _Parser(file, source).parse(); 73 var tree = new _Parser(file, source).parse();
74 74
75 analyze([tree], errors: errors, options: options); 75 analyze([tree], errors: errors, options: options);
76 76
77 if (polyfill) { 77 if (polyfill) {
78 var processCss = new PolyFill(messages); 78 var processCss = new PolyFill(messages);
79 processCss.process(tree, includes: includes); 79 processCss.process(tree, includes: includes);
80 } 80 }
81 81
(...skipping 10 matching lines...) Expand all
92 /** 92 /**
93 * Parse the [input] CSS stylesheet into a tree. The [input] can be a [String], 93 * Parse the [input] CSS stylesheet into a tree. The [input] can be a [String],
94 * or [List<int>] of bytes and returns a [StyleSheet] AST. The optional 94 * or [List<int>] of bytes and returns a [StyleSheet] AST. The optional
95 * [errors] list will contain each error/warning as a [Message]. 95 * [errors] list will contain each error/warning as a [Message].
96 */ 96 */
97 StyleSheet parse(input, {List<Message> errors, PreprocessorOptions options}) { 97 StyleSheet parse(input, {List<Message> errors, PreprocessorOptions options}) {
98 var source = _inputAsString(input); 98 var source = _inputAsString(input);
99 99
100 _createMessages(errors: errors, options: options); 100 _createMessages(errors: errors, options: options);
101 101
102 var file = new SourceFile(source); 102 var file = new SourceFile.fromString(source);
103 return new _Parser(file, source).parse(); 103 return new _Parser(file, source).parse();
104 } 104 }
105 105
106 /** 106 /**
107 * Parse the [input] CSS selector into a tree. The [input] can be a [String], 107 * Parse the [input] CSS selector into a tree. The [input] can be a [String],
108 * or [List<int>] of bytes and returns a [StyleSheet] AST. The optional 108 * or [List<int>] of bytes and returns a [StyleSheet] AST. The optional
109 * [errors] list will contain each error/warning as a [Message]. 109 * [errors] list will contain each error/warning as a [Message].
110 */ 110 */
111 // TODO(jmesserly): should rename "parseSelector" and return Selector 111 // TODO(jmesserly): should rename "parseSelector" and return Selector
112 StyleSheet selector(input, {List<Message> errors}) { 112 StyleSheet selector(input, {List<Message> errors}) {
113 var source = _inputAsString(input); 113 var source = _inputAsString(input);
114 114
115 _createMessages(errors: errors); 115 _createMessages(errors: errors);
116 116
117 var file = new SourceFile(source); 117 var file = new SourceFile.fromString(source);
118 return (new _Parser(file, source)..tokenizer.inSelector = true) 118 return (new _Parser(file, source)..tokenizer.inSelector = true)
119 .parseSelector(); 119 .parseSelector();
120 } 120 }
121 121
122 SelectorGroup parseSelectorGroup(input, {List<Message> errors}) { 122 SelectorGroup parseSelectorGroup(input, {List<Message> errors}) {
123 var source = _inputAsString(input); 123 var source = _inputAsString(input);
124 124
125 _createMessages(errors: errors); 125 _createMessages(errors: errors);
126 126
127 var file = new SourceFile(source); 127 var file = new SourceFile.fromString(source);
128 return (new _Parser(file, source) 128 return (new _Parser(file, source)
129 // TODO(jmesserly): this fix should be applied to the parser. It's trick y 129 // TODO(jmesserly): this fix should be applied to the parser. It's trick y
130 // because by the time the flag is set one token has already been fetche d. 130 // because by the time the flag is set one token has already been fetche d.
131 ..tokenizer.inSelector = true) 131 ..tokenizer.inSelector = true)
132 .processSelectorGroup(); 132 .processSelectorGroup();
133 } 133 }
134 134
135 String _inputAsString(input) { 135 String _inputAsString(input) {
136 String source; 136 String source;
137 137
(...skipping 2805 matching lines...) Expand 10 before | Expand all | Expand 10 after
2943 2943
2944 if (replace != null && result == null) { 2944 if (replace != null && result == null) {
2945 result = new StringBuffer(text.substring(0, i)); 2945 result = new StringBuffer(text.substring(0, i));
2946 } 2946 }
2947 2947
2948 if (result != null) result.write(replace != null ? replace : text[i]); 2948 if (result != null) result.write(replace != null ? replace : text[i]);
2949 } 2949 }
2950 2950
2951 return result == null ? text : result.toString(); 2951 return result == null ? text : result.toString();
2952 } 2952 }
OLDNEW
« no previous file with comments | « packages/csslib/lib/css.dart ('k') | packages/csslib/lib/src/analyzer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698