Method constructor

Method({
  1. required String name,
  2. String? returnType,
  3. Parameter? param,
  4. bool isAsync = false,
  5. String modifier = '',
  6. List<IExpression>? statements,
})

Example Abstract Method

Method(
  name: 'walk',
  returnType: 'void',
  param: Parameter([
    ParameterItem('int step', isRequired: true, isNamed: true),
  ]),
)

Output: void walk({required int step}); Example

Method(
  name: 'changeUser',
  modifier: 'static',
  returnType: 'User',
  isAsync: true,
  param: Parameter([
    ParameterItem('String name', isRequired: true, isNamed: true),
    ParameterItem('String surname', isRequired: true, isNamed: true),
    ParameterItem('int? age', isRequired: false, isNamed: true)
  ]),
  statements: [
    Return('newUser')
  ]
)

Output: static User changeUser({required String name, required String surname, int? age}) async { return newUser; }

Implementation

/// Example
///```dart
/// Method(
///   name: 'changeUser',
///   modifier: 'static',
///   returnType: 'User',
///   isAsync: true,
///   param: Parameter([
///     ParameterItem('String name', isRequired: true, isNamed: true),
///     ParameterItem('String surname', isRequired: true, isNamed: true),
///     ParameterItem('int? age', isRequired: false, isNamed: true)
///   ]),
///   statements: [
///     Return('newUser')
///   ]
/// )
///```
/// [Output]: static User changeUser({required String name, required String surname, int? age}) async { return newUser; }
Method(
    {required this.name,
    this.returnType,
    this.param,
    this.isAsync = false,
    this.modifier = '',
    this.statements});