Line data Source code
1 : import 'package:meta/meta.dart'; 2 : 3 : @immutable 4 : 5 : /// The most basic form of an Instance. 6 : /// Defines a [toCode] function. 7 : abstract class BaseInstance { 8 : /// Const constructor for BaseInstance 9 19 : const BaseInstance(); 10 : 11 : /// Transforms the [BaseInstance] or its implementation into Code (a String) 12 : /// 13 : /// This makes testing rather easy, because the building blocs of a whole 14 : /// Code tree can be easily tested, but just testing the underlying 15 : /// types of instances. 16 : /// More complex impelementations of Instances can be based on the 17 : /// BaseInstances for which only the configuration (properties, etc) have to 18 : /// be unit tested since the [toCode] function is inherited. 19 : String toCode(); 20 : }