Skip to content

Commit

Permalink
Change the type of context from pointer to reference in ConversionReq…
Browse files Browse the repository at this point in the history
…uest.

PiperOrigin-RevId: 698708911
  • Loading branch information
hiroyuki-komatsu committed Nov 21, 2024
1 parent 12ec785 commit caf5d47
Show file tree
Hide file tree
Showing 15 changed files with 44 additions and 47 deletions.
2 changes: 1 addition & 1 deletion src/converter/converter_main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ bool ExecCommand(const ConverterInterface &converter, const std::string &line,
config);
commands::Context context;
ConversionRequest conversion_request =
ConversionRequest(composer, request, &context, config);
ConversionRequest(composer, request, context, config);
conversion_request.set_max_conversion_candidates_size(
absl::GetFlag(FLAGS_max_conversion_candidates_size));
conversion_request.set_create_partial_candidates(
Expand Down
2 changes: 1 addition & 1 deletion src/converter/converter_regression_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ TEST_F(ConverterRegressionTest, QueryOfDeathTest) {
const commands::Context context;
const config::Config config = config::ConfigHandler::DefaultConfig();
composer::Composer composer(&table, &request, &config);
ConversionRequest conv_request(composer, request, &context, &config);
ConversionRequest conv_request(composer, request, context, &config);
// Converter returns false, but not crash.
EXPECT_FALSE(converter->StartConversion(conv_request, &segments));
}
Expand Down
12 changes: 6 additions & 6 deletions src/converter/converter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -990,7 +990,7 @@ TEST_F(ConverterTest, StartSuggestion) {
composer.InsertCharacter("shi");

commands::Context context;
ConversionRequest request(composer, client_request, &context, &config);
ConversionRequest request(composer, client_request, context, &config);
request.set_request_type(ConversionRequest::SUGGESTION);

Segments segments;
Expand All @@ -1009,7 +1009,7 @@ TEST_F(ConverterTest, StartSuggestion) {
composer.InsertCharacter("si");

commands::Context context;
ConversionRequest request(composer, client_request, &context, &config);
ConversionRequest request(composer, client_request, context, &config);
request.set_request_type(ConversionRequest::SUGGESTION);

Segments segments;
Expand Down Expand Up @@ -1642,7 +1642,7 @@ TEST_F(ConverterTest, UserEntryInMobilePrediction) {
{
composer.SetPreeditTextForTestOnly("てすとが");
commands::Context context;
ConversionRequest conversion_request(composer, request, &context, &config);
ConversionRequest conversion_request(composer, request, context, &config);
conversion_request.set_request_type(ConversionRequest::PREDICTION);
Segments segments;
EXPECT_TRUE(converter->StartPrediction(conversion_request, &segments));
Expand Down Expand Up @@ -1841,7 +1841,7 @@ TEST_F(ConverterTest, RewriterShouldRespectDefaultCandidates) {
composer.SetPreeditTextForTestOnly("あい");
commands::Context context;

ConversionRequest conversion_request(composer, request, &context, &config);
ConversionRequest conversion_request(composer, request, context, &config);
conversion_request.set_request_type(ConversionRequest::PREDICTION);
Segments segments;

Expand Down Expand Up @@ -1897,7 +1897,7 @@ TEST_F(ConverterTest,
composer.SetPreeditTextForTestOnly("おつかれ");
commands::Context context;

ConversionRequest conversion_request(composer, request, &context, &config);
ConversionRequest conversion_request(composer, request, context, &config);
conversion_request.set_request_type(ConversionRequest::PREDICTION);
Segments segments;

Expand All @@ -1923,7 +1923,7 @@ TEST_F(ConverterTest, DoNotAddOverlappingNodesForPrediction) {
const dictionary::PosMatcher pos_matcher(
engine->GetDataManager()->GetPosMatcherData());
commands::Context context;
ConversionRequest conversion_request(composer, request, &context, &config);
ConversionRequest conversion_request(composer, request, context, &config);
conversion_request.set_request_type(ConversionRequest::PREDICTION);
conversion_request.set_create_partial_candidates(true);

Expand Down
10 changes: 5 additions & 5 deletions src/converter/quality_regression_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ absl::StatusOr<bool> QualityRegressionUtil::ConvertAndTest(
composer::Composer composer(&table, &request_, &config_);
composer.SetPreeditTextForTestOnly(key);
ConversionRequest conv_req(
composer, request_, &commands::Context::default_instance(), &config_);
composer, request_, commands::Context::default_instance(), &config_);
if (!converter_->StartConversion(conv_req, &segments_)) {
return absl::UnknownError(absl::StrCat(
"StartConversionForRequest failed: ", item.OutputAsTSV()));
Expand All @@ -266,7 +266,7 @@ absl::StatusOr<bool> QualityRegressionUtil::ConvertAndTest(
} else if (command == kPredictionExpect || command == kPredictionNotExpect) {
composer::Composer composer(&table, &request_, &config_);
composer.SetPreeditTextForTestOnly(key);
ConversionRequest conv_req(composer, request_, &context, &config_);
ConversionRequest conv_req(composer, request_, context, &config_);
if (request_.mixed_conversion()) {
conv_req.set_create_partial_candidates(true);
}
Expand All @@ -277,7 +277,7 @@ absl::StatusOr<bool> QualityRegressionUtil::ConvertAndTest(
} else if (command == kSuggestionExpect || command == kSuggestionNotExpect) {
composer::Composer composer(&table, &request_, &config_);
composer.SetPreeditTextForTestOnly(key);
ConversionRequest conv_req(composer, request_, &context, &config_);
ConversionRequest conv_req(composer, request_, context, &config_);
if (!converter_->StartSuggestion(conv_req, &segments_)) {
return absl::UnknownError(
absl::StrCat("StartSuggestion failed: ", item.OutputAsTSV()));
Expand All @@ -289,7 +289,7 @@ absl::StatusOr<bool> QualityRegressionUtil::ConvertAndTest(
{
composer::Composer composer(&table, &request, &config_);
composer.SetPreeditTextForTestOnly(key);
ConversionRequest conv_req(composer, request, &context, &config_);
ConversionRequest conv_req(composer, request, context, &config_);
conv_req.set_max_conversion_candidates_size(10);
if (!converter_->StartSuggestion(conv_req, &segments_)) {
return absl::UnknownError(
Expand All @@ -304,7 +304,7 @@ absl::StatusOr<bool> QualityRegressionUtil::ConvertAndTest(
{
// Issues zero-query request.
composer::Composer composer(&table, &request, &config_);
ConversionRequest conv_req(composer, request, &context, &config_);
ConversionRequest conv_req(composer, request, context, &config_);
conv_req.set_max_conversion_candidates_size(10);
if (!converter_->StartPrediction(conv_req, &segments_)) {
return absl::UnknownError(absl::StrCat(
Expand Down
5 changes: 2 additions & 3 deletions src/prediction/dictionary_prediction_aggregator_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ class DictionaryPredictionAggregatorTest

ConversionRequest CreateConversionRequest(
ConversionRequest::RequestType request_type) const {
ConversionRequest convreq(*composer_, *request_, &context_, config_.get());
ConversionRequest convreq(*composer_, *request_, context_, config_.get());
convreq.set_request_type(request_type);
return convreq;
}
Expand Down Expand Up @@ -2881,8 +2881,7 @@ TEST_F(DictionaryPredictionAggregatorTest, GetZeroQueryCandidates) {
const config::Config &config = config::ConfigHandler::DefaultConfig();
composer::Composer composer(&table, &client_request, &config);
commands::Context context;
const ConversionRequest request(composer, client_request, &context,
&config);
const ConversionRequest request(composer, client_request, context, &config);

std::vector<ZeroQueryResult> actual_candidates;
const bool actual_result =
Expand Down
2 changes: 1 addition & 1 deletion src/prediction/dictionary_predictor_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ class DictionaryPredictorTest : public testing::TestWithTempUserProfile {

ConversionRequest CreateConversionRequest(
ConversionRequest::RequestType request_type) const {
ConversionRequest convreq(*composer_, *request_, &context_, config_.get());
ConversionRequest convreq(*composer_, *request_, context_, config_.get());
convreq.set_request_type(request_type);
return convreq;
}
Expand Down
4 changes: 2 additions & 2 deletions src/prediction/predictor_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ class MobilePredictorTest : public ::testing::Test {
}

ConversionRequest CreateConversionRequest() const {
return ConversionRequest(*composer_, *request_, &context_, config_.get());
return ConversionRequest(*composer_, *request_, context_, config_.get());
}

std::unique_ptr<mozc::composer::Composer> composer_;
Expand Down Expand Up @@ -273,7 +273,7 @@ class PredictorTest : public ::testing::Test {
}

ConversionRequest CreateConversionRequest() const {
return ConversionRequest(*composer_, *request_, &context_, config_.get());
return ConversionRequest(*composer_, *request_, context_, config_.get());
}

std::unique_ptr<mozc::composer::Composer> composer_;
Expand Down
2 changes: 1 addition & 1 deletion src/prediction/single_kanji_prediction_aggregator_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ class SingleKanjiPredictionAggregatorTest : public ::testing::Test {
}

ConversionRequest CreateConversionRequest() const {
ConversionRequest convreq(*composer_, *request_, &context_, config_.get());
ConversionRequest convreq(*composer_, *request_, context_, config_.get());
convreq.set_request_type(ConversionRequest::PREDICTION);
return convreq;
}
Expand Down
6 changes: 3 additions & 3 deletions src/prediction/user_history_predictor_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ class UserHistoryPredictorTest : public testing::TestWithTempUserProfile {

ConversionRequest CreateConversionRequest(
const composer::Composer &composer) const {
ConversionRequest convreq(composer, request_, &context_, &config_);
ConversionRequest convreq(composer, request_, context_, &config_);
convreq.set_max_user_history_prediction_candidates_size(10);
convreq.set_max_user_history_prediction_candidates_size_for_zero_query(10);
return convreq;
Expand Down Expand Up @@ -1349,7 +1349,7 @@ TEST_F(UserHistoryPredictorTest, ZeroQuerySuggestionTest) {
SetUpInputForSuggestionWithHistory("", "たろうは", "太郎は", &composer_,
&segments);
// convreq5 is not zero query suggestion unlike other convreqs.
ConversionRequest convreq5(composer_, non_zero_query_request, &context,
ConversionRequest convreq5(composer_, non_zero_query_request, context,
&config_);
EXPECT_FALSE(predictor->PredictForRequest(convreq5, &segments));

Expand Down Expand Up @@ -1392,7 +1392,7 @@ TEST_F(UserHistoryPredictorTest, ZeroQuerySuggestionTest) {

// Zero query suggestion is disabled.
ConversionRequest non_zero_query_convreq(composer_, non_zero_query_request,
&context, &config_);
context, &config_);
AddSegment("", &segments); // empty request
EXPECT_FALSE(
predictor->PredictForRequest(non_zero_query_convreq, &segments));
Expand Down
18 changes: 8 additions & 10 deletions src/request/conversion_request.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,26 +116,26 @@ class ConversionRequest {
ConversionRequest()
: ConversionRequest(false, composer::Composer::CreateEmptyComposerData(),
commands::Request::default_instance(),
&commands::Context::default_instance(),
commands::Context::default_instance(),
&config::ConfigHandler::DefaultConfig(), Params()) {}

ConversionRequest(const composer::Composer &composer,
const commands::Request &request,
const commands::Context *context,
const commands::Context &context,
const config::Config *config)
: ConversionRequest(true, composer.CreateComposerData(),
request, context, config, Params()) {}

ConversionRequest(bool has_composer,
const composer::ComposerData &composer,
const commands::Request &request,
const commands::Context *context,
const commands::Context &context,
const config::Config *config,
Params params)
: has_composer_(has_composer),
composer_(composer),
request_(request),
context_(*context),
context_(context),
config_(config),
params_(params) {}

Expand Down Expand Up @@ -282,13 +282,11 @@ class ConversionRequestBuilder {

// TODO(b/365909808): Remove using default_instance() when the variables are
// set copied constat values instead of pointers.
const commands::Context *context =
context_ != nullptr ? context_ : &commands::Context::default_instance();
const config::Config *config =
config_ != nullptr ? config_ : &config::ConfigHandler::DefaultConfig();

return ConversionRequest(has_composer_, std::move(composer_data_),
std::move(request_), context, config,
std::move(request_), std::move(context_), config,
std::move(params_));
}

Expand All @@ -297,7 +295,7 @@ class ConversionRequestBuilder {
has_composer_ = base_convreq.has_composer();
composer_data_ = base_convreq.composer();
request_ = base_convreq.request();
context_ = &base_convreq.context();
context_ = base_convreq.context();
config_ = &base_convreq.config();
params_ = base_convreq.params();
return *this;
Expand All @@ -319,7 +317,7 @@ class ConversionRequestBuilder {
return *this;
}
ConversionRequestBuilder &SetContext(const commands::Context &context) {
context_ = &context;
context_ = context;
return *this;
}
ConversionRequestBuilder &SetConfig(const config::Config &config) {
Expand All @@ -336,7 +334,7 @@ class ConversionRequestBuilder {
bool has_composer_ = false;
composer::ComposerData composer_data_;
commands::Request request_;
const commands::Context *context_ = nullptr;
commands::Context context_;
const config::Config *config_ = nullptr;
ConversionRequest::Params params_;
};
Expand Down
2 changes: 1 addition & 1 deletion src/rewriter/language_aware_rewriter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ TEST_F(LanguageAwareRewriterTest, IsDisabledInTwelveKeyLayout) {
InsertASCIISequence("query", &composer);

const commands::Context context;
const ConversionRequest conv_request(composer, request, &context, &config);
const ConversionRequest conv_request(composer, request, context, &config);
EXPECT_EQ(rewriter.capability(conv_request), param.type);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/rewriter/t13n_promotion_rewriter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class T13nPromotionRewriterTest : public testing::TestWithTempUserProfile {
}

ConversionRequest CreateMobileConversionRequest() const {
return ConversionRequest(composer_, mobile_request_, &context_,
return ConversionRequest(composer_, mobile_request_, context_,
&config::ConfigHandler::DefaultConfig());
}

Expand Down
4 changes: 2 additions & 2 deletions src/rewriter/transliteration_rewriter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ TEST_F(TransliterationRewriterTest, NoKeyWithComposerTest) {
CHECK(segment);

const commands::Context context;
ConversionRequest request(composer, default_request(), &context,
ConversionRequest request(composer, default_request(), context,
&default_config());

segment->set_key("あ");
Expand Down Expand Up @@ -517,7 +517,7 @@ TEST_F(TransliterationRewriterTest, MobileT13nTestWith12KeysHiragana) {
Segment *segment = segments.add_segment();
segment->set_key("い、");
const commands::Context context;
ConversionRequest rewrite_request(composer, request, &context,
ConversionRequest rewrite_request(composer, request, context,
&default_config());
EXPECT_TRUE(t13n_rewriter->Rewrite(rewrite_request, &segments));

Expand Down
16 changes: 8 additions & 8 deletions src/session/session_converter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ bool SessionConverter::ConvertWithPreferences(

const commands::Context context;
DCHECK(request_);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
SetConversionPreferences(preferences, &segments_, &conversion_request);
SetRequestType(ConversionRequest::CONVERSION, &conversion_request);

Expand Down Expand Up @@ -378,7 +378,7 @@ bool SessionConverter::SwitchKanaType(const composer::Composer &composer) {
GetPreedit(0, segments_.conversion_segments_size(), &composition);
const commands::Context context;
DCHECK(request_);
const ConversionRequest conversion_request(composer, *request_, &context,
const ConversionRequest conversion_request(composer, *request_, context,
config_);
if (!converter_->ResizeSegment(&segments_, conversion_request, 0,
Util::CharsLen(composition))) {
Expand Down Expand Up @@ -462,7 +462,7 @@ bool SessionConverter::SuggestWithPreferences(
}

DCHECK(request_);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
// Initialize the conversion request and segments for suggestion.
SetConversionPreferences(preferences, &segments_, &conversion_request);

Expand Down Expand Up @@ -577,7 +577,7 @@ bool SessionConverter::PredictWithPreferences(
// Initialize the segments and conversion_request for prediction
const commands::Context context;
DCHECK(request_);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
SetConversionPreferences(preferences, &segments_, &conversion_request);
SetRequestType(ConversionRequest::PREDICTION, &conversion_request);
SetUseActualConverterForRealtimeConversion(*request_, &conversion_request);
Expand Down Expand Up @@ -687,7 +687,7 @@ void SessionConverter::Commit(const composer::Composer &composer,
}
CommitUsageStats(state_, context);
DCHECK(request_);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
converter_->FinishConversion(conversion_request, &segments_);
ResetState();
}
Expand Down Expand Up @@ -736,7 +736,7 @@ bool SessionConverter::CommitSuggestionInternal(
return false;
}
CommitUsageStats(SessionConverterInterface::SUGGESTION, context);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
converter_->FinishConversion(conversion_request, &segments_);
DCHECK_EQ(0, segments_.conversion_segments_size());
ResetState();
Expand Down Expand Up @@ -860,7 +860,7 @@ void SessionConverter::CommitPreedit(const composer::Composer &composer,
&segments_);
CommitUsageStats(SessionConverterInterface::COMPOSITION, context);
DCHECK(request_);
ConversionRequest conversion_request(composer, *request_, &context, config_);
ConversionRequest conversion_request(composer, *request_, context, config_);
// the request mode is CONVERSION, as the user experience
// is similar to conversion. UserHistoryPredictor distinguishes
// CONVERSION from SUGGESTION now.
Expand Down Expand Up @@ -963,7 +963,7 @@ void SessionConverter::ResizeSegmentWidth(const composer::Composer &composer,

const commands::Context context;
DCHECK(request_);
const ConversionRequest conversion_request(composer, *request_, &context,
const ConversionRequest conversion_request(composer, *request_, context,
config_);
if (!converter_->ResizeSegment(&segments_, conversion_request, segment_index_,
delta)) {
Expand Down
4 changes: 2 additions & 2 deletions src/session/session_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ class SessionTest : public testing::TestWithTempUserProfile {
ConversionRequest CreateConversionRequest(const Session &session) {
const ImeContext &context = session.context();
const ConversionRequest request(context.composer(), context.GetRequest(),
&context.client_context(),
context.client_context(),
&context.GetConfig());
return request;
}
Expand Down Expand Up @@ -3942,7 +3942,7 @@ TEST_F(SessionTest, Shortcut) {
SetAiueo(&segments);
const ImeContext &context = session.context();
const ConversionRequest request(context.composer(), context.GetRequest(),
&context.client_context(),
context.client_context(),
&context.GetConfig());
FillT13Ns(request, &segments);
EXPECT_CALL(converter, StartConversion(_, _))
Expand Down

0 comments on commit caf5d47

Please sign in to comment.