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, VIRTUAL_METHOD_OFFSET, VT_FIELD_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) getClassInfo(ValueType type) intgetFieldIndex(FieldReference fieldRef) intgetHeapAlignment(String className) intgetHeapFieldOffset(FieldReference fieldRef) intgetHeapSize(String className) getMultiArrayConstructor(int depth) getStaticFieldLocation(FieldReference fieldRef) intbooleanbooleanprocess()voidsetAsyncSplitMethods(Set<MethodReference> asyncSplitMethods) voidsetCompactMode(boolean compactMode) 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
-
setCompactMode
public void setCompactMode(boolean compactMode) -
setAsyncSplitMethods
-
getSupertypeProvider
-
process
public boolean process() -
hasSomethingToGenerate
public boolean hasSomethingToGenerate() -
contributeToInitializerDefinitions
- Specified by:
contributeToInitializerDefinitionsin interfaceWasmGCInitializerContributor
-
contributeToInitializer
- Specified by:
contributeToInitializerin interfaceWasmGCInitializerContributor
-
getClassInfo
- Specified by:
getClassInfoin interfaceWasmGCClassInfoProvider
-
getArrayConstructor
- Specified by:
getArrayConstructorin interfaceWasmGCClassInfoProvider
-
getMultiArrayConstructor
- Specified by:
getMultiArrayConstructorin interfaceWasmGCClassInfoProvider
-
reflectionTypes
- Specified by:
reflectionTypesin interfaceWasmGCClassInfoProvider
-
getThrowableNativeOffset
public int getThrowableNativeOffset()- Specified by:
getThrowableNativeOffsetin interfaceWasmGCClassInfoProvider
-
getFieldIndex
- Specified by:
getFieldIndexin interfaceWasmGCClassInfoProvider
-
getHeapFieldOffset
- Specified by:
getHeapFieldOffsetin interfaceWasmGCClassInfoProvider
-
getHeapSize
- Specified by:
getHeapSizein interfaceWasmGCClassInfoProvider
-
getHeapAlignment
- Specified by:
getHeapAlignmentin interfaceWasmGCClassInfoProvider
-
reflection
- Specified by:
reflectionin interfaceWasmGCClassInfoProvider
-
getStaticFieldLocation
- Specified by:
getStaticFieldLocationin interfaceWasmGCClassInfoProvider
-
getObjectArrayType
- Specified by:
getObjectArrayTypein interfaceWasmGCClassInfoProvider
-
getGetArrayClassFunction
- Specified by:
getGetArrayClassFunctionin interfaceWasmGCClassInfoProvider
-