#NEWLINE# def AnnotateProperty( self , unused_api , prop , schema ) : #NEWLINE# #INDENT# 'Annotate properties with a PHP type hint.\n\n    Overrides default implementation.\n\n    Args:\n      unused_api: (Api) The API this Property belongs to.\n      prop: (Property) The Property to annotate.\n      schema: (Schema) The Schema this Property belongs to.\n    ' #NEWLINE# if isinstance ( unused_api . data_type , data_types . ArrayDataType ) : #NEWLINE# #INDENT# prop . SetTemplateValue ( 'dataType' , 'array' ) #NEWLINE# schema . SetTemplateValue ( 'dataType' , 'array' ) #NEWLINE# collection = self . language_model . ToMemberName ( prop [ 'wireName' ] , 0 ) #NEWLINE# schema . SetTemplateValue ( 'collectionKey' , collection ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( not schema . GetTemplateValue ( 'dataType' ) ) : #NEWLINE# #INDENT# schema . SetTemplateValue ( 'dataType' , 'object' ) #NEWLINE# #UNINDENT# #UNINDENT# if isinstance ( prop . data_type , data_types . MapDataType ) : #NEWLINE# #INDENT# prop . SetTemplateValue ( 'dataType' , 'map' ) #NEWLINE# #UNINDENT# self . _SetTypeHint ( prop )