| 13398 | return s === null ? (this.ea && W("null is not a valid " + this.name), 0) : (s.M || W('Cannot pass "' + ZA(s) + '" as a ' + this.name), s.M.O || W("Cannot pass deleted object as a pointer of type " + this.name), cA(s.M.O, s.M.P.N, this.N)); |
| 13399 | } |
| 13400 | function Ee(f, s) { |
| 13401 | if (s === null) { |
| 13402 | if (this.ea && W("null is not a valid " + this.name), this.da) { |
| 13403 | var g2 = this.fa(); |
| 13404 | return f !== null && f.push(this.W, g2), g2; |
| 13405 | } |
| 13406 | return 0; |
| 13407 | } |
| 13408 | if (s.M || W('Cannot pass "' + ZA(s) + '" as a ' + this.name), s.M.O || W("Cannot pass deleted object as a pointer of type " + this.name), !this.ca && s.M.P.ca && W("Cannot convert argument of type " + (s.M.U ? s.M.U.name : s.M.P.name) + " to parameter type " + this.name), g2 = cA(s.M.O, s.M.P.N, this.N), this.da) |
| 13409 | switch (s.M.T === void 0 && W("Passing raw pointer to smart pointer is illegal"), this.Ba) { |
| 13410 | case 0: |
| 13411 | s.M.U === this ? g2 = s.M.T : W("Cannot convert argument of type " + (s.M.U ? s.M.U.name : s.M.P.name) + " to parameter type " + this.name); |
| 13412 | break; |
| 13413 | case 1: |
| 13414 | g2 = s.M.T; |
| 13415 | break; |
| 13416 | case 2: |
| 13417 | if (s.M.U === this) |
| 13418 | g2 = s.M.T; |
| 13419 | else { |
| 13420 | var c2 = s.clone(); |
| 13421 | g2 = this.xa(g2, OA(function() { |
| 13422 | c2.delete(); |
| 13423 | })), f !== null && f.push(this.W, g2); |
| 13424 | } |
| 13425 | break; |
| 13426 | default: |
| 13427 | W("Unsupporting sharing policy"); |
| 13428 | } |
| 13429 | return g2; |
| 13430 | } |
| 13431 | function eA(f, s) { |
| 13432 | return s === null ? (this.ea && W("null is not a valid " + this.name), 0) : (s.M || W('Cannot pass "' + ZA(s) + '" as a ' + this.name), s.M.O || W("Cannot pass deleted object as a pointer of type " + this.name), s.M.P.ca && W("Cannot convert argument of type " + s.M.P.name + " to parameter type " + this.name), cA(s.M.O, s.M.P.N, this.N)); |
| 13433 | } |