From d8de454a3fdb7399ecc7e3da56015037f51a7444 Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Sat, 24 Nov 2018 16:14:52 +0100 Subject: [PATCH] pass through FunctionName object --- .../jwebassembly/binary/BinaryModuleWriter.java | 9 +++++---- .../inetsoftware/jwebassembly/module/ModuleWriter.java | 4 ++-- .../jwebassembly/module/WasmCallInstruction.java | 2 +- .../inetsoftware/jwebassembly/text/TextModuleWriter.java | 7 ++++--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java index 4eac201..92ba358 100644 --- a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java @@ -699,17 +699,18 @@ public class BinaryModuleWriter extends ModuleWriter implements InstructionOpcod * {@inheritDoc} */ @Override - protected void writeFunctionCall( String name ) throws IOException { + protected void writeFunctionCall( FunctionName name ) throws IOException { + String signatureName = name.signatureName; int id; - Function func = functions.get( name ); + Function func = functions.get( signatureName ); if( func != null ) { id = func.id; } else { - ImportFunction entry = imports.get( name ); + ImportFunction entry = imports.get( signatureName ); if( entry != null ) { id = entry.id; } else { - throw new WasmException( "Call to unknown function: " + name, null, null, -1 ); + throw new WasmException( "Call to unknown function: " + signatureName, null, null, -1 ); } } codeStream.writeOpCode( CALL ); diff --git a/src/de/inetsoftware/jwebassembly/module/ModuleWriter.java b/src/de/inetsoftware/jwebassembly/module/ModuleWriter.java index a0aba08..4d651b5 100644 --- a/src/de/inetsoftware/jwebassembly/module/ModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/module/ModuleWriter.java @@ -186,11 +186,11 @@ public abstract class ModuleWriter implements Closeable { * Write a call to a function. * * @param name - * the full qualified method name + * the function name * @throws IOException * if any I/O error occur */ - protected abstract void writeFunctionCall( String name ) throws IOException; + protected abstract void writeFunctionCall( FunctionName name ) throws IOException; /** * Write a block/branch code diff --git a/src/de/inetsoftware/jwebassembly/module/WasmCallInstruction.java b/src/de/inetsoftware/jwebassembly/module/WasmCallInstruction.java index 1cc0884..876a75b 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmCallInstruction.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmCallInstruction.java @@ -53,7 +53,7 @@ class WasmCallInstruction extends WasmInstruction { * {@inheritDoc} */ public void writeTo( @Nonnull ModuleWriter writer ) throws IOException { - writer.writeFunctionCall( new FunctionName( method ).signatureName ); + writer.writeFunctionCall( new FunctionName( method ) ); } /** diff --git a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java index 23c46b4..a8fe680 100644 --- a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java @@ -285,10 +285,11 @@ public class TextModuleWriter extends ModuleWriter { * {@inheritDoc} */ @Override - protected void writeFunctionCall( String name ) throws IOException { + protected void writeFunctionCall( FunctionName name ) throws IOException { newline( methodOutput ); - name = name.substring( 0, name.indexOf( '(' ) ); - methodOutput.append( "call $" ).append( name ); + String signatureName = name.signatureName; + signatureName = signatureName.substring( 0, signatureName.indexOf( '(' ) ); + methodOutput.append( "call $" ).append( signatureName ); } /**