InterpretedFunction.method constructor
InterpretedFunction.method(
- SMethodDeclaration declaration,
- Environment closure,
- RuntimeType? owner
Implementation
InterpretedFunction.method(
SMethodDeclaration declaration, Environment closure, RuntimeType? owner)
: this._internal(
declaration.parameters, declaration.body!, closure,
declaration.name?.name ?? '',
// Consider factory methods later
isInitializer: false, // Methods are not initializers (usually)
isGetter: declaration.isGetter, // Pass getter flag
isSetter: declaration.isSetter, // Pass setter flag
ownerType: owner, // Pass the owner type (class or enum)
isAbstract: declaration.isAbstract, // Set the abstract flag
isAsync: _isBodyAsync(declaration.body), // Pass async flag
isGenerator:
_isBodyGenerator(declaration.body), // Pass generator flag
isAsyncGenerator: _isBodyAsync(declaration.body) &&
_isBodyGenerator(declaration.body), // Pass async generator flag
typeParameterNames:
_extractTypeParameterNames(declaration.typeParameters),
typeParameterBounds:
_extractTypeParameterBounds(declaration.typeParameters, closure),
);