#NEWLINE# @ staticmethod #NEWLINE# def _handleNonLocal( node ) : #NEWLINE# #INDENT# for ( non_local_names , source_ref ) in node . getNonlocalDeclarations ( ) : #NEWLINE# #INDENT# for non_local_name in non_local_names : #NEWLINE# #INDENT# variable = node . getClosureVariable ( variable_name = non_local_name ) #NEWLINE# if variable . isModuleVariable ( ) : #NEWLINE# #INDENT# SyntaxErrors . raiseSyntaxError ( ( "no binding for nonlocal '%s' found" % non_local_name ) , source_ref = ( None if ( isFullCompat ( ) and ( python_version < 340 ) ) else source_ref ) , display_file = ( ( not isFullCompat ( ) ) or ( python_version >= 340 ) ) , display_line = ( ( not isFullCompat ( ) ) or ( python_version >= 340 ) ) ) #NEWLINE# #UNINDENT# node . registerProvidedVariable ( variable ) #NEWLINE# addVariableUsage ( variable , node )