139 | /// Function Definition Table syntax:
140 | ///
141 | /// - FDT ::= FDTRow [;FDTRow]*
142 | /// - FDTRow ::= Input => Output | Output <= Input
143 | /// - Input ::= ParameterName: Value [, Input]*
144 | /// - Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}
145 | /// - Value ::= true | false | null | notnull | canbenull
146 | ///
147 | /// If method has single input parameter, it's name could be omitted.
148 | /// Using halt (or void/nothing, which is the same)
149 | /// for method output means that the methos doesn't return normally.
150 | /// canbenull annotation is only applicable for output parameters.
151 | /// You can use multiple [ContractAnnotation] for each FDT row,
152 | /// or use single attribute with rows separated by semicolon.
153 | ///
154 | ///