     private var scanner: TextScanner
     public var complete: Bool {return scanner.complete}
 
-
-    public enum ObjectParseState {
-        case expectFirstKey
-        case expectKey
-        case expectColon
-        case expectComma
-    }
-
     internal init(text: String, extensions: ExtensionSet? = nil) {
         scanner = TextScanner(text: text, tokens: [], extensions: extensions)
     }

        self.scanner = scanner
    }

    public mutating func decodeFullObject<M: Message>(message: inout M, terminator: TextToken?) throws {
        guard let nameProviding = (M.self as? ProtoNameProviding.Type) else {
            throw DecodingError.missingFieldNames
        }

    var rejectConflictingOneof: Bool {return true}
    var scanner: TextScanner

    mutating func decodeExtensionField(values: inout ExtensionFieldValueSet, messageType: Message.Type, protoFieldNumber: Int) throws {
        if let ext = scanner.extensions?[messageType, protoFieldNumber] {
            var mutableSetter: FieldDecoder = self
            var fieldValue = values[protoFieldNumber] ?? ext.newField()
