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) intintintintintintintintintintintgetClassInfo(ValueType type) intintintintintintintintintintintintintgetFieldIndex(FieldReference fieldRef) intgetHeapAlignment(String className) intgetHeapFieldOffset(FieldReference fieldRef) intgetHeapSize(String className) getMultiArrayConstructor(int depth) intintintgetStaticFieldLocation(FieldReference fieldRef) intbooleanbooleanprocess()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) -
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
-
getClassTagOffset
public int getClassTagOffset() -
getClassArrayItemOffset
public int getClassArrayItemOffset()- Specified by:
getClassArrayItemOffsetin interfaceWasmGCClassInfoProvider
-
getClassFlagsOffset
public int getClassFlagsOffset()- Specified by:
getClassFlagsOffsetin interfaceWasmGCClassInfoProvider
-
getClassVtFieldOffset
public int getClassVtFieldOffset()- Specified by:
getClassVtFieldOffsetin 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
-
getClassAnnotationsOffset
public int getClassAnnotationsOffset()- Specified by:
getClassAnnotationsOffsetin interfaceWasmGCClassInfoProvider
-
getClassInterfacesOffset
public int getClassInterfacesOffset()- Specified by:
getClassInterfacesOffsetin interfaceWasmGCClassInfoProvider
-
getClassFieldsOffset
public int getClassFieldsOffset()- Specified by:
getClassFieldsOffsetin interfaceWasmGCClassInfoProvider
-
getClassMethodsOffset
public int getClassMethodsOffset()- Specified by:
getClassMethodsOffsetin interfaceWasmGCClassInfoProvider
-
getClassInstantiatorOffset
public int getClassInstantiatorOffset()- Specified by:
getClassInstantiatorOffsetin interfaceWasmGCClassInfoProvider
-
getClassInitializerOffset
public int getClassInitializerOffset()- Specified by:
getClassInitializerOffsetin interfaceWasmGCClassInfoProvider
-
getPreviousRegularClassOffset
public int getPreviousRegularClassOffset()- Specified by:
getPreviousRegularClassOffsetin interfaceWasmGCClassInfoProvider
-
getLastRegularClassGlobal
- Specified by:
getLastRegularClassGlobalin interfaceWasmGCClassInfoProvider
-
getNewArrayFunctionOffset
public int getNewArrayFunctionOffset()- Specified by:
getNewArrayFunctionOffsetin 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
-
getArraySetOffset
public int getArraySetOffset()- Specified by:
getArraySetOffsetin interfaceWasmGCClassInfoProvider
-
getArrayCopyOffset
public int getArrayCopyOffset()- Specified by:
getArrayCopyOffsetin interfaceWasmGCClassInfoProvider
-
getEnumConstantsFunctionOffset
public int getEnumConstantsFunctionOffset()- Specified by:
getEnumConstantsFunctionOffsetin 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
-
getGetArrayClassFunction
- Specified by:
getGetArrayClassFunctionin interfaceWasmGCClassInfoProvider
-