Writer class
Manages a tree structure which we use to generate code.
Each leaf in the tree is a StringBuffer that contains some code. A Scope is a non-leaf node in the tree. Why are we doing this? Sometimes, we're in the middle of generating the implementation of a method and we realize we need to introduce another top-level class! When passing a single StringBuffer to the generators that will get ugly to manage, but when passing a Scope we will always be able to write code in a parent scope.
Constructors
- Writer(MoorOptions options, {GenerationOptions generationOptions = const GenerationOptions()})
Properties
- generationOptions → GenerationOptions
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- options → MoorOptions
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
child(
) → Scope -
leaf(
) → StringBuffer -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
writeGenerated(
) → String - Returns the code generated by this Writer.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited