diff --git a/HTMLKit/HTMLTokenizer.h b/HTMLKit/HTMLTokenizer.h
index b9be8de..359404d 100644
--- a/HTMLKit/HTMLTokenizer.h
+++ b/HTMLKit/HTMLTokenizer.h
@@ -17,14 +17,11 @@
@class HTMLParser;
-@interface HTMLTokenizer : NSObject
+@interface HTMLTokenizer : NSEnumerator
@property (nonatomic, assign) HTMLTokenizerState state;
@property (nonatomic, weak, readonly) HTMLParser *parser;
- (instancetype)initWithString:(NSString *)string;
-- (HTMLToken *)nextToken;
-- (NSArray *)allTokens;
-
@end
diff --git a/HTMLKit/HTMLTokenizer.m b/HTMLKit/HTMLTokenizer.m
index 953bfe8..de9210a 100644
--- a/HTMLKit/HTMLTokenizer.m
+++ b/HTMLKit/HTMLTokenizer.m
@@ -45,6 +45,7 @@
BOOL _eof;
}
+@property (nonatomic, weak) HTMLParser *parser;
@end
@implementation HTMLTokenizer
@@ -82,7 +83,7 @@
#pragma mark - State Machine
-- (HTMLToken *)nextToken
+- (id)nextObject
{
while (_eof == NO && _tokens.count == 0) {
[self read];
@@ -94,7 +95,7 @@
return nextToken;
}
-- (NSArray *)allTokens
+- (NSArray *)allObjects
{
while (_eof == NO) {
[self read];
@@ -126,27 +127,6 @@
[self switchToState:state];
}
-#pragma mark - Fast Enumeration
-
-- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(__unsafe_unretained id [])buffer count:(NSUInteger)len
-{
- if (state->state == 0) {
- state->mutationsPtr = &state->extra[0];
- state->state = 1;
- }
-
- HTMLToken *nextToken = [self nextToken];
-
- if (nextToken == nil) {
- return 0;
- }
-
- __unsafe_unretained const id *const_ptr = (__unsafe_unretained id *)(__bridge void *)nextToken;
- state->itemsPtr = (__typeof__(state->itemsPtr))const_ptr;
-
- return 1;
-}
-
#pragma mark - Emits
- (void)emitToken:(HTMLToken *)token
diff --git a/HTMLKitTests/HTMLTokenizerTests.m b/HTMLKitTests/HTMLTokenizerTests.m
index d5a369b..c570363 100644
--- a/HTMLKitTests/HTMLTokenizerTests.m
+++ b/HTMLKitTests/HTMLTokenizerTests.m
@@ -57,7 +57,7 @@ static NSString * const TOKENIZER = @"tokenizer";
tokenizer.state = [state integerValue];
NSArray *expectedTokens = test.output;
- NSArray *tokens = [tokenizer allTokens];
+ NSArray *tokens = [tokenizer allObjects];
XCTAssertEqualObjects(tokens, expectedTokens, @"%@", test.title);
}
}
@@ -145,7 +145,7 @@ static NSString * const TOKENIZER = @"tokenizer";
id token = nil;
do {
- token = [tokenizer nextToken];
+ token = [tokenizer nextObject];
} while (token != nil);
}];
}