[ast-verifier] Verify that inout_to_pointer and array_to_pointer are (almost) immediate children of an ApplyExpr argument.
[ast-verifier] Verify that inout_to_pointer and array_to_pointer are (almost) immediate children of an ApplyExpr argument.

Specifically we only allow it as an argument to a TupleExpr and a ParenExpr and
can have the following forms:

  (inject_into_optional (*_to_pointer ...))

or

  (*_to_pointer ...)

This will allow for inout_to_pointer and array_to_pointer to be pattern matched
robustly and then special cased in SILGenApply.

The reason why these expressions need to be special cased is that they can
perform inout_expr accesses while going through code paths in SILGenApply where
it is expected that inout accesses do not occur.

rdar://29870610

huonw/swift,xwu/swift,amraboelela/swift,frootloops/swift,OscarSwanros/swift,zisko/swift,shajrawi/swift,aschwaighofer/swift,amraboelela/swift,milseman/swift,stephentyrone/swift,jmgc/swift,karwa/swift,swiftix/swift,JGiola/swift,shajrawi/swift,return/swift,tkremenek/swift,jckarter/swift,apple/swift,allevato/swift,natecook1000/swift,alblue/swift,xedin/swift,JGiola/swift,OscarSwanros/swift,karwa/swift,jopamer/swift,Jnosh/swift,OscarSwanros/swift,jckarter/swift,karwa/swift,felix91gr/swift,swiftix/swift,alblue/swift,return/swift,CodaFi/swift,shajrawi/swift,brentdax/swift,djwbrown/swift,OscarSwanros/swift,jtbandes/swift,parkera/swift,shahmishal/swift,apple/swift,aschwaighofer/swift,gribozavr/swift,gribozavr/swift,natecook1000/swift,airspeedswift/swift,natecook1000/swift,natecook1000/swift,felix91gr/swift,practicalswift/swift,harlanhaskins/swift,airspeedswift/swift,brentdax/swift,harlanhaskins/swift,benlangmuir/swift,tjw/swift,uasys/swift,xedin/swift,devincoughlin/swift,shahmishal/swift,karwa/swift,JGiola/swift,uasys/swift,CodaFi/swift,tjw/swift,devincoughlin/swift,zisko/swift,zisko/swift,return/swift,gribozavr/swift,austinzheng/swift,benlangmuir/swift,lorentey/swift,djwbrown/swift,shahmishal/swift,hooman/swift,gribozavr/swift,djwbrown/swift,glessard/swift,arvedviehweger/swift,lorentey/swift,xwu/swift,tkremenek/swift,stephentyrone/swift,uasys/swift,return/swift,practicalswift/swift,tkremenek/swift,tkremenek/swift,xedin/swift,felix91gr/swift,arvedviehweger/swift,practicalswift/swift,parkera/swift,uasys/swift,glessard/swift,atrick/swift,harlanhaskins/swift,amraboelela/swift,arvedviehweger/swift,frootloops/swift,practicalswift/swift,xwu/swift,milseman/swift,gregomni/swift,karwa/swift,jckarter/swift,hooman/swift,apple/swift,nathawes/swift,jtbandes/swift,uasys/swift,xedin/swift,calebd/swift,parkera/swift,ahoppen/swift,arvedviehweger/swift,xedin/swift,apple/swift,calebd/swift,glessard/swift,atrick/swift,OscarSwanros/swift,aschwaighofer/swift,calebd/swift,tjw/swift,allevato/swift,hughbe/swift,sschiau/swift,roambotics/swift,roambotics/swift,gregomni/swift,felix91gr/swift,rudkx/swift,atrick/swift,lorentey/swift,harlanhaskins/swift,tkremenek/swift,return/swift,hughbe/swift,danielmartin/swift,allevato/swift,jmgc/swift,frootloops/swift,natecook1000/swift,huonw/swift,xwu/swift,tkremenek/swift,gregomni/swift,deyton/swift,parkera/swift,aschwaighofer/swift,jopamer/swift,stephentyrone/swift,xedin/swift,brentdax/swift,hooman/swift,CodaFi/swift,alblue/swift,alblue/swift,jopamer/swift,airspeedswift/swift,jtbandes/swift,brentdax/swift,swiftix/swift,parkera/swift,practicalswift/swift,shahmishal/swift,amraboelela/swift,rudkx/swift,danielmartin/swift,calebd/swift,swiftix/swift,hughbe/swift,jckarter/swift,brentdax/swift,rudkx/swift,nathawes/swift,nathawes/swift,lorentey/swift,jmgc/swift,atrick/swift,harlanhaskins/swift,deyton/swift,sschiau/swift,jckarter/swift,calebd/swift,nathawes/swift,milseman/swift,huonw/swift,arvedviehweger/swift,lorentey/swift,xwu/swift,glessard/swift,deyton/swift,Jnosh/swift,amraboelela/swift,parkera/swift,danielmartin/swift,zisko/swift,huonw/swift,shahmishal/swift,frootloops/swift,roambotics/swift,deyton/swift,deyton/swift,danielmartin/swift,ahoppen/swift,huonw/swift,austinzheng/swift,ahoppen/swift,calebd/swift,brentdax/swift,jopamer/swift,karwa/swift,apple/swift,austinzheng/swift,felix91gr/swift,airspeedswift/swift,xedin/swift,hooman/swift,nathawes/swift,shahmishal/swift,devincoughlin/swift,gribozavr/swift,parkera/swift,frootloops/swift,devincoughlin/swift,roambotics/swift,practicalswift/swift,frootloops/swift,tkremenek/swift,jckarter/swift,practicalswift/swift,austinzheng/swift,harlanhaskins/swift,rudkx/swift,hughbe/swift,xedin/swift,nathawes/swift,felix91gr/swift,frootloops/swift,Jnosh/swift,Jnosh/swift,danielmartin/swift,harlanhaskins/swift,karwa/swift,benlangmuir/swift,stephentyrone/swift,jmgc/swift,aschwaighofer/swift,apple/swift,Jnosh/swift,alblue/swift,jtbandes/swift,huonw/swift,sschiau/swift,JGiola/swift,jopamer/swift,uasys/swift,tjw/swift,Jnosh/swift,allevato/swift,shajrawi/swift,arvedviehweger/swift,swiftix/swift,zisko/swift,devincoughlin/swift,milseman/swift,CodaFi/swift,huonw/swift,gribozavr/swift,amraboelela/swift,hughbe/swift,gregomni/swift,JGiola/swift,roambotics/swift,austinzheng/swift,arvedviehweger/swift,natecook1000/swift,OscarSwanros/swift,djwbrown/swift,brentdax/swift,karwa/swift,djwbrown/swift,airspeedswift/swift,aschwaighofer/swift,djwbrown/swift,stephentyrone/swift,jopamer/swift,devincoughlin/swift,CodaFi/swift,allevato/swift,hooman/swift,allevato/swift,sschiau/swift,lorentey/swift,ahoppen/swift,Jnosh/swift,practicalswift/swift,shajrawi/swift,gribozavr/swift,benlangmuir/swift,sschiau/swift,jmgc/swift,ahoppen/swift,stephentyrone/swift,airspeedswift/swift,tjw/swift,felix91gr/swift,OscarSwanros/swift,tjw/swift,milseman/swift,jckarter/swift,jmgc/swift,gribozavr/swift,gregomni/swift,deyton/swift,rudkx/swift,hooman/swift,sschiau/swift,alblue/swift,hughbe/swift,return/swift,lorentey/swift,ahoppen/swift,milseman/swift,shajrawi/swift,nathawes/swift,gregomni/swift,amraboelela/swift,glessard/swift,hughbe/swift,shahmishal/swift,hooman/swift,allevato/swift,devincoughlin/swift,airspeedswift/swift,jopamer/swift,JGiola/swift,swiftix/swift,CodaFi/swift,calebd/swift,lorentey/swift,jmgc/swift,shahmishal/swift,sschiau/swift,roambotics/swift,return/swift,shajrawi/swift,deyton/swift,shajrawi/swift,swiftix/swift,natecook1000/swift,tjw/swift,stephentyrone/swift,jtbandes/swift,atrick/swift,xwu/swift,uasys/swift,parkera/swift,jtbandes/swift,danielmartin/swift,milseman/swift,benlangmuir/swift,aschwaighofer/swift,djwbrown/swift,glessard/swift,xwu/swift,zisko/swift,zisko/swift,rudkx/swift,CodaFi/swift,jtbandes/swift,alblue/swift,austinzheng/swift,danielmartin/swift,devincoughlin/swift,atrick/swift,benlangmuir/swift,sschiau/swift,austinzheng/swift