From c148418382a58557e5bf628dcce1aa38f177bb6e Mon Sep 17 00:00:00 2001 From: fvarose Date: Mon, 16 Oct 2017 16:27:07 +0200 Subject: [PATCH 1/3] [C++] Handle reserved words in `toOperationId`. --- .../java/io/swagger/codegen/languages/AbstractCppCodegen.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java index 540bfa93f16..925d0885179 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java @@ -129,6 +129,10 @@ public String escapeReservedWord(String name) { @Override public String toOperationId(String operationId) { + if (isReservedWord(operationId)) { + LOGGER.warn(operationId + " (reserved word) cannot be used as method name. Renamed to " + escapeReservedWord(operationId)); + return escapeReservedWord(operationId); + } return sanitizeName(super.toOperationId(operationId)); } From 165622bd41f01885dbd82a17d46ac6cca940be90 Mon Sep 17 00:00:00 2001 From: fvarose Date: Mon, 16 Oct 2017 16:30:56 +0200 Subject: [PATCH 2/3] [C++] Re-order reserved words alphabetically. --- .../codegen/languages/AbstractCppCodegen.java | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java index 925d0885179..02d87853b89 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java @@ -17,77 +17,77 @@ public AbstractCppCodegen() { */ setReservedWordsLowerCase( Arrays.asList( + "and", + "and_eq", + "asm", "auto", + "bitand", + "bitor", + "bool", "break", "case", + "catch", "char", + "class", + "compl", "const", + "const_cast", "continue", "default", + "delete", "do", "double", + "dynamic_cast", "else", "enum", + "explicit", "extern", + "false", "float", "for", + "friend", "goto", "if", + "inline", "int", "long", - "register", - "return", - "short", - "signed", - "sizeof", - "static", - "struct", - "switch", - "typedef", - "union", - "unsigned", - "void", - "volatile", - "while", - "asm", - "bool", - "catch", - "class", - "const_cast", - "delete", - "dynamic_cast", - "explicit", - "false", - "friend", - "inline", "mutable", "namespace", "new", + "not", + "not_eq", "operator", + "or", + "or_eq", "private", - "public", "protected", + "public", + "register", "reinterpret_cast", + "return", + "short", + "signed", + "sizeof", + "static", "static_cast", + "struct", + "switch", "template", "this", "throw", "true", "try", + "typedef", "typeid", "typename", + "union", + "unsigned", "using", "virtual", + "void", + "volatile", "wchar_t", - "and", - "and_eq", - "bitand", - "bitor", - "compl", - "not", - "not_eq", - "or", - "or_eq", + "while", "xor", "xor_eq") ); From 82beef259d006632f5aa2a1b958b891bd499f4f3 Mon Sep 17 00:00:00 2001 From: fvarose Date: Mon, 16 Oct 2017 16:39:36 +0200 Subject: [PATCH 3/3] [C++] Add missing reserved words. --- .../codegen/languages/AbstractCppCodegen.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java index 02d87853b89..1c44d1587c4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractCppCodegen.java @@ -17,6 +17,8 @@ public AbstractCppCodegen() { */ setReservedWordsLowerCase( Arrays.asList( + "alignas", + "alignof", "and", "and_eq", "asm", @@ -28,11 +30,16 @@ public AbstractCppCodegen() { "case", "catch", "char", + "char16_t", + "char32_t", "class", "compl", + "concept", "const", + "constexpr", "const_cast", "continue", + "decltype", "default", "delete", "do", @@ -41,6 +48,7 @@ public AbstractCppCodegen() { "else", "enum", "explicit", + "export", "extern", "false", "float", @@ -54,8 +62,10 @@ public AbstractCppCodegen() { "mutable", "namespace", "new", + "noexcept", "not", "not_eq", + "nullptr", "operator", "or", "or_eq", @@ -64,16 +74,19 @@ public AbstractCppCodegen() { "public", "register", "reinterpret_cast", + "requires", "return", "short", "signed", "sizeof", "static", + "static_assert", "static_cast", "struct", "switch", "template", "this", + "thread_local", "throw", "true", "try",