def getObject(self):
    attributes = []
    while True:
        name = None
        if ((self.current == '"') or (self.current == "'")):
            char = self.current
            self.index += 1
            name = self.getString(char)
        else:
            name = self.getValue()
        if (self.current == ':'):
            self.index += 1
        else:
            raise ExpressionError((('attribute ' + name) + ' without value'))
        value = self.getExpression(_break=',}')
        attribute = KeyValue(name, value)
        attributes.append(attribute)
        if (self.previous == '}'):
            break
    return Object(attributes)
def getObject(self):
    attributes = []
    while True:
        name = None
        if ((self.current == '"') or (self.current == "'")):
            char = self.current
            self.index += 1
            name = self.getString(char)
        else:
            name = self.getValue()
        if (self.current == ':'):
            self.index += 1
        else:
            raise ExpressionError((('attribute ' + name) + ' without value'))
        value = self.getExpression(_break=',}')
        attribute = KeyValue(name, value)
        attributes.append(attribute)
        if (self.previous == '}'):
            break
    return Object(attributes)