MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / CheckCodeStyle

Function CheckCodeStyle

CodeFormatCLib/src/CodeFormatCLib.cpp:42–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42EMMY_API char *CheckCodeStyle(const char *code, const char *uri) {
43 CodeFormat &codeFormat = CodeFormat::GetInstance();
44 auto result = codeFormat.Diagnostic(uri, code);
45 if (result.Type != ResultType::Ok) {
46 return nullptr;
47 }
48 auto diagnostic_results = std::move(result.Data);
49 std::string result_str;
50 auto total_size = 0;
51 for (auto &diagnostic: diagnostic_results) {
52 total_size += diagnostic.Message.size();
53 }
54 result_str.reserve(total_size * 2);
55
56 for (auto &diagnostic: diagnostic_results) {
57 result_str.append(std::to_string(diagnostic.Start.Line)).append("|");
58 result_str.append(std::to_string(diagnostic.Start.Col)).append("|");
59 result_str.append(std::to_string(diagnostic.End.Line)).append("|");
60 result_str.append(std::to_string(diagnostic.End.Col)).append("|");
61 result_str.append(diagnostic.Message);
62 result_str.append("\n");
63 }
64 auto ptr = new char[result_str.size() + 1];
65 std::copy(result_str.begin(), result_str.end(), ptr);
66 ptr[result_str.size()] = '\0';
67 return ptr;
68}
69}

Callers

nothing calls this directly

Calls 5

DiagnosticMethod · 0.45
sizeMethod · 0.45
reserveMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected