refactor(core): rename AST to Ast for all CSS parser code

This commit is contained in:
Matias Niemelä
2016-06-16 11:20:27 -07:00
parent 935c39a7e2
commit 4e7bb03e81
3 changed files with 233 additions and 233 deletions

View File

@ -96,32 +96,32 @@ function characterContainsDelimiter(code: number, delimiters: number): boolean {
return bitWiseAnd([getDelimFromCharacter(code), delimiters]) > 0;
}
export abstract class CssAST {
export abstract class CssAst {
constructor(public start: number, public end: number) {}
abstract visit(visitor: CssASTVisitor, context?: any): any;
abstract visit(visitor: CssAstVisitor, context?: any): any;
}
export interface CssASTVisitor {
visitCssValue(ast: CssStyleValueAST, context?: any): any;
visitCssInlineRule(ast: CssInlineRuleAST, context?: any): any;
visitCssAtRulePredicate(ast: CssAtRulePredicateAST, context?: any): any;
visitCssKeyframeRule(ast: CssKeyframeRuleAST, context?: any): any;
visitCssKeyframeDefinition(ast: CssKeyframeDefinitionAST, context?: any): any;
visitCssMediaQueryRule(ast: CssMediaQueryRuleAST, context?: any): any;
visitCssSelectorRule(ast: CssSelectorRuleAST, context?: any): any;
visitCssSelector(ast: CssSelectorAST, context?: any): any;
visitCssSimpleSelector(ast: CssSimpleSelectorAST, context?: any): any;
visitCssPseudoSelector(ast: CssPseudoSelectorAST, context?: any): any;
visitCssDefinition(ast: CssDefinitionAST, context?: any): any;
visitCssBlock(ast: CssBlockAST, context?: any): any;
visitCssStylesBlock(ast: CssStylesBlockAST, context?: any): any;
visitCssStyleSheet(ast: CssStyleSheetAST, context?: any): any;
visitCssUnknownRule(ast: CssUnknownRuleAST, context?: any): any;
visitCssUnknownTokenList(ast: CssUnknownTokenListAST, context?: any): any;
export interface CssAstVisitor {
visitCssValue(ast: CssStyleValueAst, context?: any): any;
visitCssInlineRule(ast: CssInlineRuleAst, context?: any): any;
visitCssAtRulePredicate(ast: CssAtRulePredicateAst, context?: any): any;
visitCssKeyframeRule(ast: CssKeyframeRuleAst, context?: any): any;
visitCssKeyframeDefinition(ast: CssKeyframeDefinitionAst, context?: any): any;
visitCssMediaQueryRule(ast: CssMediaQueryRuleAst, context?: any): any;
visitCssSelectorRule(ast: CssSelectorRuleAst, context?: any): any;
visitCssSelector(ast: CssSelectorAst, context?: any): any;
visitCssSimpleSelector(ast: CssSimpleSelectorAst, context?: any): any;
visitCssPseudoSelector(ast: CssPseudoSelectorAst, context?: any): any;
visitCssDefinition(ast: CssDefinitionAst, context?: any): any;
visitCssBlock(ast: CssBlockAst, context?: any): any;
visitCssStylesBlock(ast: CssStylesBlockAst, context?: any): any;
visitCssStyleSheet(ast: CssStyleSheetAst, context?: any): any;
visitCssUnknownRule(ast: CssUnknownRuleAst, context?: any): any;
visitCssUnknownTokenList(ast: CssUnknownTokenListAst, context?: any): any;
}
export class ParsedCssResult {
constructor(public errors: CssParseError[], public ast: CssStyleSheetAST) {}
constructor(public errors: CssParseError[], public ast: CssStyleSheetAst) {}
}
export class CssParser {
@ -184,7 +184,7 @@ export class CssParser {
}
/** @internal */
_parseStyleSheet(delimiters: number): CssStyleSheetAST {
_parseStyleSheet(delimiters: number): CssStyleSheetAst {
const start = this._getScannerIndex();
var results: any[] /** TODO #9100 */ = [];
this._scanner.consumeEmptyStatements();
@ -193,11 +193,11 @@ export class CssParser {
results.push(this._parseRule(delimiters));
}
const end = this._getScannerIndex() - 1;
return new CssStyleSheetAST(start, end, results);
return new CssStyleSheetAst(start, end, results);
}
/** @internal */
_parseRule(delimiters: number): CssRuleAST {
_parseRule(delimiters: number): CssRuleAst {
if (this._scanner.peek == $AT) {
return this._parseAtRule(delimiters);
}
@ -205,7 +205,7 @@ export class CssParser {
}
/** @internal */
_parseAtRule(delimiters: number): CssRuleAST {
_parseAtRule(delimiters: number): CssRuleAst {
const start = this._getScannerIndex();
var end: number;
@ -216,7 +216,7 @@ export class CssParser {
token.type == CssTokenType.AtKeyword,
`The CSS Rule ${token.strValue} is not a valid [@] rule.`, token);
var block: CssBlockAST;
var block: CssBlockAst;
var type = this._resolveBlockType(token);
switch (type) {
case BlockType.Charset:
@ -226,13 +226,13 @@ export class CssParser {
this._scanner.setMode(CssLexerMode.BLOCK);
end = value.end;
this._scanner.consumeEmptyStatements();
return new CssInlineRuleAST(start, end, type, value);
return new CssInlineRuleAst(start, end, type, value);
case BlockType.Viewport:
case BlockType.FontFace:
block = this._parseStyleBlock(delimiters);
end = this._getScannerIndex() - 1;
return new CssBlockRuleAST(start, end, type, block);
return new CssBlockRuleAst(start, end, type, block);
case BlockType.Keyframes:
var tokens =
@ -240,7 +240,7 @@ export class CssParser {
// keyframes only have one identifier name
var name = tokens[0];
end = this._getScannerIndex() - 1;
return new CssKeyframeRuleAST(start, end, name, this._parseKeyframeBlock(delimiters));
return new CssKeyframeRuleAst(start, end, name, this._parseKeyframeBlock(delimiters));
case BlockType.MediaQuery:
this._scanner.setMode(CssLexerMode.MEDIA_QUERY);
@ -248,11 +248,11 @@ export class CssParser {
this._collectUntilDelim(bitWiseOr([delimiters, RBRACE_DELIM_FLAG, LBRACE_DELIM_FLAG]));
end = this._getScannerIndex() - 1;
var strValue = this._scanner.input.substring(start, end);
var query = new CssAtRulePredicateAST(start, end, strValue, tokens);
var query = new CssAtRulePredicateAst(start, end, strValue, tokens);
block = this._parseBlock(delimiters);
end = this._getScannerIndex() - 1;
strValue = this._scanner.input.substring(start, end);
return new CssMediaQueryRuleAST(start, end, strValue, query, block);
return new CssMediaQueryRuleAst(start, end, strValue, query, block);
case BlockType.Document:
case BlockType.Supports:
@ -262,11 +262,11 @@ export class CssParser {
this._collectUntilDelim(bitWiseOr([delimiters, RBRACE_DELIM_FLAG, LBRACE_DELIM_FLAG]));
end = this._getScannerIndex() - 1;
var strValue = this._scanner.input.substring(start, end);
var query = new CssAtRulePredicateAST(start, end, strValue, tokens);
var query = new CssAtRulePredicateAst(start, end, strValue, tokens);
block = this._parseBlock(delimiters);
end = this._getScannerIndex() - 1;
strValue = this._scanner.input.substring(start, end);
return new CssBlockDefinitionRuleAST(start, end, strValue, type, query, block);
return new CssBlockDefinitionRuleAst(start, end, strValue, type, query, block);
// if a custom @rule { ... } is used it should still tokenize the insides
default:
@ -288,28 +288,28 @@ export class CssParser {
listOfTokens.push(this._consume(CssTokenType.Character, '}'));
}
end = this._getScannerIndex() - 1;
return new CssUnknownRuleAST(start, end, tokenName, listOfTokens);
return new CssUnknownRuleAst(start, end, tokenName, listOfTokens);
}
}
/** @internal */
_parseSelectorRule(delimiters: number): CssRuleAST {
_parseSelectorRule(delimiters: number): CssRuleAst {
const start = this._getScannerIndex();
var selectors = this._parseSelectors(delimiters);
var block = this._parseStyleBlock(delimiters);
const end = this._getScannerIndex() - 1;
var token: CssRuleAST;
var token: CssRuleAst;
if (isPresent(block)) {
token = new CssSelectorRuleAST(start, end, selectors, block);
token = new CssSelectorRuleAst(start, end, selectors, block);
} else {
var name = this._scanner.input.substring(start, end);
var innerTokens: CssToken[] = [];
selectors.forEach((selector: CssSelectorAST) => {
selector.selectorParts.forEach((part: CssSimpleSelectorAST) => {
selectors.forEach((selector: CssSelectorAst) => {
selector.selectorParts.forEach((part: CssSimpleSelectorAst) => {
part.tokens.forEach((token: CssToken) => { innerTokens.push(token); });
});
});
token = new CssUnknownTokenListAST(start, end, name, innerTokens);
token = new CssUnknownTokenListAst(start, end, name, innerTokens);
}
this._scanner.setMode(CssLexerMode.BLOCK);
this._scanner.consumeEmptyStatements();
@ -317,7 +317,7 @@ export class CssParser {
}
/** @internal */
_parseSelectors(delimiters: number): CssSelectorAST[] {
_parseSelectors(delimiters: number): CssSelectorAst[] {
delimiters = bitWiseOr([delimiters, LBRACE_DELIM_FLAG, SEMICOLON_DELIM_FLAG]);
var selectors: any[] /** TODO #9100 */ = [];
@ -365,7 +365,7 @@ export class CssParser {
}
/** @internal */
_parseKeyframeBlock(delimiters: number): CssBlockAST {
_parseKeyframeBlock(delimiters: number): CssBlockAst {
const start = this._getScannerIndex();
delimiters = bitWiseOr([delimiters, RBRACE_DELIM_FLAG]);
@ -381,11 +381,11 @@ export class CssParser {
this._consume(CssTokenType.Character, '}');
const end = this._getScannerIndex() - 1;
return new CssBlockAST(start, end, definitions);
return new CssBlockAst(start, end, definitions);
}
/** @internal */
_parseKeyframeDefinition(delimiters: number): CssKeyframeDefinitionAST {
_parseKeyframeDefinition(delimiters: number): CssKeyframeDefinitionAst {
const start = this._getScannerIndex();
var stepTokens: any[] /** TODO #9100 */ = [];
delimiters = bitWiseOr([delimiters, LBRACE_DELIM_FLAG]);
@ -398,7 +398,7 @@ export class CssParser {
var styles = this._parseStyleBlock(bitWiseOr([delimiters, RBRACE_DELIM_FLAG]));
this._scanner.setMode(CssLexerMode.BLOCK);
const end = this._getScannerIndex() - 1;
return new CssKeyframeDefinitionAST(start, end, stepTokens, styles);
return new CssKeyframeDefinitionAst(start, end, stepTokens, styles);
}
/** @internal */
@ -408,7 +408,7 @@ export class CssParser {
}
/** @internal */
_parsePseudoSelector(delimiters: number): CssPseudoSelectorAST {
_parsePseudoSelector(delimiters: number): CssPseudoSelectorAst {
const start = this._getScannerIndex();
delimiters = bitWiseAnd([delimiters, bitWiseNot(COMMA_DELIM_FLAG)]);
@ -424,7 +424,7 @@ export class CssParser {
tokens.push(startToken);
}
var innerSelectors: CssSelectorAST[] = [];
var innerSelectors: CssSelectorAst[] = [];
this._scanner.setMode(CssLexerMode.PSEUDO_SELECTOR);
@ -472,19 +472,19 @@ export class CssParser {
const end = this._getScannerIndex() - 1;
var strValue = this._scanner.input.substring(start, end);
return new CssPseudoSelectorAST(
return new CssPseudoSelectorAst(
start, end, strValue, pseudoSelectorName, tokens, innerSelectors);
}
/** @internal */
_parseSimpleSelector(delimiters: number): CssSimpleSelectorAST {
_parseSimpleSelector(delimiters: number): CssSimpleSelectorAst {
const start = this._getScannerIndex();
delimiters = bitWiseOr([delimiters, COMMA_DELIM_FLAG]);
this._scanner.setMode(CssLexerMode.SELECTOR);
var selectorCssTokens: CssToken[] = [];
var pseudoSelectors: CssPseudoSelectorAST[] = [];
var pseudoSelectors: CssPseudoSelectorAst[] = [];
var previousToken: CssToken;
@ -611,18 +611,18 @@ export class CssParser {
}
var strValue = this._scanner.input.substring(start, end);
return new CssSimpleSelectorAST(
return new CssSimpleSelectorAst(
start, end, selectorCssTokens, strValue, pseudoSelectors, operator);
}
/** @internal */
_parseSelector(delimiters: number): CssSelectorAST {
_parseSelector(delimiters: number): CssSelectorAst {
const start = this._getScannerIndex();
delimiters = bitWiseOr([delimiters, COMMA_DELIM_FLAG]);
this._scanner.setMode(CssLexerMode.SELECTOR);
var simpleSelectors: CssSimpleSelectorAST[] = [];
var simpleSelectors: CssSimpleSelectorAst[] = [];
var end = this._getScannerIndex() - 1;
while (!characterContainsDelimiter(this._scanner.peek, delimiters)) {
simpleSelectors.push(this._parseSimpleSelector(delimiters));
@ -636,11 +636,11 @@ export class CssParser {
end = simpleSelectors[limit].end;
}
return new CssSelectorAST(start, end, simpleSelectors);
return new CssSelectorAst(start, end, simpleSelectors);
}
/** @internal */
_parseValue(delimiters: number): CssStyleValueAST {
_parseValue(delimiters: number): CssStyleValueAst {
delimiters =
bitWiseOr([delimiters, RBRACE_DELIM_FLAG, SEMICOLON_DELIM_FLAG, NEWLINE_DELIM_FLAG]);
@ -693,7 +693,7 @@ export class CssParser {
}
var strValue = this._scanner.input.substring(start, end);
return new CssStyleValueAST(start, end, tokens, strValue);
return new CssStyleValueAst(start, end, tokens, strValue);
}
/** @internal */
@ -707,7 +707,7 @@ export class CssParser {
}
/** @internal */
_parseBlock(delimiters: number): CssBlockAST {
_parseBlock(delimiters: number): CssBlockAst {
const start = this._getScannerIndex();
delimiters = bitWiseOr([delimiters, RBRACE_DELIM_FLAG]);
@ -728,11 +728,11 @@ export class CssParser {
this._scanner.consumeEmptyStatements();
const end = this._getScannerIndex() - 1;
return new CssBlockAST(start, end, results);
return new CssBlockAst(start, end, results);
}
/** @internal */
_parseStyleBlock(delimiters: number): CssStylesBlockAST {
_parseStyleBlock(delimiters: number): CssStylesBlockAst {
const start = this._getScannerIndex();
delimiters = bitWiseOr([delimiters, RBRACE_DELIM_FLAG, LBRACE_DELIM_FLAG]);
@ -744,7 +744,7 @@ export class CssParser {
return null;
}
var definitions: CssDefinitionAST[] = [];
var definitions: CssDefinitionAst[] = [];
this._scanner.consumeEmptyStatements();
while (!characterContainsDelimiter(this._scanner.peek, delimiters)) {
@ -758,11 +758,11 @@ export class CssParser {
this._scanner.consumeEmptyStatements();
const end = this._getScannerIndex() - 1;
return new CssStylesBlockAST(start, end, definitions);
return new CssStylesBlockAst(start, end, definitions);
}
/** @internal */
_parseDefinition(delimiters: number): CssDefinitionAST {
_parseDefinition(delimiters: number): CssDefinitionAst {
const start = this._getScannerIndex();
this._scanner.setMode(CssLexerMode.STYLE_BLOCK);
@ -822,7 +822,7 @@ export class CssParser {
}
const end = this._getScannerIndex() - 1;
return new CssDefinitionAST(start, end, prop, value);
return new CssDefinitionAst(start, end, prop, value);
}
/** @internal */
@ -843,174 +843,174 @@ export class CssParser {
}
}
export class CssStyleValueAST extends CssAST {
export class CssStyleValueAst extends CssAst {
constructor(start: number, end: number, public tokens: CssToken[], public strValue: string) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any { return visitor.visitCssValue(this); }
visit(visitor: CssAstVisitor, context?: any): any { return visitor.visitCssValue(this); }
}
export abstract class CssRuleAST extends CssAST {
export abstract class CssRuleAst extends CssAst {
constructor(start: number, end: number) { super(start, end); }
}
export class CssBlockRuleAST extends CssRuleAST {
export class CssBlockRuleAst extends CssRuleAst {
constructor(
start: number, end: number, public type: BlockType, public block: CssBlockAST,
start: number, end: number, public type: BlockType, public block: CssBlockAst,
public name: CssToken = null) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssBlock(this.block, context);
}
}
export class CssKeyframeRuleAST extends CssBlockRuleAST {
constructor(start: number, end: number, name: CssToken, block: CssBlockAST) {
export class CssKeyframeRuleAst extends CssBlockRuleAst {
constructor(start: number, end: number, name: CssToken, block: CssBlockAst) {
super(start, end, BlockType.Keyframes, block, name);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssKeyframeRule(this, context);
}
}
export class CssKeyframeDefinitionAST extends CssBlockRuleAST {
export class CssKeyframeDefinitionAst extends CssBlockRuleAst {
public steps: CssToken[];
constructor(start: number, end: number, _steps: CssToken[], block: CssBlockAST) {
constructor(start: number, end: number, _steps: CssToken[], block: CssBlockAst) {
super(start, end, BlockType.Keyframes, block, mergeTokens(_steps, ','));
this.steps = _steps;
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssKeyframeDefinition(this, context);
}
}
export class CssBlockDefinitionRuleAST extends CssBlockRuleAST {
export class CssBlockDefinitionRuleAst extends CssBlockRuleAst {
constructor(
start: number, end: number, public strValue: string, type: BlockType,
public query: CssAtRulePredicateAST, block: CssBlockAST) {
public query: CssAtRulePredicateAst, block: CssBlockAst) {
super(start, end, type, block);
var firstCssToken: CssToken = query.tokens[0];
this.name = new CssToken(
firstCssToken.index, firstCssToken.column, firstCssToken.line, CssTokenType.Identifier,
this.strValue);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssBlock(this.block, context);
}
}
export class CssMediaQueryRuleAST extends CssBlockDefinitionRuleAST {
export class CssMediaQueryRuleAst extends CssBlockDefinitionRuleAst {
constructor(
start: number, end: number, strValue: string, query: CssAtRulePredicateAST,
block: CssBlockAST) {
start: number, end: number, strValue: string, query: CssAtRulePredicateAst,
block: CssBlockAst) {
super(start, end, strValue, BlockType.MediaQuery, query, block);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssMediaQueryRule(this, context);
}
}
export class CssAtRulePredicateAST extends CssAST {
export class CssAtRulePredicateAst extends CssAst {
constructor(start: number, end: number, public strValue: string, public tokens: CssToken[]) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssAtRulePredicate(this, context);
}
}
export class CssInlineRuleAST extends CssRuleAST {
constructor(start: number, end: number, public type: BlockType, public value: CssStyleValueAST) {
export class CssInlineRuleAst extends CssRuleAst {
constructor(start: number, end: number, public type: BlockType, public value: CssStyleValueAst) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssInlineRule(this, context);
}
}
export class CssSelectorRuleAST extends CssBlockRuleAST {
export class CssSelectorRuleAst extends CssBlockRuleAst {
public strValue: string;
constructor(start: number, end: number, public selectors: CssSelectorAST[], block: CssBlockAST) {
constructor(start: number, end: number, public selectors: CssSelectorAst[], block: CssBlockAst) {
super(start, end, BlockType.Selector, block);
this.strValue = selectors.map(selector => selector.strValue).join(',');
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssSelectorRule(this, context);
}
}
export class CssDefinitionAST extends CssAST {
export class CssDefinitionAst extends CssAst {
constructor(
start: number, end: number, public property: CssToken, public value: CssStyleValueAST) {
start: number, end: number, public property: CssToken, public value: CssStyleValueAst) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssDefinition(this, context);
}
}
export abstract class CssSelectorPartAST extends CssAST {
export abstract class CssSelectorPartAst extends CssAst {
constructor(start: number, end: number) { super(start, end); }
}
export class CssSelectorAST extends CssSelectorPartAST {
export class CssSelectorAst extends CssSelectorPartAst {
public strValue: string;
constructor(start: number, end: number, public selectorParts: CssSimpleSelectorAST[]) {
constructor(start: number, end: number, public selectorParts: CssSimpleSelectorAst[]) {
super(start, end);
this.strValue = selectorParts.map(part => part.strValue).join('');
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssSelector(this, context);
}
}
export class CssSimpleSelectorAST extends CssSelectorPartAST {
export class CssSimpleSelectorAst extends CssSelectorPartAst {
public selectorStrValue: string;
constructor(
start: number, end: number, public tokens: CssToken[], public strValue: string,
public pseudoSelectors: CssPseudoSelectorAST[], public operator: CssToken) {
public pseudoSelectors: CssPseudoSelectorAst[], public operator: CssToken) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssSimpleSelector(this, context);
}
}
export class CssPseudoSelectorAST extends CssSelectorPartAST {
export class CssPseudoSelectorAst extends CssSelectorPartAst {
constructor(
start: number, end: number, public strValue: string, public name: string,
public tokens: CssToken[], public innerSelectors: CssSelectorAST[]) {
public tokens: CssToken[], public innerSelectors: CssSelectorAst[]) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssPseudoSelector(this, context);
}
}
export class CssBlockAST extends CssAST {
constructor(start: number, end: number, public entries: CssAST[]) { super(start, end); }
visit(visitor: CssASTVisitor, context?: any): any { return visitor.visitCssBlock(this, context); }
export class CssBlockAst extends CssAst {
constructor(start: number, end: number, public entries: CssAst[]) { super(start, end); }
visit(visitor: CssAstVisitor, context?: any): any { return visitor.visitCssBlock(this, context); }
}
/*
a style block is different from a standard block because it contains
css prop:value definitions. A regular block can contain a list of AST entries.
css prop:value definitions. A regular block can contain a list of Ast entries.
*/
export class CssStylesBlockAST extends CssBlockAST {
constructor(start: number, end: number, public definitions: CssDefinitionAST[]) {
export class CssStylesBlockAst extends CssBlockAst {
constructor(start: number, end: number, public definitions: CssDefinitionAst[]) {
super(start, end, definitions);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssStylesBlock(this, context);
}
}
export class CssStyleSheetAST extends CssAST {
constructor(start: number, end: number, public rules: CssAST[]) { super(start, end); }
visit(visitor: CssASTVisitor, context?: any): any {
export class CssStyleSheetAst extends CssAst {
constructor(start: number, end: number, public rules: CssAst[]) { super(start, end); }
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssStyleSheet(this, context);
}
}
@ -1028,20 +1028,20 @@ export class CssParseError extends ParseError {
constructor(span: ParseSourceSpan, message: string) { super(span, message); }
}
export class CssUnknownRuleAST extends CssRuleAST {
export class CssUnknownRuleAst extends CssRuleAst {
constructor(start: number, end: number, public ruleName: string, public tokens: CssToken[]) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssUnknownRule(this, context);
}
}
export class CssUnknownTokenListAST extends CssRuleAST {
export class CssUnknownTokenListAst extends CssRuleAst {
constructor(start: number, end: number, public name: string, public tokens: CssToken[]) {
super(start, end);
}
visit(visitor: CssASTVisitor, context?: any): any {
visit(visitor: CssAstVisitor, context?: any): any {
return visitor.visitCssUnknownTokenList(this, context);
}
}