Merge pull request #11 from galaxie/ft/CAPI-12

ft/CAPI-12 Add various kludges to make Go codegenerator work
This commit is contained in:
Artem Ocheredko 2016-05-24 17:32:03 +03:00
commit ea227de33e
2 changed files with 13 additions and 4 deletions

View File

@ -48,7 +48,8 @@ struct Error {
/** Общее исключение */
exception Failure {
/** Ошибка, которая привела к возникновению исключения */
1: required Error error;
//Нельзя назвать поле `error` из-за особенностей генерации thrift Go - приводит к одинаковым именам для функции и поля структуры
1: required Error e;
}
/** Исключение, сигнализирующее об отсутствии объекта или процесса */

View File

@ -10,7 +10,13 @@ typedef i32 ObjectID
/* Common */
typedef base.Error OperationError
// В идеале надо использовать `typedef` над `base.Error`, но сейчас это приводит к ошибкам кодогенератора Go
struct OperationError {
/** Уникальный признак ошибки, пригодный для обработки машиной */
1: required string code;
/** Описание ошибки, пригодное для восприятия человеком */
2: optional string description;
}
/** Сумма в минимальных денежных единицах. */
typedef i64 Amount
@ -86,6 +92,10 @@ struct CashDistribution {
3: required list<CashFlow> flows
}
/** Участник распределения денежных потоков. */
// Порядок следования `typedef`-`struct` важен для кодогенератора Go
typedef string CashFlowNode // FIXME: too broad
/** Денежный поток между двумя участниками. */
struct CashFlow {
1: required CashFlowNode source
@ -93,8 +103,6 @@ struct CashFlow {
3: required CashVolume volume
}
/** Участник распределения денежных потоков. */
typedef string CashFlowNode // FIXME: too broad
/** Объём денежного потока. */
union CashVolume {