private boolean shouldEmitTypedefByName(JSType realType){
  return realType.isRecordType() || realType.isTemplatizedType() || realType.isFunctionType();
}

private boolean shouldEmitTypedefByName ( JSType realType ) { return realType . isRecordType ( ) || realType . isTemplatizedType ( ) || realType . isFunctionType ( ) ; }
whether the typedef should be emitted by name or by the type it is defining . because , we do not access the original type signature , the replacement is done for all references of the type ( through the typedef or direct ) . thus it is undesirable to always emit by name . for example :
