| 38 | } |
| 39 | |
| 40 | llvm::StringRef Generator::escapeAttr(llvm::StringRef s, llvm::SmallVectorImpl< char >& buffer) |
| 41 | { |
| 42 | buffer.clear(); |
| 43 | unsigned len = s.size(); |
| 44 | for (unsigned i = 0 ; i < len; ++i) { |
| 45 | char c = s[i]; |
| 46 | switch (c) { |
| 47 | default: buffer.push_back(c); break; |
| 48 | case '<': bufferAppend(buffer, "<"); break; |
| 49 | case '>': bufferAppend(buffer, ">"); break; |
| 50 | case '&': bufferAppend(buffer, "&"); break; |
| 51 | case '\"': bufferAppend(buffer, """); break; |
| 52 | case '\'': bufferAppend(buffer, "'"); break; |
| 53 | } |
| 54 | } |
| 55 | return llvm::StringRef(buffer.begin(), buffer.size()); |
| 56 | } |
| 57 | |
| 58 | void Generator::escapeAttr(llvm::raw_ostream &os, llvm::StringRef s) |
| 59 | { |
nothing calls this directly
no test coverage detected