176 | /// Function Definition Table syntax:
177 | ///
178 | /// - FDT ::= FDTRow [;FDTRow]*
179 | /// - FDTRow ::= Input => Output | Output <= Input
180 | /// - Input ::= ParameterName: Value [, Input]*
181 | /// - Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}
182 | /// - Value ::= true | false | null | notnull | canbenull
183 | ///
184 | /// If method has single input parameter, it's name could be omitted.
185 | /// Using halt (or void/nothing, which is the same)
186 | /// for method output means that the methos doesn't return normally.
187 | /// canbenull annotation is only applicable for output parameters.
188 | /// You can use multiple [ContractAnnotation] for each FDT row,
189 | /// or use single attribute with rows separated by semicolon.
190 | ///
191 | ///