#NEWLINE# def _makeCallNode( called , positional_args , keys , values , list_star_arg , dict_star_arg , source_ref ) : #NEWLINE# #INDENT# if ( ( list_star_arg is None ) and ( dict_star_arg is None ) ) : #NEWLINE# #INDENT# result = makeExpressionCall ( called = called , args = makeSequenceCreationOrConstant ( sequence_kind = 'tuple' , elements = positional_args , source_ref = source_ref ) , kw = makeDictCreationOrConstant ( keys = keys , values = values , source_ref = source_ref ) , source_ref = source_ref ) #NEWLINE# if values : #NEWLINE# #INDENT# result . setCompatibleSourceReference ( source_ref = values [ ( - 1 ) ] . getCompatibleSourceReference ( ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if positional_args : #NEWLINE# #INDENT# result . setCompatibleSourceReference ( source_ref = positional_args [ ( - 1 ) ] . getCompatibleSourceReference ( ) ) #NEWLINE# #UNINDENT# #UNINDENT# return result #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# key = ( ( len ( positional_args ) > 0 ) , ( len ( keys ) > 0 ) , ( list_star_arg is not None ) , ( dict_star_arg is not None ) ) #NEWLINE# table = { #NEWLINE# #INDENT# ( True , True , True , False ) : getFunctionCallHelperPosKeywordsStarList , #NEWLINE# ( True , False , True , False ) : getFunctionCallHelperPosStarList , #NEWLINE# ( False , True , True , False ) : getFunctionCallHelperKeywordsStarList , #NEWLINE# ( False , False , True , False ) : getFunctionCallHelperStarList , #NEWLINE# ( True , True , False , True ) : getFunctionCallHelperPosKeywordsStarDict , #NEWLINE# ( True , False , False , True ) : getFunctionCallHelperPosStarDict , #NEWLINE# ( False , True , False , True ) : getFunctionCallHelperKeywordsStarDict , #NEWLINE# ( False , False , False , True ) : getFunctionCallHelperStarDict , #NEWLINE# ( True , True , True , True ) : getFunctionCallHelperPosKeywordsStarListStarDict , #NEWLINE# ( True , False , True , True ) : getFunctionCallHelperPosStarListStarDict , #NEWLINE# ( False , True , True , True ) : getFunctionCallHelperKeywordsStarListStarDict , #NEWLINE# ( False , False , True , True ) : getFunctionCallHelperStarListStarDict , #NEWLINE# #UNINDENT# } #NEWLINE# get_helper = table [ key ] #NEWLINE# helper_args = [ called ] #NEWLINE# if positional_args : #NEWLINE# #INDENT# helper_args . append ( makeSequenceCreationOrConstant ( sequence_kind = 'tuple' , elements = positional_args , source_ref = source_ref ) ) #NEWLINE# #UNINDENT# if ( ( python_version >= 350 ) and ( list_star_arg is not None ) ) : #NEWLINE# #INDENT# helper_args . append ( list_star_arg ) #NEWLINE# #UNINDENT# if keys : #NEWLINE# #INDENT# helper_args . append ( makeDictCreationOrConstant ( keys = keys , values = values , source_ref = source_ref ) ) #NEWLINE# #UNINDENT# if ( ( python_version < 350 ) and ( list_star_arg is not None ) ) : #NEWLINE# #INDENT# helper_args . append ( dict_star_arg ) #NEWLINE# #UNINDENT# if ( dict_star_arg is not None ) : #NEWLINE# #INDENT# helper_args . append ( dict_star_arg ) #NEWLINE# #UNINDENT# result = ExpressionFunctionCall ( function = ExpressionFunctionCreation ( function_ref = ExpressionFunctionRef ( function_body = get_helper ( ) , source_ref = source_ref ) , code_object = None , defaults = ( ) , kw_defaults = None , annotations = None , source_ref = source_ref ) , values = helper_args , source_ref = source_ref ) #NEWLINE# result . setCompatibleSourceReference ( source_ref = helper_args [ ( - 1 ) ] . getCompatibleSourceReference ( ) ) #NEWLINE# return result