parameters: (self)
return_statement: return val
docstring: Absolute path. A cache is kept in the context as ``cache_node_abspath``
docstring_summary: Absolute path. A cache is kept in the context as ``cache_node_abspath``
docstring_tokens: Absolute path . A cache is kept in the context as cache_node_abspath
function: def abspath(self):
  		"""
  		Absolute path. A cache is kept in the context as ``cache_node_abspath``
  		"""
  		try:
  			return self.cache_abspath
  		except AttributeError:
  			pass
  		# think twice before touching this (performance + complexity + correctness)
  
  		if os.sep == '/':
  			if not self.parent:
  				val = os.sep
  			elif not self.parent.name:
  				val = os.sep + self.name
  			else:
  				val = self.parent.abspath() + os.sep + self.name
  		else:
  			if not self.parent:
  				val = ''
  			elif not self.parent.name:
  				val = self.name + os.sep
  			else:
  				val = self.parent.abspath().rstrip(os.sep) + os.sep + self.name
  
  		self.cache_abspath = val
  		return val
function_tokens: def abspath ( self ) : try : return self . cache_abspath except AttributeError : pass # think twice before touching this (performance + complexity + correctness) if os . sep == '/' : if not self . parent : val = os . sep elif not self . parent . name : val = os . sep + self . name else : val = self . parent . abspath ( ) + os . sep + self . name else : if not self . parent : val = '' elif not self . parent . name : val = self . name + os . sep else : val = self . parent . abspath ( ) . rstrip ( os . sep ) + os . sep + self . name self . cache_abspath = val return val