code: def __init__(
      self, create_from=None, buffer=None, copy_formatting=True
  ):
      CCodeWriter.__init__(
          self, create_from, buffer, copy_formatting=copy_formatting
      )
      if create_from is None:
          self.annotation_buffer = StringIO()
          self.last_annotated_pos = None
          # annotations[filename][line] -> [(column, AnnotationItem)*]
          self.annotations = defaultdict(partial(defaultdict, list))
          # code[filename][line] -> str
          self.code = defaultdict(partial(defaultdict, str))
          # scopes[filename][line] -> set(scopes)
          self.scopes = defaultdict(partial(defaultdict, set))
      else:
          # When creating an insertion point, keep references to the same database
          self.annotation_buffer = create_from.annotation_buffer
          self.annotations = create_from.annotations
          self.code = create_from.code
          self.scopes = create_from.scopes
          self.last_annotated_pos = create_from.last_annotated_pos
  
imports: from __future__ import absolute_import
  import os
  import os.path
  import re
  import codecs
  import textwrap
  from datetime import datetime
  from functools import partial
  from collections import defaultdict
  from .None import Version
  from .Code import CCodeWriter
  from ..None import Utils
label_desc: Use image node_id 1 to create a new AnnotationCCodeWriter object from inherited base classes: CCodeWriter with example: obj = AnnotationCCodeWriter(create_from, buffer, copy_formatting)