Class WasmGCClassGenerator
java.lang.Object
org.teavm.backend.wasm.generate.gc.classes.WasmGCClassGenerator
- All Implemented Interfaces:
WasmGCClassInfoProvider,WasmGCInitializerContributor
public class WasmGCClassGenerator
extends Object
implements WasmGCClassInfoProvider, WasmGCInitializerContributor
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal WasmGCStandardClassesfinal WasmGCStringPoolfinal WasmGCTypeMapperFields inherited from interface org.teavm.backend.wasm.generate.gc.classes.WasmGCClassInfoProvider
ARRAY_DATA_FIELD_OFFSET, CLASS_FIELD_OFFSET, CUSTOM_FIELD_OFFSETS, MONITOR_FIELD_OFFSET, STRING_POOL_ENTRY_OFFSET, WEAK_REFERENCE_OFFSET -
Constructor Summary
ConstructorsConstructorDescriptionWasmGCClassGenerator(WasmModule module, ClassReaderSource classSource, ClassReaderSource originalClassSource, ClassHierarchy hierarchy, DependencyInfo dependencyInfo, WasmFunctionTypes functionTypes, TagRegistry tagRegistry, ClassMetadataRequirements metadataRequirements, WasmGCVirtualTableProvider virtualTables, BaseWasmFunctionRepository functionProvider, WasmGCNameProvider names, ClassInitializerInfo classInitializerInfo, List<WasmGCCustomTypeMapperFactory> customTypeMapperFactories) -
Method Summary
Modifier and TypeMethodDescriptionvoidcontributeToInitializer(WasmFunction function) voidgetArrayConstructor(ValueType type, int depth) intintintintintintintintgetClassInfo(ValueType type) intintintintintintintintgetFieldIndex(FieldReference fieldRef) intintgetStaticFieldLocation(FieldReference fieldRef) intintbooleanprocess()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.teavm.backend.wasm.generate.gc.classes.WasmGCClassInfoProvider
getClassInfo
-
Field Details
-
strings
-
standardClasses
-
typeMapper
-
-
Constructor Details
-
WasmGCClassGenerator
public WasmGCClassGenerator(WasmModule module, ClassReaderSource classSource, ClassReaderSource originalClassSource, ClassHierarchy hierarchy, DependencyInfo dependencyInfo, WasmFunctionTypes functionTypes, TagRegistry tagRegistry, ClassMetadataRequirements metadataRequirements, WasmGCVirtualTableProvider virtualTables, BaseWasmFunctionRepository functionProvider, WasmGCNameProvider names, ClassInitializerInfo classInitializerInfo, List<WasmGCCustomTypeMapperFactory> customTypeMapperFactories)
-
-
Method Details
-
getSupertypeProvider
-
process
public boolean process() -
contributeToInitializerDefinitions
- Specified by:
contributeToInitializerDefinitionsin interfaceWasmGCInitializerContributor
-
contributeToInitializer
- Specified by:
contributeToInitializerin interfaceWasmGCInitializerContributor
-
getClassInfo
- Specified by:
getClassInfoin interfaceWasmGCClassInfoProvider
-
getArrayConstructor
- Specified by:
getArrayConstructorin interfaceWasmGCClassInfoProvider
-
getClassTagOffset
public int getClassTagOffset() -
getClassArrayItemOffset
public int getClassArrayItemOffset()- Specified by:
getClassArrayItemOffsetin interfaceWasmGCClassInfoProvider
-
getClassFlagsOffset
public int getClassFlagsOffset()- Specified by:
getClassFlagsOffsetin interfaceWasmGCClassInfoProvider
-
getClassSupertypeFunctionOffset
public int getClassSupertypeFunctionOffset()- Specified by:
getClassSupertypeFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getClassEnclosingClassOffset
public int getClassEnclosingClassOffset()- Specified by:
getClassEnclosingClassOffsetin interfaceWasmGCClassInfoProvider
-
getClassDeclaringClassOffset
public int getClassDeclaringClassOffset()- Specified by:
getClassDeclaringClassOffsetin interfaceWasmGCClassInfoProvider
-
getClassParentOffset
public int getClassParentOffset()- Specified by:
getClassParentOffsetin interfaceWasmGCClassInfoProvider
-
getClassNameOffset
public int getClassNameOffset()- Specified by:
getClassNameOffsetin interfaceWasmGCClassInfoProvider
-
getClassSimpleNameOffset
public int getClassSimpleNameOffset()- Specified by:
getClassSimpleNameOffsetin interfaceWasmGCClassInfoProvider
-
getClassCanonicalNameOffset
public int getClassCanonicalNameOffset()- Specified by:
getClassCanonicalNameOffsetin interfaceWasmGCClassInfoProvider
-
getNewArrayFunctionOffset
public int getNewArrayFunctionOffset()- Specified by:
getNewArrayFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getVirtualMethodsOffset
public int getVirtualMethodsOffset()- Specified by:
getVirtualMethodsOffsetin interfaceWasmGCClassInfoProvider
-
getCloneOffset
public int getCloneOffset()- Specified by:
getCloneOffsetin interfaceWasmGCClassInfoProvider
-
getServicesOffset
public int getServicesOffset()- Specified by:
getServicesOffsetin interfaceWasmGCClassInfoProvider
-
getThrowableNativeOffset
public int getThrowableNativeOffset()- Specified by:
getThrowableNativeOffsetin interfaceWasmGCClassInfoProvider
-
getArrayVirtualTableStructure
- Specified by:
getArrayVirtualTableStructurein interfaceWasmGCClassInfoProvider
-
getArrayLengthOffset
public int getArrayLengthOffset()- Specified by:
getArrayLengthOffsetin interfaceWasmGCClassInfoProvider
-
getArrayGetOffset
public int getArrayGetOffset()- Specified by:
getArrayGetOffsetin interfaceWasmGCClassInfoProvider
-
getArrayCopyOffset
public int getArrayCopyOffset()- Specified by:
getArrayCopyOffsetin interfaceWasmGCClassInfoProvider
-
getEnumConstantsFunctionOffset
public int getEnumConstantsFunctionOffset()- Specified by:
getEnumConstantsFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getFieldIndex
- Specified by:
getFieldIndexin interfaceWasmGCClassInfoProvider
-
getStaticFieldLocation
- Specified by:
getStaticFieldLocationin interfaceWasmGCClassInfoProvider
-