AnalyzerBuffer class
A String buffer that is used to generate Dart code.
It helps deal with common problems such as:
- Writing types while respecting import prefixes and typedefs
- Automatically adding imports, if writing to a standalone library
It is primarily used with write, as it enables writing code in plain strings, and interpolating types to still support prefixes and co.
Constructors
- AnalyzerBuffer.part(LibraryElement library, {String? header})
-
Creates a AnalyzerBuffer that generates code for a specific
library.factory - AnalyzerBuffer.newLibrary({required String packageName, required String path, String? header})
- Creates a AnalyzerBuffer that generates a brand new library.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → String?
-
A header that will be added at the top of the generated code.
final
- isEmpty → bool
-
Whether any write was performed on the buffer.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
write(
String code, {Map< String, void Function()> args = const {}}) → void - Interpolates the given code, gracefully printing types and adding type prefixes if necessary.
-
writeType(
DartType type, {bool recursive = true}) → void -
Writes the given
typeto the buffer.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited