Lines Matching defs:arm
273 def __init__(self, type, arm, armvalue, value):
275 if arm == None:
276 raise Exception("%s: no arm for discriminant: %s" %
279 if value == None and arm != None and not arm._nullable and \
280 arm._type._type != _Type.VOID:
282 raise Exception("%s: arm required for discriminant: %s" %
286 self._arm = arm
304 for arm in self._type._arms:
305 if arm._value == armvalue:
306 return _RadUnion(self._type, arm, armvalue, value)
403 """ A RAD Union arm. """
507 raise Exception("Bad union arm index from server")
510 arm = self._arms[index - 1]
511 armvalue = arm._value;
513 arm = self._default
518 if arm == None:
519 raise Exception("Bad default arm reference from server")
521 data = arm._type.read(unpacker, arm._nullable)
522 return _RadUnion(self, arm, armvalue, data)