| 68 | } |
| 69 | |
| 70 | PatternMatcher::State::State( PatternMatcher* pattern, bool ownPattern ) : |
| 71 | mRefCount( 1 ), mOwnPattern( ownPattern ) { |
| 72 | mRanges = new Range[10]; |
| 73 | if ( ownPattern ) { |
| 74 | switch ( pattern->getType() ) { |
| 75 | case PatternType::LuaPattern: |
| 76 | mPattern = new LuaPattern( pattern->getPattern() ); |
| 77 | break; |
| 78 | case PatternType::PCRE: |
| 79 | mPattern = new RegEx( pattern->getPattern() ); |
| 80 | break; |
| 81 | case PatternType::Parser: |
| 82 | mPattern = new ParserMatcher( pattern->getPattern() ); |
| 83 | break; |
| 84 | } |
| 85 | } else { |
| 86 | mPattern = pattern; |
| 87 | } |
| 88 | } |
| 89 | |
| 90 | PatternMatcher::State::~State() { |
| 91 | delete[] mRanges; |