 }
 
 private class Pattern {
-  var patternLoc : CheckLoc = CheckLoc.string("")
+  let patternLoc : CheckLoc
 
   let type : CheckType
 
   /// If non-empty, this pattern is a fixed string match with the specified
   /// fixed string.
-  var fixedString : String = ""
+  let fixedString : String
 
   /// If non-empty, this is a regex pattern.
   var regExPattern : String = ""
 
   /// Contains the number of line this pattern is in.
-  var lineNumber : Int = 0
+  let lineNumber : Int
 
   /// Entries in this vector map to uses of a variable in the pattern, e.g.
   /// "foo[[bar]]baz".  In this case, the regExPattern will contain "foobaz"

    return !(variableUses.isEmpty && self.variableDefs.isEmpty)
  }

  init(checking ty : CheckType) {
    self.type = ty
  }

  private func addBackrefToRegEx(_ backRef : Int) {

      diagnose(.error, self.patternLoc, "invalid regex: \(e)")
      return (true, cur)
    }
  }
}

