From b3bef1570abaf08858c574cf886ab596923231bd Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Sun, 22 Mar 2020 12:36:01 +0100 Subject: [PATCH] write string constant in the text format for easer reading --- src/de/inetsoftware/jwebassembly/module/StringManager.java | 1 + .../inetsoftware/jwebassembly/module/WasmCodeBuilder.java | 2 +- src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/de/inetsoftware/jwebassembly/module/StringManager.java b/src/de/inetsoftware/jwebassembly/module/StringManager.java index 09b2a7e..6d84cd4 100644 --- a/src/de/inetsoftware/jwebassembly/module/StringManager.java +++ b/src/de/inetsoftware/jwebassembly/module/StringManager.java @@ -90,6 +90,7 @@ public class StringManager extends LinkedHashMap { } }; functions.markAsNeededAndReplaceIfExists( offsetFunction ); + functions.markAsNeeded( STRING_CONSTANT_FUNCTION ); } return STRING_CONSTANT_FUNCTION; diff --git a/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java b/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java index 175f06f..9d02059 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java @@ -398,7 +398,7 @@ public abstract class WasmCodeBuilder { Integer id = strings.get( value ); FunctionName name = strings.getStringConstantFunction(); instructions.add( new WasmConstInstruction( id, ValueType.i32, javaCodePos, lineNumber ) ); - instructions.add( new WasmCallInstruction( name, javaCodePos, lineNumber, types, false, "\"" + value + "\"" ) ); + instructions.add( new WasmCallInstruction( name, javaCodePos, lineNumber, types, false, (String)value ) ); } else if( value instanceof Number ) { instructions.add( new WasmConstInstruction( (Number)value, javaCodePos, lineNumber ) ); } else if( value instanceof ConstantClass ) { diff --git a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java index 67f82f0..7cf6185 100644 --- a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java @@ -685,11 +685,11 @@ public class TextModuleWriter extends ModuleWriter { * {@inheritDoc} */ @Override - protected void writeFunctionCall( FunctionName name, String comments ) throws IOException { + protected void writeFunctionCall( FunctionName name, String comment ) throws IOException { newline( methodOutput ); methodOutput.append( "call $" ).append( normalizeName( name ) ); - if( comments != null ) { - methodOutput.append( ") ;; " ).append( comments ); + if( comment != null ) { + methodOutput.append( " ;; \"" ).append( comment.replace( "\n", "\\n" ).replace( "\r", "\\r" ) ).append( '"' ); } }