Bug 1874684 - Part 4: Prefer const references instead of copying Instant values....
[gecko.git] / dom / xslt / xslt / txPatternParser.h
blobfcb9a1da0e02592dd2d5e720032da3885873f2ed
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef TX_PATTERNPARSER_H
7 #define TX_PATTERNPARSER_H
9 #include "txXSLTPatterns.h"
10 #include "txExprParser.h"
12 class txStylesheetCompilerState;
14 class txPatternParser : public txExprParser {
15 public:
16 static nsresult createPattern(const nsString& aPattern,
17 txIParseContext* aContext, txPattern** aResult);
19 protected:
20 static nsresult createUnionPattern(txExprLexer& aLexer,
21 txIParseContext* aContext,
22 txPattern*& aPattern);
23 static nsresult createLocPathPattern(txExprLexer& aLexer,
24 txIParseContext* aContext,
25 txPattern*& aPattern);
26 static nsresult createIdPattern(txExprLexer& aLexer, txPattern*& aPattern);
27 static nsresult createKeyPattern(txExprLexer& aLexer,
28 txIParseContext* aContext,
29 txPattern*& aPattern);
30 static nsresult createStepPattern(txExprLexer& aLexer,
31 txIParseContext* aContext,
32 txPattern*& aPattern);
35 #endif // TX_PATTERNPARSER_H