     var rejectConflictingOneof: Bool {return true}
     var scanner: TextScanner
 
-    public mutating func decodeExtensionField(values: inout ExtensionFieldValueSet, messageType: Message.Type, protoFieldNumber: Int) throws {
+    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()

    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
    }

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