InterpretedFunction.declaration constructor
InterpretedFunction.declaration(
- SFunctionDeclaration declaration,
- Environment closure,
- RuntimeType? declaredReturnType,
- bool isNullable,
Implementation
InterpretedFunction.declaration(SFunctionDeclaration declaration,
Environment closure, RuntimeType? declaredReturnType, bool isNullable)
: this._internal(
declaration.functionExpression?.parameters,
declaration.functionExpression!.body!,
closure,
declaration.name?.name ?? '',
isGetter: declaration.isGetter, // Pass getter flag
isSetter: declaration.isSetter, // Pass setter flag
ownerType: null, // Not defined within a class/enum
isAbstract: false, // Non-method functions cannot be abstract
isAsync: _isBodyAsync(
declaration.functionExpression?.body), // Pass async flag
isGenerator: _isBodyGenerator(
declaration.functionExpression?.body), // Pass generator flag
isAsyncGenerator:
_isBodyAsync(declaration.functionExpression?.body) &&
_isBodyGenerator(declaration
.functionExpression?.body), // Pass async generator flag
declaredReturnType: declaredReturnType,
isNullable: isNullable,
typeParameterNames: _extractTypeParameterNames(
declaration.functionExpression?.typeParameters),
typeParameterBounds: _extractTypeParameterBounds(
declaration.functionExpression?.typeParameters, closure),
);