How can I get generic parameters of ref object in this example?
    
    
    import macros
    
    type A[T] = object
      x: T
    type B[T] = ref object
      x: T
    
    macro genConstructor(`type`: typed): untyped =
      let t = `type`.getType[1]
      if t.typeKind == ntyGenericBody:
        echo treeRepr(t.symbol.getImpl[1])
      elif t.typeKind == ntyRef:
        echo "Where is generic parameters???"
      result = newEmptyNode()
    
    genConstructor A
    genConstructor B
    

The output:
    
    
    GenericParams
      Sym "T"
    Where is generic parameters???
    

The desired output: 
    
    
    GenericParams
      Sym "T"
    GenericParams
      Sym "T"
    

Reply via email to