diff --git a/core/generator.ts b/core/generator.ts index f70856367f3..e3fd05b06f9 100644 --- a/core/generator.ts +++ b/core/generator.ts @@ -37,7 +37,7 @@ export type BlockGenerator = ( /** * Class for a code generator that translates the blocks into a language. */ -export class CodeGenerator { +export abstract class CodeGenerator { name_: string; /** A dictionary of block generator functions keyed by block type. */ @@ -170,10 +170,6 @@ export class CodeGenerator { return codeString; } - // The following are some helpful functions which can be used by multiple - - // languages. - /** * Prepend a common prefix onto each line of code. * Intended for indenting code or adding comment markers. @@ -441,6 +437,10 @@ export class CodeGenerator { return msg.replace(/%1/g, "'" + id + "'"); } + abstract quote_(toQuote: string): string; + + abstract multiline_quote_(toQuote: string): string; + /** * Add one or more words to the list of reserved words for this language. * diff --git a/generators/dart/dart_generator.js b/generators/dart/dart_generator.js index 5f64e919f34..e43c025a92b 100644 --- a/generators/dart/dart_generator.js +++ b/generators/dart/dart_generator.js @@ -176,7 +176,6 @@ export class DartGenerator extends CodeGenerator { * Encode a string as a properly escaped Dart string, complete with quotes. * @param {string} string Text to encode. * @return {string} Dart string. - * @protected */ quote_(string) { // Can't use goog.string.quote since $ must also be escaped. @@ -192,7 +191,6 @@ export class DartGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} Dart string. - * @protected */ multiline_quote_(string) { const lines = string.split(/\n/g).map(this.quote_); diff --git a/generators/javascript/javascript_generator.js b/generators/javascript/javascript_generator.js index 18811011c8b..34e68f5aa0a 100644 --- a/generators/javascript/javascript_generator.js +++ b/generators/javascript/javascript_generator.js @@ -206,7 +206,6 @@ export class JavascriptGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} JavaScript string. - * @protected */ quote_(string) { // Can't use goog.string.quote since Google's style guide recommends @@ -222,7 +221,6 @@ export class JavascriptGenerator extends CodeGenerator { * with quotes. * @param {string} string Text to encode. * @return {string} JavaScript string. - * @protected */ multiline_quote_(string) { // Can't use goog.string.quote since Google's style guide recommends diff --git a/generators/lua/lua_generator.js b/generators/lua/lua_generator.js index 587fea90bc8..ce115963917 100644 --- a/generators/lua/lua_generator.js +++ b/generators/lua/lua_generator.js @@ -149,7 +149,6 @@ export class LuaGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} Lua string. - * @protected */ quote_(string) { string = string.replace(/\\/g, '\\\\') @@ -163,7 +162,6 @@ export class LuaGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} Lua string. - * @protected */ multiline_quote_(string) { const lines = string.split(/\n/g).map(this.quote_); diff --git a/generators/php/php_generator.js b/generators/php/php_generator.js index 59d595b83df..59e1e67c688 100644 --- a/generators/php/php_generator.js +++ b/generators/php/php_generator.js @@ -184,7 +184,6 @@ export class PhpGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} PHP string. - * @protected */ quote_(string) { string = string.replace(/\\/g, '\\\\') @@ -198,7 +197,6 @@ export class PhpGenerator extends CodeGenerator { * quotes. * @param {string} string Text to encode. * @return {string} PHP string. - * @protected */ multiline_quote_(string) { const lines = string.split(/\n/g).map(this.quote_); diff --git a/generators/python/python_generator.js b/generators/python/python_generator.js index 2f0aabe0c13..5e5836c476f 100644 --- a/generators/python/python_generator.js +++ b/generators/python/python_generator.js @@ -228,7 +228,6 @@ export class PythonGenerator extends CodeGenerator { * Encode a string as a properly escaped Python string, complete with quotes. * @param {string} string Text to encode. * @return {string} Python string. - * @protected */ quote_(string) { string = string.replace(/\\/g, '\\\\').replace(/\n/g, '\\\n'); @@ -250,7 +249,6 @@ export class PythonGenerator extends CodeGenerator { * with quotes. * @param {string} string Text to encode. * @return {string} Python string. - * @protected */ multiline_quote_(string) { const lines = string.split(/\n/g).map(this.quote_);