Index: pkg/csslib/lib/parser.dart |
diff --git a/pkg/csslib/lib/parser.dart b/pkg/csslib/lib/parser.dart |
index 92f16524e751c5f935ff140dd38a23798393be39..9756432f3206ea6268b528852e70c554738c0f98 100644 |
--- a/pkg/csslib/lib/parser.dart |
+++ b/pkg/csslib/lib/parser.dart |
@@ -30,7 +30,7 @@ class ParserState extends TokenizerState { |
: super(tokenizer); |
} |
-void _createMessages({List errors, List options}) { |
+void _createMessages({List<Message> errors, List<String> options}) { |
if (errors == null) errors = []; |
if (options == null) { |
@@ -45,8 +45,11 @@ bool get isChecked => messages.options.checked; |
// TODO(terry): Remove nested name parameter. |
/** Parse and analyze the CSS file. */ |
-StyleSheet compile(var input, {List errors, List options, bool nested: true, |
- bool polyfill: false, List<StyleSheet> includes: null}) { |
+StyleSheet compile(var input, {List<Message> errors, List<String> options, |
+ bool nested: true, |
+ bool polyfill: false, |
+ List<StyleSheet> includes: null}) { |
+ |
if (includes == null) { |
includes = []; |
} |
@@ -70,7 +73,9 @@ StyleSheet compile(var input, {List errors, List options, bool nested: true, |
} |
/** Analyze the CSS file. */ |
-void analyze(List<StyleSheet> styleSheets, {List errors, List options}) { |
+void analyze(List<StyleSheet> styleSheets, |
+ {List<Message> errors, List<String> options}) { |
+ |
_createMessages(errors: errors, options: options); |
new Analyzer(styleSheets, messages).run(); |
} |
@@ -80,7 +85,7 @@ void analyze(List<StyleSheet> styleSheets, {List errors, List options}) { |
* or [List<int>] of bytes and returns a [StyleSheet] AST. The optional |
* [errors] list will contain each error/warning as a [Message]. |
*/ |
-StyleSheet parse(var input, {List errors, List options}) { |
+StyleSheet parse(var input, {List<Message> errors, List<String> options}) { |
var source = _inputAsString(input); |
_createMessages(errors: errors, options: options); |
@@ -95,7 +100,7 @@ StyleSheet parse(var input, {List errors, List options}) { |
* or [List<int>] of bytes and returns a [StyleSheet] AST. The optional |
* [errors] list will contain each error/warning as a [Message]. |
*/ |
-StyleSheet selector(var input, {List errors}) { |
+StyleSheet selector(var input, {List<Message> errors}) { |
var source = _inputAsString(input); |
_createMessages(errors: errors); |
@@ -150,7 +155,7 @@ class Parser { |
/** A simple recursive descent parser for CSS. */ |
class _Parser { |
- Tokenizer tokenizer; |
+ final Tokenizer tokenizer; |
/** Base url of CSS file. */ |
final String _baseUrl; |
@@ -1184,7 +1189,7 @@ class _Parser { |
/** |
* Return list of selectors |
*/ |
- processSelector() { |
+ Selector processSelector() { |
List<SimpleSelectorSequence> simpleSequences = []; |
int start = _peekToken.start; |
while (true) { |
@@ -1539,7 +1544,7 @@ class _Parser { |
// SUBSTRMATCH: '*=' |
// |
// |
- processAttribute() { |
+ AttributeSelector processAttribute() { |
int start = _peekToken.start; |
if (_maybeEat(TokenKind.LBRACK)) { |
@@ -1593,7 +1598,7 @@ class _Parser { |
// *IDENT - IE7 or below |
// _IDENT - IE6 property (automatically a valid ident) |
// |
- processDeclaration(List dartStyles) { |
+ Declaration processDeclaration(List dartStyles) { |
Declaration decl; |
int start = _peekToken.start; |
@@ -1730,13 +1735,9 @@ class _Parser { |
'normal' : FontWeight.normal |
}; |
- static _findStyle(String styleName) { |
- if (_stylesToDart.containsKey(styleName)) { |
- return _stylesToDart[styleName]; |
- } |
- } |
+ static _findStyle(String styleName) => _stylesToDart[styleName]; |
- _styleForDart(Identifier property, Expressions exprs, List dartStyles) { |
+ DartStyleExpression _styleForDart(Identifier property, Expressions exprs, List dartStyles) { |
int styleType = _findStyle(property.name.toLowerCase()); |
if (styleType != null) { |
return buildDartStyleNode(styleType, exprs, dartStyles); |
@@ -1754,7 +1755,9 @@ class _Parser { |
return fontExpr; |
} |
- buildDartStyleNode(int styleType, Expressions exprs, List dartStyles) { |
+ DartStyleExpression buildDartStyleNode(int styleType, Expressions exprs, |
+ List dartStyles) { |
+ |
switch (styleType) { |
/* |
* Properties in order: |
@@ -1897,7 +1900,7 @@ class _Parser { |
// TODO(terry): Look at handling width of thin, thick, etc. any none numbers |
// to convert to a number. |
- processOneNumber(Expressions exprs, int part) { |
+ DartStyleExpression processOneNumber(Expressions exprs, int part) { |
var value = marginValue(exprs.expressions[0]); |
if (value != null) { |
switch (part) { |
@@ -1947,7 +1950,7 @@ class _Parser { |
* |
* The values of the margins can be a unit or unitless or auto. |
*/ |
- processFourNums(Expressions exprs) { |
+ BoxEdge processFourNums(Expressions exprs) { |
num top; |
num right; |
num bottom; |
@@ -2000,7 +2003,7 @@ class _Parser { |
// operator: '/' | ',' |
// term: (see processTerm) |
// |
- processExpr([bool ieFilter = false]) { |
+ Expression processExpr([bool ieFilter = false]) { |
int start = _peekToken.start; |
Expressions expressions = new Expressions(_makeSpan(start)); |
@@ -2061,7 +2064,7 @@ class _Parser { |
return expressions; |
} |
- static int MAX_UNICODE = int.parse('0x10FFFF'); |
+ static final int MAX_UNICODE = int.parse('0x10FFFF'); |
// Term grammar: |
// |
@@ -2248,8 +2251,8 @@ class _Parser { |
} |
/** Process all dimension units. */ |
- processDimension(Token t, var value, Span span) { |
- var term; |
+ LiteralTerm processDimension(Token t, var value, Span span) { |
+ LiteralTerm term; |
var unitType = this._peek(); |
switch (unitType) { |
@@ -2328,7 +2331,7 @@ class _Parser { |
return term; |
} |
- processQuotedString([bool urlString = false]) { |
+ String processQuotedString([bool urlString = false]) { |
int start = _peekToken.start; |
// URI term sucks up everything inside of quotes(' or ") or between parens |
@@ -2470,7 +2473,7 @@ class _Parser { |
return null; |
} |
- identifier() { |
+ Identifier identifier() { |
var tok = _next(); |
if (!TokenKind.isIdentifier(tok.kind) && |
@@ -2535,7 +2538,7 @@ class ExpressionsProcessor { |
ExpressionsProcessor(this._exprs); |
// TODO(terry): Only handles ##px unit. |
- processFontSize() { |
+ FontExpression processFontSize() { |
/* font-size[/line-height] |
* |
* Possible size values: |
@@ -2580,7 +2583,7 @@ class ExpressionsProcessor { |
return new FontExpression(_exprs.span, size: size, lineHeight: lineHt); |
} |
- processFontFamily() { |
+ FontExpression processFontFamily() { |
final List<String> family = <String>[]; |
/* Possible family values: |
@@ -2609,7 +2612,7 @@ class ExpressionsProcessor { |
return new FontExpression(_exprs.span, family: family); |
} |
- processFont() { |
+ FontExpression processFont() { |
var family; |
// Process all parts of the font expression. |