MigrationSource.fromFile(- Uri uri
)
Implementation
factory MigrationSource.fromFile(Uri uri) {
final analyzer = CodeAnalyzer(uri);
final migrationTypes = analyzer.getSubclassesFromFile("Migration", uri);
if (migrationTypes.length != 1) {
throw StateError(
"Invalid migration file. Must contain exactly one 'Migration' subclass. File: '$uri'.",
);
}
final klass = migrationTypes.first;
final source = klass.toSource();
final offset = klass.name.offset - klass.offset;
return MigrationSource(
source,
uri.toFilePath(windows: Platform.isWindows),
offset,
offset + klass.name.length,
);
}