Consider this case: MOZ_CAN_RUN_SCRIPT void foo(Arg& arg) {} MOZ_CAN_RUN_SCRIPT void bar(Arg* arg) { foo(*arg); } ideally this would pass the analysis. Right now it doesn't, and my attempt to fix the analysis to allow it doesn't seem to work: the unaryDereferenceOperator() does match, but the hasUnaryOperand(declRefExpr()) bit does not (even if I take out the to(...) bits).
Bug 1534421 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Consider this case: ``` MOZ_CAN_RUN_SCRIPT void foo(Arg& arg) {} MOZ_CAN_RUN_SCRIPT void bar(Arg* arg) { foo(*arg); } ``` ideally this would pass the analysis. Right now it doesn't, and my attempt to fix the analysis to allow it doesn't seem to work: the unaryDereferenceOperator() does match, but the hasUnaryOperand(declRefExpr()) bit does not (even if I take out the to(...) bits).