|
| 1 | +# Model of the BDE balxml XML codec (BloombergLP::balxml). |
| 2 | +# Decoding moves taint from the byte stream into the decoded object; encoding moves it from |
| 3 | +# the object into the byte stream. Unlike balber and baljsn, the overloads here differ in |
| 4 | +# argument layout, so every row names its overload. The istream/ostream overloads of |
| 5 | +# decode/decodeAny/encode/encodeAny return the stream they were given, which is modelled |
| 6 | +# with ReturnValue[*] rows. |
| 7 | +# |
| 8 | +# Not modelled: decode(const char *filename, TYPE *) (its input is a path, not data); |
| 9 | +# the two-step open(...) followed by decode(TYPE *) / decodeAny(TYPE *) form, which would |
| 10 | +# require stashing taint on the decoder; and the encode/encodeAny(Formatter &, ...) overloads. |
| 11 | +extensions: |
| 12 | + - addsTo: |
| 13 | + pack: codeql/cpp-all |
| 14 | + extensible: summaryModel |
| 15 | + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance |
| 16 | + # Decoder: stream -> object |
| 17 | + - ["BloombergLP::balxml", "Decoder", true, "decode<TYPE>", "(istream &,TYPE *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 18 | + - ["BloombergLP::balxml", "Decoder", true, "decode<TYPE>", "(istream &,TYPE *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] |
| 19 | + - ["BloombergLP::balxml", "Decoder", true, "decode<TYPE>", "(streambuf *,TYPE *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 20 | + - ["BloombergLP::balxml", "Decoder", true, "decode<TYPE>", "(const char *,size_t,TYPE *,const char *)", "", "Argument[*0]", "Argument[*2]", "taint", "manual"] |
| 21 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny<TYPE>", "(istream &,TYPE *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 22 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny<TYPE>", "(istream &,TYPE *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] |
| 23 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny<TYPE>", "(streambuf *,TYPE *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 24 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny", "(istream &,AnyRef *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 25 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny", "(istream &,AnyRef *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "manual"] |
| 26 | + - ["BloombergLP::balxml", "Decoder", true, "decodeAny", "(streambuf *,AnyRef *,const char *)", "", "Argument[*0]", "Argument[*1]", "taint", "manual"] |
| 27 | + # Encoder: object -> stream |
| 28 | + - ["BloombergLP::balxml", "Encoder", true, "encode<TYPE>", "(streambuf *,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 29 | + - ["BloombergLP::balxml", "Encoder", true, "encode<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 30 | + - ["BloombergLP::balxml", "Encoder", true, "encode<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*0..1]", "ReturnValue[*]", "taint", "manual"] |
| 31 | + - ["BloombergLP::balxml", "Encoder", true, "encodeToStream<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 32 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny<TYPE>", "(streambuf *,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 33 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 34 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*0..1]", "ReturnValue[*]", "taint", "manual"] |
| 35 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAnyToStream<TYPE>", "(ostream &,const TYPE &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 36 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny", "(streambuf *,const AnyConstRef &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 37 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny", "(ostream &,const AnyConstRef &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
| 38 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAny", "(ostream &,const AnyConstRef &)", "", "Argument[*0..1]", "ReturnValue[*]", "taint", "manual"] |
| 39 | + - ["BloombergLP::balxml", "Encoder", true, "encodeAnyToStream", "(ostream &,const AnyConstRef &)", "", "Argument[*1]", "Argument[*0]", "taint", "manual"] |
0 commit comments