code: def shapeRef_to_iriref(self, ref: ShExDocParser.ShapeRefContext) -> ShExJ.IRIREF:
          
          if ref.ATPNAME_NS():
              return ShExJ.IRIREF(self._lookup_prefix(ref.ATPNAME_NS().getText()[1:]))
          elif ref.ATPNAME_LN():
              prefix, local = ref.ATPNAME_LN().getText()[1:].split(':', 1)
              return ShExJ.IRIREF(self._lookup_prefix(prefix + ':') + (local if local else ""))
          else:
              return self.shapeexprlabel_to_IRI(ref.shapeExprLabel())
docs: shapeRef: ATPNAME_NS | ATPNAME_LN | '@' shapeExprLabel