diff --git a/HTMLKit/HTMLToken.h b/HTMLKit/HTMLToken.h index 6687c5a..05fe800 100644 --- a/HTMLKit/HTMLToken.h +++ b/HTMLKit/HTMLToken.h @@ -8,6 +8,13 @@ #import +@class HTMLDOCTYPEToken; +@class HTMLStartTagToken; +@class HTMLEndTagToken; +@class HTMLCommentToken; +@class HTMLCharacterToken; +@class HTMLParseErrorToken; + NS_INLINE BOOL nilOrEqual(id first, id second) { return (first == nil && second == nil) || ([first isEqual:second]); } @@ -35,4 +42,11 @@ typedef NS_ENUM(NSUInteger, HTMLTokenType) - (BOOL)isEOFToken; - (BOOL)isParseError; +- (HTMLDOCTYPEToken *)asDoctypeToken; +- (HTMLStartTagToken *)asStartTagToken; +- (HTMLEndTagToken *)asEndTagToken; +- (HTMLCommentToken *)asCommentToken; +- (HTMLCharacterToken *)asCharacterToken; +- (HTMLParseErrorToken *)asParseError; + @end diff --git a/HTMLKit/HTMLToken.m b/HTMLKit/HTMLToken.m index 878acfa..678c9bd 100644 --- a/HTMLKit/HTMLToken.m +++ b/HTMLKit/HTMLToken.m @@ -53,4 +53,34 @@ return _type == HTMLTokenTypeParseError; } +- (HTMLDOCTYPEToken *)asDoctypeToken +{ + return (HTMLDOCTYPEToken *)self; +} + +- (HTMLStartTagToken *)asStartTagToken +{ + return (HTMLStartTagToken *)self; +} + +- (HTMLEndTagToken *)asEndTagToken +{ + return (HTMLEndTagToken *)self; +} + +- (HTMLCommentToken *)asCommentToken +{ + return (HTMLCommentToken *)self; +} + +- (HTMLCharacterToken *)asCharacterToken +{ + return (HTMLCharacterToken *)self; +} + +- (HTMLParseErrorToken *)asParseError +{ + return (HTMLParseErrorToken *)self; +} + @end