diff --git a/src/de/inetsoftware/jwebassembly/module/ModuleGenerator.java b/src/de/inetsoftware/jwebassembly/module/ModuleGenerator.java index c3bd590..94d2bc8 100644 --- a/src/de/inetsoftware/jwebassembly/module/ModuleGenerator.java +++ b/src/de/inetsoftware/jwebassembly/module/ModuleGenerator.java @@ -47,6 +47,7 @@ import de.inetsoftware.jwebassembly.wasm.FunctionType; import de.inetsoftware.jwebassembly.wasm.NamedStorageType; import de.inetsoftware.jwebassembly.wasm.StructOperator; import de.inetsoftware.jwebassembly.wasm.ValueType; +import de.inetsoftware.jwebassembly.wasm.ValueTypeParser; import de.inetsoftware.jwebassembly.watparser.WatParser; /** @@ -512,7 +513,13 @@ public class ModuleGenerator { try { Map annotationValues; if( (annotationValues = method.getAnnotation( JWebAssembly.IMPORT_ANNOTATION )) != null ) { - functions.markAsImport( new FunctionName( method ), annotationValues ); + FunctionName name = new FunctionName( method ); + functions.markAsImport( name, annotationValues ); + + // Scan also the types of used imports + for( Iterator it = new ValueTypeParser( name.signature, types ); it.hasNext(); ) { + it.next(); + } return null; } code = method.getCode();