@@ -1434,6 +1434,11 @@ class )cpp" << objectType.type << R"cpp(
1434
1434
{
1435
1435
const bool inheritedField = interfaceFields.find (outputField.name ) != interfaceFields.cend ();
1436
1436
1437
+ if (inheritedField && _isIntrospection)
1438
+ {
1439
+ continue ;
1440
+ }
1441
+
1437
1442
if (firstField)
1438
1443
{
1439
1444
headerFile << R"cpp(
@@ -1554,7 +1559,7 @@ std::string Generator::getFieldDeclaration(const OutputField & outputField, bool
1554
1559
}
1555
1560
1556
1561
output << R"cpp( ) const)cpp" ;
1557
- if (interfaceField)
1562
+ if (interfaceField || _isIntrospection )
1558
1563
{
1559
1564
output << R"cpp( = 0)cpp" ;
1560
1565
}
@@ -1895,29 +1900,34 @@ namespace object {
1895
1900
std::string fieldName (outputField.name );
1896
1901
1897
1902
fieldName[0 ] = static_cast <char >(std::toupper (static_cast <unsigned char >(fieldName[0 ])));
1898
- sourceFile << R"cpp(
1903
+ if (!_isIntrospection)
1904
+ {
1905
+ sourceFile << R"cpp(
1899
1906
std::future<)cpp" << getOutputCppType (outputField, false )
1900
1907
<< R"cpp( > )cpp" << objectType.type
1901
1908
<< R"cpp( ::get)cpp" << fieldName
1902
1909
<< R"cpp( (service::FieldParams&&)cpp" ;
1903
- for (const auto & argument : outputField.arguments )
1904
- {
1905
- sourceFile << R"cpp( , )cpp" << getInputCppType (argument)
1906
- << R"cpp( &&)cpp" ;
1907
- }
1910
+ for (const auto & argument : outputField.arguments )
1911
+ {
1912
+ sourceFile << R"cpp( , )cpp" << getInputCppType (argument)
1913
+ << R"cpp( &&)cpp" ;
1914
+ }
1908
1915
1909
- sourceFile << R"cpp( ) const
1916
+ sourceFile << R"cpp( ) const
1910
1917
{
1911
1918
std::promise<)cpp" << getOutputCppType (outputField, false )
1912
- << R"cpp( > promise;
1919
+ << R"cpp( > promise;
1913
1920
1914
1921
promise.set_exception(std::make_exception_ptr(std::runtime_error(R"ex()cpp" << objectType.type
1915
- << R"cpp( ::get)cpp" << fieldName
1916
- << R"cpp( is not implemented)ex")));
1922
+ << R"cpp( ::get)cpp" << fieldName
1923
+ << R"cpp( is not implemented)ex")));
1917
1924
1918
1925
return promise.get_future();
1919
1926
}
1927
+ )cpp" ;
1928
+ }
1920
1929
1930
+ sourceFile << R"cpp(
1921
1931
std::future<response::Value> )cpp" << objectType.type
1922
1932
<< R"cpp( ::resolve)cpp" << fieldName
1923
1933
<< R"cpp( (service::ResolverParams&& params)
0 commit comments