# File lib/mail/parsers/content_disposition.rb, line 281 281: def _nt_attribute 282: start_index = index 283: if node_cache[:attribute].has_key?(index) 284: cached = node_cache[:attribute][index] 285: if cached 286: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 287: @index = cached.interval.end 288: end 289: return cached 290: end 291: 292: s0, i0 = [], index 293: loop do 294: r1 = _nt_token 295: if r1 296: s0 << r1 297: else 298: break 299: end 300: end 301: if s0.empty? 302: @index = i0 303: r0 = nil 304: else 305: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 306: end 307: 308: node_cache[:attribute][start_index] = r0 309: 310: r0 311: end
# File lib/mail/parsers/content_disposition.rb, line 48 48: def _nt_content_disposition 49: start_index = index 50: if node_cache[:content_disposition].has_key?(index) 51: cached = node_cache[:content_disposition][index] 52: if cached 53: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 54: @index = cached.interval.end 55: end 56: return cached 57: end 58: 59: i0, s0 = index, [] 60: r1 = _nt_disposition_type 61: s0 << r1 62: if r1 63: s2, i2 = [], index 64: loop do 65: i3, s3 = index, [] 66: r4 = _nt_CFWS 67: s3 << r4 68: if r4 69: if has_terminal?(";", false, index) 70: r5 = instantiate_node(SyntaxNode,input, index...(index + 1)) 71: @index += 1 72: else 73: terminal_parse_failure(";") 74: r5 = nil 75: end 76: s3 << r5 77: if r5 78: r6 = _nt_parameter 79: s3 << r6 80: if r6 81: r7 = _nt_CFWS 82: s3 << r7 83: end 84: end 85: end 86: if s3.last 87: r3 = instantiate_node(SyntaxNode,input, i3...index, s3) 88: r3.extend(ContentDisposition0) 89: else 90: @index = i3 91: r3 = nil 92: end 93: if r3 94: s2 << r3 95: else 96: break 97: end 98: end 99: r2 = instantiate_node(SyntaxNode,input, i2...index, s2) 100: s0 << r2 101: end 102: if s0.last 103: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 104: r0.extend(ContentDisposition1) 105: r0.extend(ContentDisposition2) 106: else 107: @index = i0 108: r0 = nil 109: end 110: 111: node_cache[:content_disposition][start_index] = r0 112: 113: r0 114: end
# File lib/mail/parsers/content_disposition.rb, line 116 116: def _nt_disposition_type 117: start_index = index 118: if node_cache[:disposition_type].has_key?(index) 119: cached = node_cache[:disposition_type][index] 120: if cached 121: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 122: @index = cached.interval.end 123: end 124: return cached 125: end 126: 127: i0 = index 128: if has_terminal?("inline", false, index) 129: r1 = instantiate_node(SyntaxNode,input, index...(index + 6)) 130: @index += 6 131: else 132: terminal_parse_failure("inline") 133: r1 = nil 134: end 135: if r1 136: r0 = r1 137: else 138: if has_terminal?("attachment", false, index) 139: r2 = instantiate_node(SyntaxNode,input, index...(index + 10)) 140: @index += 10 141: else 142: terminal_parse_failure("attachment") 143: r2 = nil 144: end 145: if r2 146: r0 = r2 147: else 148: r3 = _nt_extension_token 149: if r3 150: r0 = r3 151: else 152: if has_terminal?('', false, index) 153: r4 = instantiate_node(SyntaxNode,input, index...(index + 0)) 154: @index += 0 155: else 156: terminal_parse_failure('') 157: r4 = nil 158: end 159: if r4 160: r0 = r4 161: else 162: @index = i0 163: r0 = nil 164: end 165: end 166: end 167: end 168: 169: node_cache[:disposition_type][start_index] = r0 170: 171: r0 172: end
# File lib/mail/parsers/content_disposition.rb, line 174 174: def _nt_extension_token 175: start_index = index 176: if node_cache[:extension_token].has_key?(index) 177: cached = node_cache[:extension_token][index] 178: if cached 179: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 180: @index = cached.interval.end 181: end 182: return cached 183: end 184: 185: i0 = index 186: r1 = _nt_ietf_token 187: if r1 188: r0 = r1 189: else 190: r2 = _nt_custom_x_token 191: if r2 192: r0 = r2 193: else 194: @index = i0 195: r0 = nil 196: end 197: end 198: 199: node_cache[:extension_token][start_index] = r0 200: 201: r0 202: end
# File lib/mail/parsers/content_disposition.rb, line 221 221: def _nt_parameter 222: start_index = index 223: if node_cache[:parameter].has_key?(index) 224: cached = node_cache[:parameter][index] 225: if cached 226: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 227: @index = cached.interval.end 228: end 229: return cached 230: end 231: 232: i0, s0 = index, [] 233: r2 = _nt_CFWS 234: if r2 235: r1 = r2 236: else 237: r1 = instantiate_node(SyntaxNode,input, index...index) 238: end 239: s0 << r1 240: if r1 241: r3 = _nt_attribute 242: s0 << r3 243: if r3 244: if has_terminal?("=", false, index) 245: r4 = instantiate_node(SyntaxNode,input, index...(index + 1)) 246: @index += 1 247: else 248: terminal_parse_failure("=") 249: r4 = nil 250: end 251: s0 << r4 252: if r4 253: r5 = _nt_value 254: s0 << r5 255: if r5 256: r7 = _nt_CFWS 257: if r7 258: r6 = r7 259: else 260: r6 = instantiate_node(SyntaxNode,input, index...index) 261: end 262: s0 << r6 263: end 264: end 265: end 266: end 267: if s0.last 268: r0 = instantiate_node(SyntaxNode,input, i0...index, s0) 269: r0.extend(Parameter0) 270: r0.extend(Parameter1) 271: else 272: @index = i0 273: r0 = nil 274: end 275: 276: node_cache[:parameter][start_index] = r0 277: 278: r0 279: end
# File lib/mail/parsers/content_disposition.rb, line 319 319: def _nt_value 320: start_index = index 321: if node_cache[:value].has_key?(index) 322: cached = node_cache[:value][index] 323: if cached 324: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true 325: @index = cached.interval.end 326: end 327: return cached 328: end 329: 330: i0 = index 331: r1 = _nt_quoted_string 332: r1.extend(Value0) 333: if r1 334: r0 = r1 335: else 336: s2, i2 = [], index 337: loop do 338: i3 = index 339: r4 = _nt_token 340: if r4 341: r3 = r4 342: else 343: if has_terminal?('\G[\x3d]', true, index) 344: r5 = true 345: @index += 1 346: else 347: r5 = nil 348: end 349: if r5 350: r3 = r5 351: else 352: @index = i3 353: r3 = nil 354: end 355: end 356: if r3 357: s2 << r3 358: else 359: break 360: end 361: end 362: if s2.empty? 363: @index = i2 364: r2 = nil 365: else 366: r2 = instantiate_node(SyntaxNode,input, i2...index, s2) 367: end 368: if r2 369: r0 = r2 370: else 371: @index = i0 372: r0 = nil 373: end 374: end 375: 376: node_cache[:value][start_index] = r0 377: 378: r0 379: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.