{{#def.interface}}
{{#def.members}}

{{~ getNonStaticPropertyMembers(it) :p:i }}
{{? isInterface(p.idlType, it.refTypeMap) || (p.idlType.idlType === 'ArrayBuffer')}}
  if ({{=p.name}}_)
    {{=p.name}}_->Reset(); // Explicitly reset persistent reference, dtor won't always do Reset()
  {{=p.name}}_.reset(); // Destroy persistent object
{{?}}
{{~}}
