add field vtable

This commit is contained in:
Volker Berlin 2019-05-17 21:40:38 +02:00
parent 5691446195
commit 5826d6dded
2 changed files with 17 additions and 1 deletions

View File

@ -314,6 +314,8 @@ public class ModuleGenerator {
if( superClass != null ) { if( superClass != null ) {
String superClassName = superClass.getName(); String superClassName = superClass.getName();
listStructFields( superClassName, list ); listStructFields( superClassName, list );
} else {
list.add( new NamedStorageType( ValueType.i32, className, ".vtable" ) );
} }
for( FieldInfo field : classFile.getFields() ) { for( FieldInfo field : classFile.getFields() ) {

View File

@ -71,7 +71,21 @@ public class NamedStorageType {
* the type manager * the type manager
*/ */
private NamedStorageType( String type, String className, String name, TypeManager types ) { private NamedStorageType( String type, String className, String name, TypeManager types ) {
this.type = new ValueTypeParser( type, types ).next(); this( new ValueTypeParser( type, types ).next(), className, name );
}
/**
* Create a new instance
*
* @param type
* the type
* @param className
* the class name
* @param name
* the name
*/
public NamedStorageType( AnyType type, String className, String name ) {
this.type = type;
this.className = className; this.className = className;
this.name = name; this.name = name;
} }