Formatting
[jalview.git] / src / com / stevesoft / pat / BackMatch.java
index 168faec..2eed23b 100755 (executable)
@@ -6,28 +6,52 @@
 //    -- Happy Computing!\r
 //\r
 package com.stevesoft.pat;\r
-import java.util.Hashtable;\r
+\r
+import java.util.*;\r
 \r
 /** Provides the ability to match a backreference from within\r
-  * a Pattern.\r
-  */\r
-class BackMatch extends Pattern {\r
-    int id;\r
-    BackMatch(int id) { this.id = id; }\r
-    public String toString() { return "\\"+(id)+nextString(); }\r
-    public int matchInternal(int pos,Pthings p) {\r
-        int i1 = p.marks[id];\r
-        int i2 = p.marks[id+p.nMarks];\r
-        int imax = i2-i1;\r
-        if(i1<0||imax < 0||pos+imax>p.src.length()) return -1;\r
-        int ns = p.src.length()-pos;\r
-        if(imax < ns) ns = imax;\r
-        for(int i=0;i<ns;i++) {\r
-            if(p.src.charAt(i+i1) != p.src.charAt(pos+i))\r
-                return -1;\r
-        }\r
-        return nextMatch(pos+imax,p);\r
+ * a Pattern.\r
+ */\r
+class BackMatch\r
+    extends Pattern\r
+{\r
+  int id;\r
+  BackMatch(int id)\r
+  {\r
+    this.id = id;\r
+  }\r
+\r
+  public String toString()\r
+  {\r
+    return "\\" + (id) + nextString();\r
+  }\r
+\r
+  public int matchInternal(int pos, Pthings p)\r
+  {\r
+    int i1 = p.marks[id];\r
+    int i2 = p.marks[id + p.nMarks];\r
+    int imax = i2 - i1;\r
+    if (i1 < 0 || imax < 0 || pos + imax > p.src.length())\r
+    {\r
+      return -1;\r
     }\r
-    Pattern clone1(Hashtable h) { return new BackMatch(id); }\r
-}\r
+    int ns = p.src.length() - pos;\r
+    if (imax < ns)\r
+    {\r
+      ns = imax;\r
+    }\r
+    for (int i = 0; i < ns; i++)\r
+    {\r
+      if (p.src.charAt(i + i1) != p.src.charAt(pos + i))\r
+      {\r
+        return -1;\r
+      }\r
+    }\r
+    return nextMatch(pos + imax, p);\r
+  }\r
 \r
+  Pattern clone1(Hashtable h)\r
+  {\r
+    return new BackMatch(id);\r
+  }\r
+}\r