01: /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
02: *
03: * ***** BEGIN LICENSE BLOCK *****
04: * Version: MPL 1.1/GPL 2.0
05: *
06: * The contents of this file are subject to the Mozilla Public License Version
07: * 1.1 (the "License"); you may not use this file except in compliance with
08: * the License. You may obtain a copy of the License at
09: * http://www.mozilla.org/MPL/
10: *
11: * Software distributed under the License is distributed on an "AS IS" basis,
12: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13: * for the specific language governing rights and limitations under the
14: * License.
15: *
16: * The Original Code is Rhino code, released
17: * May 6, 1998.
18: *
19: * The Initial Developer of the Original Code is
20: * Netscape Communications Corporation.
21: * Portions created by the Initial Developer are Copyright (C) 1997-1999
22: * the Initial Developer. All Rights Reserved.
23: *
24: * Contributor(s):
25: *
26: * Alternatively, the contents of this file may be used under the terms of
27: * the GNU General Public License Version 2 or later (the "GPL"), in which
28: * case the provisions of the GPL are applicable instead of those above. If
29: * you wish to allow use of your version of this file only under the terms of
30: * the GPL and not to allow others to use your version of this file under the
31: * MPL, indicate your decision by deleting the provisions above and replacing
32: * them with the notice and other provisions required by the GPL. If you do
33: * not delete the provisions above, a recipient may use your version of this
34: * file under either the MPL or the GPL.
35: *
36: * ***** END LICENSE BLOCK ***** */
37:
38: package org.mozilla.javascript.regexp;
39:
40: class SubString {
41:
42: public SubString() {
43: }
44:
45: public SubString(String str) {
46: index = 0;
47: charArray = str.toCharArray();
48: length = str.length();
49: }
50:
51: public SubString(char[] source, int start, int len) {
52: // there must be a better way of doing this??
53: index = 0;
54: length = len;
55: charArray = new char[len];
56: for (int j = 0; j < len; j++)
57: charArray[j] = source[start + j];
58: }
59:
60: public String toString() {
61: return charArray == null ? "" : new String(charArray, index,
62: length);
63: }
64:
65: static final SubString emptySubString = new SubString();
66:
67: char[] charArray;
68: int index;
69: int length;
70: }
|