Add a TypeVisitor class.
Add a TypeVisitor class.

Swift SVN r2392

russbishop/swift,allevato/swift,tjw/swift,emilstahl/swift,khizkhiz/swift,dduan/swift,gmilos/swift,kusl/swift,JGiola/swift,jmgc/swift,jmgc/swift,emilstahl/swift,brentdax/swift,return/swift,SwiftAndroid/swift,kusl/swift,benlangmuir/swift,tinysun212/swift-windows,jckarter/swift,LeoShimonaka/swift,nathawes/swift,mightydeveloper/swift,hooman/swift,austinzheng/swift,kusl/swift,KrishMunot/swift,lorentey/swift,mightydeveloper/swift,tkremenek/swift,sschiau/swift,OscarSwanros/swift,LeoShimonaka/swift,roambotics/swift,ken0nek/swift,hooman/swift,JaSpa/swift,sdulal/swift,glessard/swift,Ivacker/swift,kentya6/swift,slavapestov/swift,kusl/swift,bitjammer/swift,gribozavr/swift,apple/swift,xedin/swift,felix91gr/swift,glessard/swift,Jnosh/swift,tkremenek/swift,practicalswift/swift,IngmarStein/swift,tjw/swift,return/swift,JaSpa/swift,CodaFi/swift,kstaring/swift,adrfer/swift,karwa/swift,karwa/swift,calebd/swift,sdulal/swift,frootloops/swift,bitjammer/swift,natecook1000/swift,nathawes/swift,sdulal/swift,IngmarStein/swift,calebd/swift,tardieu/swift,lorentey/swift,uasys/swift,arvedviehweger/swift,sdulal/swift,therealbnut/swift,frootloops/swift,benlangmuir/swift,deyton/swift,austinzheng/swift,LeoShimonaka/swift,xwu/swift,allevato/swift,ben-ng/swift,jmgc/swift,manavgabhawala/swift,djwbrown/swift,alblue/swift,karwa/swift,aschwaighofer/swift,mightydeveloper/swift,practicalswift/swift,Jnosh/swift,gmilos/swift,johnno1962d/swift,russbishop/swift,danielmartin/swift,karwa/swift,modocache/swift,JGiola/swift,sschiau/swift,ahoppen/swift,devincoughlin/swift,kperryua/swift,tardieu/swift,gregomni/swift,tkremenek/swift,therealbnut/swift,return/swift,cbrentharris/swift,OscarSwanros/swift,xwu/swift,tardieu/swift,shahmishal/swift,IngmarStein/swift,airspeedswift/swift,OscarSwanros/swift,jtbandes/swift,uasys/swift,arvedviehweger/swift,codestergit/swift,xedin/swift,uasys/swift,jckarter/swift,return/swift,natecook1000/swift,brentdax/swift,Ivacker/swift,ben-ng/swift,swiftix/swift,apple/swift,gribozavr/swift,parkera/swift,swiftix/swift.old,huonw/swift,airspeedswift/swift,CodaFi/swift,jckarter/swift,glessard/swift,glessard/swift,gribozavr/swift,ahoppen/swift,atrick/swift,huonw/swift,frootloops/swift,cbrentharris/swift,khizkhiz/swift,shahmishal/swift,practicalswift/swift,slavapestov/swift,dreamsxin/swift,codestergit/swift,emilstahl/swift,slavapestov/swift,shajrawi/swift,SwiftAndroid/swift,kperryua/swift,huonw/swift,khizkhiz/swift,adrfer/swift,alblue/swift,glessard/swift,swiftix/swift,amraboelela/swift,amraboelela/swift,swiftix/swift,allevato/swift,LeoShimonaka/swift,swiftix/swift,codestergit/swift,tjw/swift,mightydeveloper/swift,bitjammer/swift,rudkx/swift,CodaFi/swift,MukeshKumarS/Swift,zisko/swift,danielmartin/swift,calebd/swift,parkera/swift,ahoppen/swift,stephentyrone/swift,jtbandes/swift,ahoppen/swift,milseman/swift,parkera/swift,kentya6/swift,dduan/swift,danielmartin/swift,emilstahl/swift,gottesmm/swift,zisko/swift,aschwaighofer/swift,gottesmm/swift,harlanhaskins/swift,CodaFi/swift,Ivacker/swift,devincoughlin/swift,CodaFi/swift,manavgabhawala/swift,harlanhaskins/swift,parkera/swift,apple/swift,SwiftAndroid/swift,LeoShimonaka/swift,khizkhiz/swift,natecook1000/swift,felix91gr/swift,gregomni/swift,devincoughlin/swift,lorentey/swift,tjw/swift,nathawes/swift,KrishMunot/swift,JaSpa/swift,kperryua/swift,frootloops/swift,devincoughlin/swift,swiftix/swift.old,bitjammer/swift,harlanhaskins/swift,sschiau/swift,JaSpa/swift,tinysun212/swift-windows,MukeshKumarS/Swift,slavapestov/swift,aschwaighofer/swift,deyton/swift,emilstahl/swift,dduan/swift,deyton/swift,ken0nek/swift,tinysun212/swift-windows,danielmartin/swift,hooman/swift,benlangmuir/swift,roambotics/swift,arvedviehweger/swift,emilstahl/swift,JaSpa/swift,huonw/swift,ben-ng/swift,huonw/swift,hooman/swift,shajrawi/swift,shahmishal/swift,sdulal/swift,allevato/swift,danielmartin/swift,JGiola/swift,lorentey/swift,brentdax/swift,ahoppen/swift,ben-ng/swift,codestergit/swift,ahoppen/swift,danielmartin/swift,deyton/swift,KrishMunot/swift,stephentyrone/swift,felix91gr/swift,apple/swift,brentdax/swift,OscarSwanros/swift,alblue/swift,tardieu/swift,sdulal/swift,mightydeveloper/swift,IngmarStein/swift,kusl/swift,gmilos/swift,JaSpa/swift,tinysun212/swift-windows,jtbandes/swift,IngmarStein/swift,rudkx/swift,hughbe/swift,jopamer/swift,stephentyrone/swift,hughbe/swift,JGiola/swift,sschiau/swift,Jnosh/swift,brentdax/swift,mightydeveloper/swift,slavapestov/swift,dreamsxin/swift,airspeedswift/swift,russbishop/swift,tinysun212/swift-windows,benlangmuir/swift,roambotics/swift,practicalswift/swift,lorentey/swift,jmgc/swift,lorentey/swift,rudkx/swift,uasys/swift,swiftix/swift.old,xwu/swift,austinzheng/swift,hughbe/swift,MukeshKumarS/Swift,xedin/swift,OscarSwanros/swift,calebd/swift,gmilos/swift,harlanhaskins/swift,djwbrown/swift,practicalswift/swift,emilstahl/swift,xwu/swift,benlangmuir/swift,Jnosh/swift,uasys/swift,gregomni/swift,kperryua/swift,OscarSwanros/swift,hughbe/swift,kperryua/swift,deyton/swift,arvedviehweger/swift,karwa/swift,Jnosh/swift,slavapestov/swift,IngmarStein/swift,harlanhaskins/swift,parkera/swift,jmgc/swift,benlangmuir/swift,khizkhiz/swift,calebd/swift,gmilos/swift,gregomni/swift,kentya6/swift,atrick/swift,hooman/swift,cbrentharris/swift,djwbrown/swift,harlanhaskins/swift,swiftix/swift.old,amraboelela/swift,therealbnut/swift,milseman/swift,hughbe/swift,LeoShimonaka/swift,kstaring/swift,dduan/swift,MukeshKumarS/Swift,natecook1000/swift,arvedviehweger/swift,uasys/swift,xwu/swift,stephentyrone/swift,kstaring/swift,ben-ng/swift,alblue/swift,Jnosh/swift,roambotics/swift,adrfer/swift,kperryua/swift,manavgabhawala/swift,xedin/swift,atrick/swift,djwbrown/swift,tkremenek/swift,ken0nek/swift,gmilos/swift,frootloops/swift,adrfer/swift,shahmishal/swift,gribozavr/swift,kusl/swift,parkera/swift,nathawes/swift,natecook1000/swift,kstaring/swift,aschwaighofer/swift,roambotics/swift,hughbe/swift,JGiola/swift,jtbandes/swift,ben-ng/swift,kstaring/swift,amraboelela/swift,johnno1962d/swift,djwbrown/swift,KrishMunot/swift,bitjammer/swift,kentya6/swift,xwu/swift,modocache/swift,stephentyrone/swift,tardieu/swift,alblue/swift,nathawes/swift,tjw/swift,danielmartin/swift,huonw/swift,IngmarStein/swift,airspeedswift/swift,shajrawi/swift,johnno1962d/swift,gribozavr/swift,shajrawi/swift,bitjammer/swift,johnno1962d/swift,frootloops/swift,johnno1962d/swift,swiftix/swift.old,modocache/swift,hooman/swift,tinysun212/swift-windows,parkera/swift,austinzheng/swift,karwa/swift,allevato/swift,KrishMunot/swift,jopamer/swift,allevato/swift,KrishMunot/swift,airspeedswift/swift,felix91gr/swift,KrishMunot/swift,return/swift,gottesmm/swift,adrfer/swift,ken0nek/swift,OscarSwanros/swift,kstaring/swift,MukeshKumarS/Swift,therealbnut/swift,codestergit/swift,codestergit/swift,milseman/swift,shahmishal/swift,LeoShimonaka/swift,tkremenek/swift,aschwaighofer/swift,devincoughlin/swift,shajrawi/swift,cbrentharris/swift,xedin/swift,mightydeveloper/swift,johnno1962d/swift,dduan/swift,khizkhiz/swift,milseman/swift,lorentey/swift,ken0nek/swift,adrfer/swift,adrfer/swift,return/swift,swiftix/swift,codestergit/swift,xwu/swift,LeoShimonaka/swift,gottesmm/swift,atrick/swift,sschiau/swift,gottesmm/swift,milseman/swift,shahmishal/swift,amraboelela/swift,slavapestov/swift,milseman/swift,djwbrown/swift,aschwaighofer/swift,Ivacker/swift,therealbnut/swift,harlanhaskins/swift,russbishop/swift,jtbandes/swift,austinzheng/swift,gottesmm/swift,tinysun212/swift-windows,alblue/swift,return/swift,devincoughlin/swift,alblue/swift,shahmishal/swift,mightydeveloper/swift,calebd/swift,sdulal/swift,cbrentharris/swift,SwiftAndroid/swift,kusl/swift,rudkx/swift,roambotics/swift,natecook1000/swift,zisko/swift,shajrawi/swift,felix91gr/swift,SwiftAndroid/swift,SwiftAndroid/swift,deyton/swift,kentya6/swift,brentdax/swift,jopamer/swift,modocache/swift,kentya6/swift,apple/swift,jtbandes/swift,manavgabhawala/swift,zisko/swift,aschwaighofer/swift,airspeedswift/swift,stephentyrone/swift,modocache/swift,modocache/swift,Ivacker/swift,jckarter/swift,atrick/swift,therealbnut/swift,gregomni/swift,gribozavr/swift,cbrentharris/swift,swiftix/swift,devincoughlin/swift,zisko/swift,huonw/swift,MukeshKumarS/Swift,arvedviehweger/swift,sschiau/swift,jopamer/swift,rudkx/swift,emilstahl/swift,dduan/swift,austinzheng/swift,zisko/swift,jckarter/swift,stephentyrone/swift,JGiola/swift,xedin/swift,xedin/swift,swiftix/swift.old,gribozavr/swift,brentdax/swift,swiftix/swift.old,dduan/swift,gmilos/swift,jckarter/swift,tkremenek/swift,kentya6/swift,jopamer/swift,jmgc/swift,kstaring/swift,amraboelela/swift,tjw/swift,nathawes/swift,sdulal/swift,Ivacker/swift,felix91gr/swift,khizkhiz/swift,tjw/swift,modocache/swift,ben-ng/swift,hooman/swift,Jnosh/swift,nathawes/swift,hughbe/swift,xedin/swift,devincoughlin/swift,shahmishal/swift,cbrentharris/swift,karwa/swift,natecook1000/swift,CodaFi/swift,austinzheng/swift,frootloops/swift,sschiau/swift,kperryua/swift,ken0nek/swift,karwa/swift,arvedviehweger/swift,glessard/swift,tardieu/swift,manavgabhawala/swift,kusl/swift,swiftix/swift,jmgc/swift,therealbnut/swift,JaSpa/swift,russbishop/swift,swiftix/swift.old,cbrentharris/swift,tardieu/swift,airspeedswift/swift,parkera/swift,johnno1962d/swift,kentya6/swift,bitjammer/swift,practicalswift/swift,practicalswift/swift,manavgabhawala/swift,Ivacker/swift,jopamer/swift,practicalswift/swift,lorentey/swift,gribozavr/swift,atrick/swift,djwbrown/swift,gottesmm/swift,apple/swift,SwiftAndroid/swift,jopamer/swift,felix91gr/swift,sschiau/swift,jtbandes/swift,russbishop/swift,ken0nek/swift,russbishop/swift,calebd/swift,Ivacker/swift,CodaFi/swift,uasys/swift,deyton/swift,gregomni/swift,milseman/swift,amraboelela/swift,shajrawi/swift,MukeshKumarS/Swift,zisko/swift,manavgabhawala/swift,rudkx/swift,tkremenek/swift,jckarter/swift,allevato/swift,shajrawi/swift