diff --git a/src/xercesc/util/regx/RegularExpression.cpp b/src/xercesc/util/regx/RegularExpression.cpp index 5e3159f637ce62f7784e963a23a7deef11b8d3ec..8b48d4f38158710a63365b111c604fa32dd65fa7 100644 --- a/src/xercesc/util/regx/RegularExpression.cpp +++ b/src/xercesc/util/regx/RegularExpression.cpp @@ -1446,14 +1446,32 @@ Op* RegularExpression::compile(const Token* const token, Op* const next, switch(tokenType) { case Token::T_DOT: + ret = fOpFactory.createDotOp(); + ret->setNextOp(next); + break; case Token::T_CHAR: + ret = fOpFactory.createCharOp(token->getChar()); + ret->setNextOp(next); + break; case Token::T_ANCHOR: + ret = fOpFactory.createAnchorOp(token->getChar()); + ret->setNextOp(next); + break; case Token::T_RANGE: case Token::T_NRANGE: + ret = fOpFactory.createRangeOp(token); + ret->setNextOp(next); + break; case Token::T_STRING: + ret = fOpFactory.createStringOp(token->getString()); + ret->setNextOp(next); + break; case Token::T_BACKREFERENCE: + ret = fOpFactory.createBackReferenceOp(token->getReferenceNo()); + ret->setNextOp(next); + break; case Token::T_EMPTY: - ret = compileSingle(token, next, tokenType); + ret = next; break; case Token::T_CONCAT: ret = compileConcat(token, next, reverse); diff --git a/src/xercesc/util/regx/RegularExpression.hpp b/src/xercesc/util/regx/RegularExpression.hpp index 8ae446be30a58e93ef2fb2427efedc193a33a196..6133ebd810388840ff61559c2ccdc7acaa7d9f9c 100644 --- a/src/xercesc/util/regx/RegularExpression.hpp +++ b/src/xercesc/util/regx/RegularExpression.hpp @@ -565,8 +565,6 @@ protected: /** * Helper methods used by compile */ - Op* compileSingle(const Token* const token, Op* const next, - const Token::tokType tkType); Op* compileUnion(const Token* const token, Op* const next, const bool reverse); Op* compileParenthesis(const Token* const token, Op* const next, @@ -628,45 +626,6 @@ protected: return (options & flag) == flag; } - inline Op* RegularExpression::compileSingle(const Token* const token, - Op* const next, - const Token::tokType tkType) { - - Op* ret = 0; - - switch (tkType) { - case Token::T_DOT: - ret = fOpFactory.createDotOp(); - break; - case Token::T_CHAR: - ret = fOpFactory.createCharOp(token->getChar()); - break; - case Token::T_ANCHOR: - ret = fOpFactory.createAnchorOp(token->getChar()); - break; - case Token::T_RANGE: - case Token::T_NRANGE: - ret = fOpFactory.createRangeOp(token); - break; - case Token::T_EMPTY: - ret = next; - break; - case Token::T_STRING: - ret = fOpFactory.createStringOp(token->getString()); - break; - case Token::T_BACKREFERENCE: - ret = fOpFactory.createBackReferenceOp(token->getReferenceNo()); - break; - default: - break; - } - - if (tkType != Token::T_EMPTY) - ret->setNextOp(next); - - return ret; - } - inline Op* RegularExpression::compileUnion(const Token* const token, Op* const next,