InterpretedClass constructor

InterpretedClass(
  1. String name,
  2. InterpretedClass? superclass,
  3. Environment classDefinitionEnvironment,
  4. List<SFieldDeclaration> fieldDeclarations,
  5. Map<String, InterpretedFunction> methods,
  6. Map<String, InterpretedFunction> getters,
  7. Map<String, InterpretedFunction> setters,
  8. Map<String, InterpretedFunction> staticMethods,
  9. Map<String, InterpretedFunction> staticGetters,
  10. Map<String, InterpretedFunction> staticSetters,
  11. Map<String, Object?> staticFields,
  12. Map<String, InterpretedFunction> constructors,
  13. Map<String, InterpretedFunction> operators, {
  14. bool isAbstract = false,
  15. List<InterpretedClass>? interfaces,
  16. bool isMixin = false,
  17. List<RuntimeType>? onClauseTypes,
  18. List<InterpretedClass>? mixins,
  19. List<BridgedClass>? bridgedMixins,
  20. List<BridgedClass>? bridgedInterfaces,
  21. bool isFinal = false,
  22. bool isInterface = false,
  23. bool isBase = false,
  24. bool isSealed = false,
  25. BridgedClass? bridgedSuperclass,
  26. List<String> typeParameterNames = const [],
  27. Map<String, RuntimeType?> typeParameterBounds = const {},
})

Implementation

InterpretedClass(
  this.name,
  this.superclass,
  this.classDefinitionEnvironment,
  this.fieldDeclarations,
  // Ensure all maps are passed and assigned
  this.methods,
  this.getters,
  this.setters,
  this.staticMethods,
  this.staticGetters,
  this.staticSetters,
  this.staticFields,
  this.constructors,
  this.operators, {
  this.isAbstract = false,
  List<InterpretedClass>? interfaces,
  this.isMixin = false,
  List<RuntimeType>? onClauseTypes,
  List<InterpretedClass>? mixins,
  List<BridgedClass>? bridgedMixins,
  List<BridgedClass>? bridgedInterfaces,
  // Initialize class modifiers (default to false)
  this.isFinal = false,
  this.isInterface = false,
  this.isBase = false,
  this.isSealed = false,
  // Initialize bridged superclass
  this.bridgedSuperclass, // Can be null
  // Add type parameter information
  this.typeParameterNames = const [],
  this.typeParameterBounds = const {},
})  : interfaces = interfaces ?? [],
      onClauseTypes = onClauseTypes ?? [],
      mixins = mixins ?? [],
      bridgedMixins = bridgedMixins ?? [],
      bridgedInterfaces = bridgedInterfaces ?? [];