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

Side by Side Diff: lib/parser.dart

Issue 1009053006: pkg/csslib: remove unused vars and fields (Closed) Base URL: https://github.com/dart-lang/csslib@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | 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
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 805
806 var start = _peekToken.span; 806 var start = _peekToken.span;
807 while (!_maybeEat(TokenKind.END_OF_FILE)) { 807 while (!_maybeEat(TokenKind.END_OF_FILE)) {
808 var directive = processDirective(); 808 var directive = processDirective();
809 if (directive != null) { 809 if (directive != null) {
810 productions.add(directive); 810 productions.add(directive);
811 continue; 811 continue;
812 } 812 }
813 813
814 var declGroup = processDeclarations(checkBrace: false); 814 var declGroup = processDeclarations(checkBrace: false);
815 var decls = [];
816 if (declGroup.declarations.any((decl) { 815 if (declGroup.declarations.any((decl) {
817 return decl is Declaration && decl is! IncludeMixinAtDeclaration; 816 return decl is Declaration && decl is! IncludeMixinAtDeclaration;
818 })) { 817 })) {
819 var newDecls = []; 818 var newDecls = [];
820 productions.forEach((include) { 819 productions.forEach((include) {
821 // If declGroup has items that are declarations then we assume 820 // If declGroup has items that are declarations then we assume
822 // this mixin is a declaration mixin not a top-level mixin. 821 // this mixin is a declaration mixin not a top-level mixin.
823 if (include is IncludeDirective) { 822 if (include is IncludeDirective) {
824 newDecls.add(new IncludeMixinAtDeclaration(include, include.span)); 823 newDecls.add(new IncludeMixinAtDeclaration(include, include.span));
825 } else { 824 } else {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 * return the token id of a directive or -1 if neither. 873 * return the token id of a directive or -1 if neither.
875 */ 874 */
876 processVariableOrDirective({bool mixinParameter: false}) { 875 processVariableOrDirective({bool mixinParameter: false}) {
877 var start = _peekToken.span; 876 var start = _peekToken.span;
878 877
879 var tokId = _peek(); 878 var tokId = _peek();
880 // Handle case for @ directive (where there's a whitespace between the @ 879 // Handle case for @ directive (where there's a whitespace between the @
881 // sign and the directive name. Technically, it's not valid grammar but 880 // sign and the directive name. Technically, it's not valid grammar but
882 // a number of CSS tests test for whitespace between @ and name. 881 // a number of CSS tests test for whitespace between @ and name.
883 if (tokId == TokenKind.AT) { 882 if (tokId == TokenKind.AT) {
884 Token tok = _next(); 883 _next();
885 tokId = _peek(); 884 tokId = _peek();
886 if (_peekIdentifier()) { 885 if (_peekIdentifier()) {
887 // Is it a directive? 886 // Is it a directive?
888 var directive = _peekToken.text; 887 var directive = _peekToken.text;
889 var directiveLen = directive.length; 888 var directiveLen = directive.length;
890 tokId = TokenKind.matchDirectives(directive, 0, directiveLen); 889 tokId = TokenKind.matchDirectives(directive, 0, directiveLen);
891 if (tokId == -1) { 890 if (tokId == -1) {
892 tokId = TokenKind.matchMarginDirectives(directive, 0, directiveLen); 891 tokId = TokenKind.matchMarginDirectives(directive, 0, directiveLen);
893 } 892 }
894 } 893 }
(...skipping 945 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 return _mergeFontStyles(fontExpr, dartStyles); 1839 return _mergeFontStyles(fontExpr, dartStyles);
1841 } else if (expr is LiteralTerm) { 1840 } else if (expr is LiteralTerm) {
1842 int weight = _nameToFontWeight[expr.value.toString()]; 1841 int weight = _nameToFontWeight[expr.value.toString()];
1843 if (weight != null) { 1842 if (weight != null) {
1844 var fontExpr = new FontExpression(expr.span, weight: weight); 1843 var fontExpr = new FontExpression(expr.span, weight: weight);
1845 return _mergeFontStyles(fontExpr, dartStyles); 1844 return _mergeFontStyles(fontExpr, dartStyles);
1846 } 1845 }
1847 } 1846 }
1848 break; 1847 break;
1849 case _lineHeightPart: 1848 case _lineHeightPart:
1850 num lineHeight;
1851 if (exprs.expressions.length == 1) { 1849 if (exprs.expressions.length == 1) {
1852 var expr = exprs.expressions[0]; 1850 var expr = exprs.expressions[0];
1853 if (expr is UnitTerm) { 1851 if (expr is UnitTerm) {
1854 UnitTerm unitTerm = expr; 1852 UnitTerm unitTerm = expr;
1855 // TODO(terry): Need to handle other units and LiteralTerm normal 1853 // TODO(terry): Need to handle other units and LiteralTerm normal
1856 // See https://github.com/dart-lang/csslib/issues/2. 1854 // See https://github.com/dart-lang/csslib/issues/2.
1857 if (unitTerm.unit == TokenKind.UNIT_LENGTH_PX || 1855 if (unitTerm.unit == TokenKind.UNIT_LENGTH_PX ||
1858 unitTerm.unit == TokenKind.UNIT_LENGTH_PT) { 1856 unitTerm.unit == TokenKind.UNIT_LENGTH_PT) {
1859 var fontExpr = new FontExpression(expr.span, 1857 var fontExpr = new FontExpression(expr.span,
1860 lineHeight: new LineHeight(expr.value, inPixels: true)); 1858 lineHeight: new LineHeight(expr.value, inPixels: true));
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
2638 moreFamilies = true; 2636 moreFamilies = true;
2639 } else { 2637 } else {
2640 break; 2638 break;
2641 } 2639 }
2642 } 2640 }
2643 2641
2644 return new FontExpression(_exprs.span, family: family); 2642 return new FontExpression(_exprs.span, family: family);
2645 } 2643 }
2646 2644
2647 FontExpression processFont() { 2645 FontExpression processFont() {
2648 List<String> family;
2649
2650 // Process all parts of the font expression. 2646 // Process all parts of the font expression.
2651 FontExpression fontSize; 2647 FontExpression fontSize;
2652 FontExpression fontFamily; 2648 FontExpression fontFamily;
2653 for (; _index < _exprs.expressions.length; _index++) { 2649 for (; _index < _exprs.expressions.length; _index++) {
2654 var expr = _exprs.expressions[_index];
2655 // Order is font-size font-family 2650 // Order is font-size font-family
2656 if (fontSize == null) { 2651 if (fontSize == null) {
2657 fontSize = processFontSize(); 2652 fontSize = processFontSize();
2658 } 2653 }
2659 if (fontFamily == null) { 2654 if (fontFamily == null) {
2660 fontFamily = processFontFamily(); 2655 fontFamily = processFontFamily();
2661 } 2656 }
2662 //TODO(terry): Handle font-weight, font-style, and font-variant. See 2657 //TODO(terry): Handle font-weight, font-style, and font-variant. See
2663 // https://github.com/dart-lang/csslib/issues/3 2658 // https://github.com/dart-lang/csslib/issues/3
2664 // https://github.com/dart-lang/csslib/issues/4 2659 // https://github.com/dart-lang/csslib/issues/4
(...skipping 28 matching lines...) Expand all
2693 2688
2694 if (replace != null && result == null) { 2689 if (replace != null && result == null) {
2695 result = new StringBuffer(text.substring(0, i)); 2690 result = new StringBuffer(text.substring(0, i));
2696 } 2691 }
2697 2692
2698 if (result != null) result.write(replace != null ? replace : text[i]); 2693 if (result != null) result.write(replace != null ? replace : text[i]);
2699 } 2694 }
2700 2695
2701 return result == null ? text : result.toString(); 2696 return result == null ? text : result.toString();
2702 } 2697 }
OLDNEW
« no previous file with comments | « no previous file | lib/src/analyzer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698