HATEBIN
>
import std/[macros, genasts] type Test_Type = object of RootObj Name_HIDDEN: string macro Name_Macro*(vType: untyped): untyped = genast(vType): proc Name*(self: var vType): string = return self.Name_HIDDEN proc `Name=`*(self: var vType, vIndex: string) = self.Name_HIDDEN = vIndex Name_Macro(Test_Type) var tTest: Test_Type tTest.Name = "Hello" echo tTest.Name