def arrayvar(self, space, w_type, w_value, size=0): # determine the type of variable varType = interp_variable.typeByPythonType(space, self, w_type) if varType.isVariableLength and size == 0: size = varType.size # determine the number of elements to create if space.is_true(space.isinstance(w_value, space.w_list)): numElements = space.len_w(w_value) elif space.is_true(space.isinstance(w_value, space.w_int)): numElements = space.int_w(w_value) else: raise OperationError( get(space).w_NotSupportedError, space.wrap("expecting integer or list of values")) # create the variable var = varType(self, numElements, size) var.makeArray(space) # set the value, if applicable if space.is_true(space.isinstance(w_value, space.w_list)): var.setArrayValue(space, w_value) return var
def arrayvar(self, space, w_type, w_value, size=0): # determine the type of variable varType = interp_variable.typeByPythonType(space, self, w_type) if varType.isVariableLength and size == 0: size = varType.size # determine the number of elements to create if space.isinstance_w(w_value, space.w_list): numElements = space.len_w(w_value) elif space.isinstance_w(w_value, space.w_int): numElements = space.int_w(w_value) else: raise OperationError( get(space).w_NotSupportedError, space.wrap("expecting integer or list of values")) # create the variable var = varType(self, numElements, size) var.makeArray(space) # set the value, if applicable if space.isinstance_w(w_value, space.w_list): var.setArrayValue(space, w_value) return var
def var(self, space, w_type, size=0, w_arraysize=None, w_inconverter=None, w_outconverter=None): if space.is_none(w_arraysize): arraySize = self.bindArraySize else: arraySize = space.int_w(w_arraysize) # determine the type of variable varType = interp_variable.typeByPythonType(space, self, w_type) if varType.isVariableLength and size == 0: size = varType.size # create the variable var = varType(self, arraySize, size) var.w_inconverter = w_inconverter var.w_outconverter = w_outconverter return space.wrap(var)
def var(self, space, w_type, size=0, w_arraysize=None, w_inconverter=None, w_outconverter=None): if space.is_w(w_arraysize, space.w_None): arraySize = self.bindArraySize else: arraySize = space.int_w(w_arraysize) # determine the type of variable varType = interp_variable.typeByPythonType(space, self, w_type) if varType.isVariableLength and size == 0: size = varType.size # create the variable var = varType(self, arraySize, size) var.w_inconverter = w_inconverter var.w_outconverter = w_outconverter return space.wrap(var)