Skip to content

Commit c3a0e9f

Browse files
jnthntatumcopybara-github
authored andcommitted
internal testing change
PiperOrigin-RevId: 688194020
1 parent 6c9df94 commit c3a0e9f

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

conformance/service.cc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
#include "absl/memory/memory.h"
3535
#include "absl/status/status.h"
3636
#include "absl/status/statusor.h"
37+
#include "absl/strings/match.h"
3738
#include "absl/strings/str_cat.h"
3839
#include "absl/strings/string_view.h"
40+
#include "absl/strings/strip.h"
3941
#include "absl/types/optional.h"
4042
#include "absl/types/span.h"
4143
#include "checker/optional.h"
@@ -623,6 +625,13 @@ class ModernConformanceServiceImpl : public ConformanceServiceInterface {
623625
CEL_ASSIGN_OR_RETURN(std::unique_ptr<cel::Ast> ast,
624626
cel::extensions::CreateAstFromParsedExpr(parsed_expr));
625627

628+
absl::string_view location = parsed_expr.source_info().location();
629+
std::unique_ptr<cel::Source> source;
630+
if (absl::StartsWith(location, "Source: ")) {
631+
location = absl::StripPrefix(location, "Source: ");
632+
CEL_ASSIGN_OR_RETURN(source, cel::NewSource(location));
633+
}
634+
626635
cel::TypeCheckerBuilder builder;
627636

628637
builder.AddTypeProvider(
@@ -672,7 +681,11 @@ class ModernConformanceServiceImpl : public ConformanceServiceInterface {
672681
for (const auto& checker_issue : validation_result.GetIssues()) {
673682
auto* issue = response.add_issues();
674683
issue->set_code(ToGrpcCode(absl::StatusCode::kInvalidArgument));
675-
issue->set_message(checker_issue.message());
684+
if (source) {
685+
issue->set_message(checker_issue.ToDisplayString(*source));
686+
} else {
687+
issue->set_message(checker_issue.message());
688+
}
676689
}
677690

678691
const cel::Ast* checked_ast = validation_result.GetAst();

0 commit comments

Comments
 (0)