CodeTools::AST << {

DeclareString < Node {
  node_type declstr
  field types, field string

  implementation: InvokeMethod.new(
    line:      self.string.line
    name:      :from_string
    arguments: ArgumentAssembly.new(
      line:      self.string.line,
      body:      [self.string]
    )
    receiver:  DeclareObject.new(
      line:      self.line
      types:     self.types
      body:      NullLiteral.new(line:self.line)
    )
  )

  bytecode: |g| pos(g); implementation.bytecode(g)
}

}