diff options
author | Tobias Markmann <tm@ayena.de> | 2017-10-02 13:10:29 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2017-10-02 13:10:29 (GMT) |
commit | 867ee9a1590f340ef57cebc15ab5ddb8a08f2a53 (patch) | |
tree | fcb41335452f3c4bd2ee0613b3f622911e040789 /SwifTools/MacOSXChecker.mm | |
parent | 38c132a6fe0ecaa3394550df15d36ae10dcce7d9 (diff) | |
download | swift-867ee9a1590f340ef57cebc15ab5ddb8a08f2a53.zip swift-867ee9a1590f340ef57cebc15ab5ddb8a08f2a53.tar.bz2 |
Fix Code According to New clang warning (-Wobjc-messaging-id)
Test-Information:
Builds and test pass on macOS 10.13 with clang-trunk.
Change-Id: I7a515a003602a983681f85374a8a77dc953f533d
Diffstat (limited to 'SwifTools/MacOSXChecker.mm')
-rw-r--r-- | SwifTools/MacOSXChecker.mm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/SwifTools/MacOSXChecker.mm b/SwifTools/MacOSXChecker.mm index aefe3e7..afaa87c 100644 --- a/SwifTools/MacOSXChecker.mm +++ b/SwifTools/MacOSXChecker.mm @@ -1,79 +1,81 @@ /* * Copyright (c) 2013 Tobias Markmann * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* - * Copyright (c) 2015-2016 Isode Limited. + * Copyright (c) 2015-2017 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <SwifTools/MacOSXChecker.h> #include <algorithm> #include <cassert> #include <boost/algorithm/string.hpp> #include <AppKit/AppKit.h> +#include <SwifTools/Cocoa/CocoaUtil.h> + namespace Swift { MacOSXChecker::MacOSXChecker() { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; [spellChecker setAutomaticallyIdentifiesLanguages:YES]; } MacOSXChecker::~MacOSXChecker() { } bool MacOSXChecker::isCorrect(const std::string& /*word*/) { // No content since it doesn't seem to be used anywhere. return false; } bool MacOSXChecker::isAutomaticallyDetectingLanguage() { return true; } void MacOSXChecker::setActiveLanguage(const std::string& /*language*/) { assert(false); } std::string MacOSXChecker::activeLanguage() const { assert(false); } std::vector<std::string> MacOSXChecker::supportedLanguages() const { assert(false); } void MacOSXChecker::getSuggestions(const std::string& word, std::vector<std::string>& list) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; NSString* wordString = [[NSString alloc] initWithUTF8String: word.c_str()]; NSArray* suggestions = [spellChecker guessesForWordRange:NSMakeRange(0, [wordString length]) inString:wordString language:nil inSpellDocumentWithTag:0]; for(unsigned int i = 0; i < [suggestions count]; ++i) { - list.push_back(std::string([[suggestions objectAtIndex:i] UTF8String])); + list.push_back(ns2StdString([suggestions objectAtIndex:i])); } [wordString release]; } void MacOSXChecker::checkFragment(const std::string& fragment, PositionPairList& misspelledPositions) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; size_t nextLocation = 0; NSRange range; NSString *fragmentString = [[NSString alloc] initWithUTF8String: fragment.c_str()]; do { range = [spellChecker checkSpellingOfString:fragmentString startingAt:static_cast<long>(nextLocation)]; if (range.location != NSNotFound) { if (range.location < nextLocation) break; misspelledPositions.push_back(PositionPair(range.location, range.location + range.length)); nextLocation = range.location + range.length + 1; } } while (range.location != NSNotFound); [fragmentString release]; } } |