Add convenience methods to cast HTML token to the appropriate type
This commit is contained in:
@@ -8,6 +8,13 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user