https://github.com/mozilla/gecko-dev
- HEAD
- refs/heads/FIREFOX_ESR_115_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_2_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_3_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_9_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_10_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_1_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_2_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_8_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_10_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_3_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_7_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_5_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_7_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_9_X_RELBRANCH
- refs/heads/GECKO1001_2012020805_RELBRANCH
- refs/heads/GECKO1002_2012021522_RELBRANCH
- refs/heads/GECKO100_2011122113_RELBRANCH
- refs/heads/GECKO100_2011122805_RELBRANCH
- refs/heads/GECKO100_2012010318_RELBRANCH
- refs/heads/GECKO100_2012010410_RELBRANCH
- refs/heads/GECKO100_2012011108_RELBRANCH
- refs/heads/GECKO100_2012011807_RELBRANCH
- refs/heads/GECKO100_2012012323_RELBRANCH
- refs/heads/GECKO100_2012012901_RELBRANCH
- refs/heads/GECKO110_2012020115_RELBRANCH
- refs/heads/GECKO110_2012020801_RELBRANCH
- refs/heads/GECKO110_2012021420_RELBRANCH
- refs/heads/GECKO110_2012021522_RELBRANCH
- refs/heads/GECKO110_2012022207_RELBRANCH
- refs/heads/GECKO110_2012022820_RELBRANCH
- refs/heads/GECKO110_2012030517_RELBRANCH
- refs/heads/GECKO110_2012030815_RELBRANCH
- refs/heads/GECKO110_2012030912_RELBRANCH
- refs/heads/GECKO110_2012031017_RELBRANCH
- refs/heads/GECKO110_2012031218_RELBRANCH
- refs/heads/GECKO120_2012031407_RELBRANCH
- refs/heads/GECKO120_2012031419_RELBRANCH
- refs/heads/GECKO120_2012032021_RELBRANCH
- refs/heads/GECKO120_2012032804_RELBRANCH
- refs/heads/GECKO120_2012040320_RELBRANCH
- refs/heads/GECKO120_2012041106_RELBRANCH
- refs/heads/GECKO120_2012041716_RELBRANCH
- refs/heads/GECKO120_2012042014_RELBRANCH
- refs/heads/GECKO1301_2012061411_RELBRANCH
- refs/heads/GECKO1302_2012062310_RELBRANCH
- refs/heads/GECKO130_2012042512_RELBRANCH
- refs/heads/GECKO130_2012050119_RELBRANCH
- refs/heads/GECKO130_2012050817_RELBRANCH
- refs/heads/GECKO130_2012051611_RELBRANCH
- refs/heads/GECKO130_2012052216_RELBRANCH
- refs/heads/GECKO130_2012052311_RELBRANCH
- refs/heads/GECKO130_2012052815_RELBRANCH
- refs/heads/GECKO130_2012053115_RELBRANCH
- refs/heads/GECKO130_2012060104_RELBRANCH
- refs/heads/GECKO1401_2012071313_RELBRANCH
- refs/heads/GECKO140_2012060421_RELBRANCH
- refs/heads/GECKO140_2012060511_RELBRANCH
- refs/heads/GECKO140_2012061213_RELBRANCH
- refs/heads/GECKO140_2012061216_RELBRANCH
- refs/heads/GECKO140_2012061918_RELBRANCH
- refs/heads/GECKO140_2012061920_RELBRANCH
- refs/heads/GECKO140_2012062401_RELBRANCH
- refs/heads/GECKO140_2012062805_RELBRANCH
- refs/heads/GECKO140_2012070408_RELBRANCH
- refs/heads/GECKO140_2012070409_RELBRANCH
- refs/heads/GECKO140_2012071012_RELBRANCH
- refs/heads/GECKO140_2012071119_RELBRANCH
- refs/heads/GECKO140_2012071314_RELBRANCH
- refs/heads/GECKO150_2012071710_RELBRANCH
- refs/heads/GECKO150_2012071711_RELBRANCH
- refs/heads/GECKO150_2012072419_RELBRANCH
- refs/heads/GECKO150_2012073114_RELBRANCH
- refs/heads/GECKO150_2012073115_RELBRANCH
- refs/heads/GECKO150_2012080812_RELBRANCH
- refs/heads/GECKO150_2012080818_RELBRANCH
- refs/heads/GECKO150_2012081422_RELBRANCH
- refs/heads/GECKO150_2012081508_RELBRANCH
- refs/heads/GECKO150_2012082116_RELBRANCH
- refs/heads/GECKO150_2012082118_RELBRANCH
- refs/heads/GECKO150_2012082415_RELBRANCH
- refs/heads/GECKO150_2012082417_RELBRANCH
- refs/heads/GECKO1601_2012101014_RELBRANCH
- refs/heads/GECKO1602_2012102407_RELBRANCH
- refs/heads/GECKO160_2012082808_RELBRANCH
- refs/heads/GECKO160_2012082817_RELBRANCH
- refs/heads/GECKO160_2012090412_RELBRANCH
- refs/heads/GECKO160_2012090515_RELBRANCH
- refs/heads/GECKO160_2012091123_RELBRANCH
- refs/heads/GECKO160_2012091906_RELBRANCH
- refs/heads/GECKO160_2012092515_RELBRANCH
- refs/heads/GECKO160_2012092520_RELBRANCH
- refs/heads/GECKO160_2012100207_RELBRANCH
- refs/heads/GECKO160_2012100209_RELBRANCH
- refs/heads/GECKO160_2012100513_RELBRANCH
- refs/heads/GECKO160_2012100515_RELBRANCH
- refs/heads/GECKO1701_2013010313_RELBRANCH
- refs/heads/GECKO170_2012100914_RELBRANCH
- refs/heads/GECKO170_2012101014_RELBRANCH
- refs/heads/GECKO170_2012101016_RELBRANCH
- refs/heads/GECKO170_2012101707_RELBRANCH
- refs/heads/GECKO170_2012102312_RELBRANCH
- refs/heads/GECKO170_2012103012_RELBRANCH
- refs/heads/GECKO170_2012103106_RELBRANCH
- refs/heads/GECKO170_2012110619_RELBRANCH
- refs/heads/GECKO170_2012111306_RELBRANCH
- refs/heads/GECKO170_2012111612_RELBRANCH
- refs/heads/GECKO170_2012111918_RELBRANCH
- refs/heads/GECKO1801_2013011610_RELBRANCH
- refs/heads/GECKO1802_2013020109_RELBRANCH
- refs/heads/GECKO180_2012112110_RELBRANCH
- refs/heads/GECKO180_2012112808_RELBRANCH
- refs/heads/GECKO180_2012112816_RELBRANCH
- refs/heads/GECKO180_2012120508_RELBRANCH
- refs/heads/GECKO180_2012121210_RELBRANCH
- refs/heads/GECKO180_2012121910_RELBRANCH
- refs/heads/GECKO180_2012122710_RELBRANCH
- refs/heads/GECKO180_2012123109_RELBRANCH
- refs/heads/GECKO180_2013010417_RELBRANCH
- refs/heads/GECKO1901_2013022619_RELBRANCH
- refs/heads/GECKO1902_2013030705_RELBRANCH
- refs/heads/GECKO190_2013010812_RELBRANCH
- refs/heads/GECKO190_2013010816_RELBRANCH
- refs/heads/GECKO190_2013010913_RELBRANCH
- refs/heads/GECKO190_2013011610_RELBRANCH
- refs/heads/GECKO190_2013011709_RELBRANCH
- refs/heads/GECKO190_2013012311_RELBRANCH
- refs/heads/GECKO190_2013013010_RELBRANCH
- refs/heads/GECKO190_2013020611_RELBRANCH
- refs/heads/GECKO190_2013021211_RELBRANCH
- refs/heads/GECKO190_2013021515_RELBRANCH
- refs/heads/GECKO2001_2013040922_RELBRANCH
- refs/heads/GECKO200_2013022008_RELBRANCH
- refs/heads/GECKO200_2013022013_RELBRANCH
- refs/heads/GECKO200_2013032617_RELBRANCH
- refs/heads/GECKO201_2011041321_RELBRANCH
- refs/heads/GECKO210_2013050704_RELBRANCH
- refs/heads/GECKO210_2013051114_RELBRANCH
- refs/heads/GECKO210_2013051217_RELBRANCH
- refs/heads/GECKO220_2013061806_RELBRANCH
- refs/heads/GECKO220_2013061915_RELBRANCH
- refs/heads/GECKO2301_2013081409_RELBRANCH
- refs/heads/GECKO2301_2013081518_RELBRANCH
- refs/heads/GECKO230_2013073013_RELBRANCH
- refs/heads/GECKO230_2013080122_RELBRANCH
- refs/heads/GECKO240_2013091018_RELBRANCH
- refs/heads/GECKO240esr_2013091022_RELBRANCH
- refs/heads/GECKO2411esr_2013111803_RELBRANCH
- refs/heads/GECKO2420esr_2013120417_RELBRANCH
- refs/heads/GECKO2420esr_2013120520_RELBRANCH
- refs/heads/GECKO2430esr_2014012816_RELBRANCH
- refs/heads/GECKO2430esr_2014013111_RELBRANCH
- refs/heads/GECKO2440esr_2014031511_RELBRANCH
- refs/heads/GECKO2450esr_2014042118_RELBRANCH
- refs/heads/GECKO2460esr_2014060313_RELBRANCH
- refs/heads/GECKO2460esr_2014060920_RELBRANCH
- refs/heads/GECKO2470esr_2014071418_RELBRANCH
- refs/heads/GECKO2480esr_2014082508_RELBRANCH
- refs/heads/GECKO2481esr_2014092322_RELBRANCH
- refs/heads/GECKO2501_2013111218_RELBRANCH
- refs/heads/GECKO250_2013102121_RELBRANCH
- refs/heads/GECKO250_2013102300_RELBRANCH
- refs/heads/GECKO250_2013102517_RELBRANCH
- refs/heads/GECKO260_2013120223_RELBRANCH
- refs/heads/GECKO260_2013120510_RELBRANCH
- refs/heads/GECKO2701_2014021215_RELBRANCH
- refs/heads/GECKO270_2014012722_RELBRANCH
- refs/heads/GECKO280_2014031020_RELBRANCH
- refs/heads/GECKO280_2014031500_RELBRANCH
- refs/heads/GECKO2901_2014050600_RELBRANCH
- refs/heads/GECKO2901_2014050617_RELBRANCH
- refs/heads/GECKO290_2014042200_RELBRANCH
- refs/heads/GECKO300_2014060316_RELBRANCH
- refs/heads/GECKO300_2014060520_RELBRANCH
- refs/heads/GECKO310_2014071417_RELBRANCH
- refs/heads/GECKO310_2014071621_RELBRANCH
- refs/heads/GECKO310esr_2014071418_RELBRANCH
- refs/heads/GECKO310esr_2014071715_RELBRANCH
- refs/heads/GECKO3110esr_2014082508_RELBRANCH
- refs/heads/GECKO3111esr_2014092321_RELBRANCH
- refs/heads/GECKO3120esr_2014100702_RELBRANCH
- refs/heads/GECKO3120esr_2014101105_RELBRANCH
- refs/heads/GECKO3120esr_2014101110_RELBRANCH
- refs/heads/GECKO3121esr_2014110314_RELBRANCH
- refs/heads/GECKO3130esr_2014112501_RELBRANCH
- refs/heads/GECKO3130esr_2014112505_RELBRANCH
- refs/heads/GECKO3140esr_2015010523_RELBRANCH
- refs/heads/GECKO3150esr_2015021614_RELBRANCH
- refs/heads/GECKO3150esr_2015021713_RELBRANCH
- refs/heads/GECKO3160esr_2015032414_RELBRANCH
- refs/heads/GECKO3160esr_2015032523_RELBRANCH
- refs/heads/GECKO3170esr_2015050415_RELBRANCH
- refs/heads/GECKO3170esr_2015050422_RELBRANCH
- refs/heads/GECKO3180esr_2015062417_RELBRANCH
- refs/heads/GECKO3201_2014091023_RELBRANCH
- refs/heads/GECKO3201_2014091117_RELBRANCH
- refs/heads/GECKO3202_2014091722_RELBRANCH
- refs/heads/GECKO3203_2014092320_RELBRANCH
- refs/heads/GECKO320_2014082522_RELBRANCH
- refs/heads/GECKO330_2014100710_RELBRANCH
- refs/heads/GECKO330_2014101104_RELBRANCH
- refs/heads/GECKO3311_2014111317_RELBRANCH
- refs/heads/GECKO331_2014102917_RELBRANCH
- refs/heads/GECKO331_2014103013_RELBRANCH
- refs/heads/GECKO331_2014110614_RELBRANCH
- refs/heads/GECKO3405_2014112606_RELBRANCH
- refs/heads/GECKO340_2014112423_RELBRANCH
- refs/heads/GECKO340_2014112520_RELBRANCH
- refs/heads/GECKO340_2014112606_RELBRANCH
- refs/heads/GECKO3501_2015012300_RELBRANCH
- refs/heads/GECKO350_2015010523_RELBRANCH
- refs/heads/GECKO350_2015010702_RELBRANCH
- refs/heads/GECKO350_2015010823_RELBRANCH
- refs/heads/GECKO3601_2015030416_RELBRANCH
- refs/heads/GECKO3601_2015030504_RELBRANCH
- refs/heads/GECKO3603_2015031922_RELBRANCH
- refs/heads/GECKO3604_2015032022_RELBRANCH
- refs/heads/GECKO360_2015021920_RELBRANCH
- refs/heads/GECKO360_2015022302_RELBRANCH
- refs/heads/GECKO3701_2015040222_RELBRANCH
- refs/heads/GECKO3702_2015041516_RELBRANCH
- refs/heads/GECKO370_2015032422_RELBRANCH
- refs/heads/GECKO370_2015032621_RELBRANCH
- refs/heads/GECKO3805_2015052119_RELBRANCH
- refs/heads/GECKO3805_2015052120_RELBRANCH
- refs/heads/GECKO3805_2015052516_RELBRANCH
- refs/heads/GECKO3806_2015060512_RELBRANCH
- refs/heads/GECKO380_2015050317_RELBRANCH
- refs/heads/GECKO380_2015050320_RELBRANCH
- refs/heads/GECKO380esr_2015050513_RELBRANCH
- refs/heads/GECKO3810esr_2015062417_RELBRANCH
- refs/heads/GECKO3810esr_2015070616_RELBRANCH
- refs/heads/GECKO3820esr_2015080322_RELBRANCH
- refs/heads/GECKO3820esr_2015080613_RELBRANCH
- refs/heads/GECKO3830esr_2015091419_RELBRANCH
- refs/heads/GECKO3830esr_2015091612_RELBRANCH
- refs/heads/GECKO3840esr_2015102712_RELBRANCH
- refs/heads/GECKO3840esr_2015102720_RELBRANCH
- refs/heads/GECKO3850esr_2015121010_RELBRANCH
- refs/heads/GECKO3850esr_2015121418_RELBRANCH
- refs/heads/GECKO3851esr_2015121812_RELBRANCH
- refs/heads/GECKO3852esr_2015122118_RELBRANCH
- refs/heads/GECKO3860esr_2016012100_RELBRANCH
- refs/heads/GECKO3870esr_2016030220_RELBRANCH
- refs/heads/GECKO3871esr_2016031517_RELBRANCH
- refs/heads/GECKO3880esr_2016042017_RELBRANCH
- refs/heads/GECKO390_2015062220_RELBRANCH
- refs/heads/GECKO390_2015062418_RELBRANCH
- refs/heads/GECKO390_2015062614_RELBRANCH
- refs/heads/GECKO390_2015063018_RELBRANCH
- refs/heads/GECKO4001_2015081122_RELBRANCH
- refs/heads/GECKO4002_2015081219_RELBRANCH
- refs/heads/GECKO4003_2015082605_RELBRANCH
- refs/heads/GECKO400_2015080313_RELBRANCH
- refs/heads/GECKO400_2015080415_RELBRANCH
- refs/heads/GECKO400_2015080613_RELBRANCH
- refs/heads/GECKO400_2015080618_RELBRANCH
- refs/heads/GECKO400_2015080711_RELBRANCH
- refs/heads/GECKO4101_2015092818_RELBRANCH
- refs/heads/GECKO4101_2015092917_RELBRANCH
- refs/heads/GECKO4102_2015101322_RELBRANCH
- refs/heads/GECKO4102_2015101417_RELBRANCH
- refs/heads/GECKO410_2015091421_RELBRANCH
- refs/heads/GECKO410_2015091623_RELBRANCH
- refs/heads/GECKO410_2015091718_RELBRANCH
- refs/heads/GECKO420_2015102619_RELBRANCH
- refs/heads/GECKO420_2015102918_RELBRANCH
- refs/heads/GECKO4301_2015121620_RELBRANCH
- refs/heads/GECKO4302_2015122116_RELBRANCH
- refs/heads/GECKO4303_2015122316_RELBRANCH
- refs/heads/GECKO4304_2016010417_RELBRANCH
- refs/heads/GECKO4304_2016010515_RELBRANCH
- refs/heads/GECKO4304_2016010519_RELBRANCH
- refs/heads/GECKO430_2015120812_RELBRANCH
- refs/heads/GECKO4401_2016020419_RELBRANCH
- refs/heads/GECKO4401_2016020518_RELBRANCH
- refs/heads/GECKO4402_2016020915_RELBRANCH
- refs/heads/GECKO4402_2016020917_RELBRANCH
- refs/heads/GECKO4402_2016021018_RELBRANCH
- refs/heads/GECKO440_2016011817_RELBRANCH
- refs/heads/GECKO440_2016012018_RELBRANCH
- refs/heads/GECKO440_2016012318_RELBRANCH
- refs/heads/GECKO4501_2016031518_RELBRANCH
- refs/heads/GECKO4501esr_2016031518_RELBRANCH
- refs/heads/GECKO4501esr_2016031618_RELBRANCH
- refs/heads/GECKO4502_2016040719_RELBRANCH
- refs/heads/GECKO4502esr_2016041116_RELBRANCH
- refs/heads/GECKO450_2016030103_RELBRANCH
- refs/heads/GECKO450_2016030316_RELBRANCH
- refs/heads/GECKO450esr_2016030316_RELBRANCH
- refs/heads/GECKO450esr_2016030414_RELBRANCH
- refs/heads/GECKO4510esr_2016042017_RELBRANCH
- refs/heads/GECKO4511esr_2016050218_RELBRANCH
- refs/heads/GECKO4520esr_2016060214_RELBRANCH
- refs/heads/GECKO501_2011070717_RELBRANCH
- refs/heads/GECKO50_2011051718_RELBRANCH
- refs/heads/GECKO50_2011052708_RELBRANCH
- refs/heads/GECKO50_2011060309_RELBRANCH
- refs/heads/GECKO50_2011060814_RELBRANCH
- refs/heads/GECKO50_2011061316_RELBRANCH
- refs/heads/GECKO50_2011061416_RELBRANCH
- refs/heads/GECKO50_2011061514_RELBRANCH
- refs/heads/GECKO601_2011083006_RELBRANCH
- refs/heads/GECKO602_2011083109_RELBRANCH
- refs/heads/GECKO60_2011070520_RELBRANCH
- refs/heads/GECKO60_2011071316_RELBRANCH
- refs/heads/GECKO60_2011072110_RELBRANCH
- refs/heads/GECKO60_2011072114_RELBRANCH
- refs/heads/GECKO60_2011072907_RELBRANCH
- refs/heads/GECKO60_2011080402_RELBRANCH
- refs/heads/GECKO60_2011081114_RELBRANCH
- refs/heads/GECKO701_2011092812_RELBRANCH
- refs/heads/GECKO70_2011081615_RELBRANCH
- refs/heads/GECKO70_2011082416_RELBRANCH
- refs/heads/GECKO70_2011083009_RELBRANCH
- refs/heads/GECKO70_2011083111_RELBRANCH
- refs/heads/GECKO70_2011090812_RELBRANCH
- refs/heads/GECKO70_2011091608_RELBRANCH
- refs/heads/GECKO70_2011092208_RELBRANCH
- refs/heads/GECKO80_2011092805_RELBRANCH
- refs/heads/GECKO80_2011100518_RELBRANCH
- refs/heads/GECKO80_2011101118_RELBRANCH
- refs/heads/GECKO80_2011101907_RELBRANCH
- refs/heads/GECKO80_2011102619_RELBRANCH
- refs/heads/GECKO80_2011103118_RELBRANCH
- refs/heads/GECKO80_2011110416_RELBRANCH
- refs/heads/GECKO901_2011122016_RELBRANCH
- refs/heads/GECKO90_2011110909_RELBRANCH
- refs/heads/GECKO90_2011110911_RELBRANCH
- refs/heads/GECKO90_2011111609_RELBRANCH
- refs/heads/GECKO90_2011112217_RELBRANCH
- refs/heads/GECKO90_2011113005_RELBRANCH
- refs/heads/GECKO90_2011120622_RELBRANCH
- refs/heads/GECKO90_2011121217_RELBRANCH
- refs/heads/GECKO90_2011121613_RELBRANCH
- refs/heads/MOBILE1001_2012020805_RELBRANCH
- refs/heads/MOBILE1002_2012021522_RELBRANCH
- refs/heads/MOBILE100_2011122112_RELBRANCH
- refs/heads/MOBILE100_2011122805_RELBRANCH
- refs/heads/MOBILE100_2012010318_RELBRANCH
- refs/heads/MOBILE100_2012010410_RELBRANCH
- refs/heads/MOBILE100_2012011108_RELBRANCH
- refs/heads/MOBILE100_2012011807_RELBRANCH
- refs/heads/MOBILE100_2012012323_RELBRANCH
- refs/heads/MOBILE100_2012012901_RELBRANCH
- refs/heads/MOBILE110_2012020115_RELBRANCH
- refs/heads/MOBILE110_2012020801_RELBRANCH
- refs/heads/MOBILE110_2012021420_RELBRANCH
- refs/heads/MOBILE110_2012021522_RELBRANCH
- refs/heads/MOBILE110_2012022207_RELBRANCH
- refs/heads/MOBILE110_2012022820_RELBRANCH
- refs/heads/MOBILE110_2012030517_RELBRANCH
- refs/heads/MOBILE120_2012031407_RELBRANCH
- refs/heads/MOBILE120_2012031419_RELBRANCH
- refs/heads/MOBILE120_2012032021_RELBRANCH
- refs/heads/MOBILE120_2012032804_RELBRANCH
- refs/heads/MOBILE120_2012040320_RELBRANCH
- refs/heads/MOBILE120_2012041106_RELBRANCH
- refs/heads/MOBILE120_2012041716_RELBRANCH
- refs/heads/MOBILE130_2012042512_RELBRANCH
- refs/heads/MOBILE130_2012042709_RELBRANCH
- refs/heads/MOBILE130_2012050119_RELBRANCH
- refs/heads/MOBILE130_2012050817_RELBRANCH
- refs/heads/MOBILE1401_2012071313_RELBRANCH
- refs/heads/MOBILE1401_2012071316_RELBRANCH
- refs/heads/MOBILE1402_2012080109_RELBRANCH
- refs/heads/MOBILE1402_2012080617_RELBRANCH
- refs/heads/MOBILE140_2012060523_RELBRANCH
- refs/heads/MOBILE140_2012061216_RELBRANCH
- refs/heads/MOBILE140_2012061918_RELBRANCH
- refs/heads/MOBILE140_2012062805_RELBRANCH
- refs/heads/MOBILE140_2012062810_RELBRANCH
- refs/heads/MOBILE140_2012070414_RELBRANCH
- refs/heads/MOBILE140_2012071012_RELBRANCH
- refs/heads/MOBILE1501_2012090514_RELBRANCH
- refs/heads/MOBILE1501_2012090620_RELBRANCH
- refs/heads/MOBILE150_2012071710_RELBRANCH
- refs/heads/MOBILE150_2012072419_RELBRANCH
- refs/heads/MOBILE150_2012073114_RELBRANCH
- refs/heads/MOBILE150_2012080812_RELBRANCH
- refs/heads/MOBILE150_2012081422_RELBRANCH
- refs/heads/MOBILE150_2012082116_RELBRANCH
- refs/heads/MOBILE150_2012082314_RELBRANCH
- refs/heads/MOBILE150_2012082415_RELBRANCH
- refs/heads/MOBILE1601_2012101014_RELBRANCH
- refs/heads/MOBILE1602_2012102407_RELBRANCH
- refs/heads/MOBILE160_2012082808_RELBRANCH
- refs/heads/MOBILE160_2012090412_RELBRANCH
- refs/heads/MOBILE160_2012091123_RELBRANCH
- refs/heads/MOBILE160_2012091906_RELBRANCH
- refs/heads/MOBILE160_2012092520_RELBRANCH
- refs/heads/MOBILE160_2012100207_RELBRANCH
- refs/heads/MOBILE160_2012100515_RELBRANCH
- refs/heads/MOBILE1701_2012112820_RELBRANCH
- refs/heads/MOBILE170_2012100914_RELBRANCH
- refs/heads/MOBILE170_2012101021_RELBRANCH
- refs/heads/MOBILE170_2012101707_RELBRANCH
- refs/heads/MOBILE170_2012102312_RELBRANCH
- refs/heads/MOBILE170_2012103106_RELBRANCH
- refs/heads/MOBILE170_2012110619_RELBRANCH
- refs/heads/MOBILE170_2012111306_RELBRANCH
- refs/heads/MOBILE170_2012111605_RELBRANCH
- refs/heads/MOBILE170_2012111611_RELBRANCH
- refs/heads/MOBILE1802_2013020621_RELBRANCH
- refs/heads/MOBILE180_2012112113_RELBRANCH
- refs/heads/MOBILE180_2012112808_RELBRANCH
- refs/heads/MOBILE180_2012120508_RELBRANCH
- refs/heads/MOBILE180_2012121210_RELBRANCH
- refs/heads/MOBILE180_2012121317_RELBRANCH
- refs/heads/MOBILE180_2012121910_RELBRANCH
- refs/heads/MOBILE180_2012122710_RELBRANCH
- refs/heads/MOBILE180_2012123109_RELBRANCH
- refs/heads/MOBILE180_2013010418_RELBRANCH
- refs/heads/MOBILE1901_2013030614_RELBRANCH
- refs/heads/MOBILE1902_2013030705_RELBRANCH
- refs/heads/MOBILE190_2013010812_RELBRANCH
- refs/heads/MOBILE190_2013010816_RELBRANCH
- refs/heads/MOBILE190_2013011610_RELBRANCH
- refs/heads/MOBILE190_2013012311_RELBRANCH
- refs/heads/MOBILE190_2013013010_RELBRANCH
- refs/heads/MOBILE190_2013020611_RELBRANCH
- refs/heads/MOBILE190_2013020621_RELBRANCH
- refs/heads/MOBILE190_2013021211_RELBRANCH
- refs/heads/MOBILE190_2013021515_RELBRANCH
- refs/heads/MOBILE2001_2013041018_RELBRANCH
- refs/heads/MOBILE200_2013022008_RELBRANCH
- refs/heads/MOBILE200_2013022119_RELBRANCH
- refs/heads/MOBILE200_2013022215_RELBRANCH
- refs/heads/MOBILE200_2013032617_RELBRANCH
- refs/heads/MOBILE210_2013050704_RELBRANCH
- refs/heads/MOBILE210_2013050901_RELBRANCH
- refs/heads/MOBILE220_2013061806_RELBRANCH
- refs/heads/MOBILE230_2013073014_RELBRANCH
- refs/heads/MOBILE240_2013091115_RELBRANCH
- refs/heads/MOBILE2501_2013111218_RELBRANCH
- refs/heads/MOBILE250_2013102121_RELBRANCH
- refs/heads/MOBILE250_2013102300_RELBRANCH
- refs/heads/MOBILE250_2013102517_RELBRANCH
- refs/heads/MOBILE2601_2013121917_RELBRANCH
- refs/heads/MOBILE2601_2013121920_RELBRANCH
- refs/heads/MOBILE260_2013120223_RELBRANCH
- refs/heads/MOBILE260_2013120510_RELBRANCH
- refs/heads/MOBILE270_2014012816_RELBRANCH
- refs/heads/MOBILE2801_2014032118_RELBRANCH
- refs/heads/MOBILE280_2014031500_RELBRANCH
- refs/heads/MOBILE2901_2014050600_RELBRANCH
- refs/heads/MOBILE290_2014042416_RELBRANCH
- refs/heads/MOBILE300_2014060520_RELBRANCH
- refs/heads/MOBILE310_2014071714_RELBRANCH
- refs/heads/MOBILE3201_2014090921_RELBRANCH
- refs/heads/MOBILE3203_2014092320_RELBRANCH
- refs/heads/MOBILE320_2014082615_RELBRANCH
- refs/heads/MOBILE330_2014100810_RELBRANCH
- refs/heads/MOBILE330_2014101104_RELBRANCH
- refs/heads/MOBILE331_2014110511_RELBRANCH
- refs/heads/MOBILE331_2014110613_RELBRANCH
- refs/heads/MOBILE3401_2014121722_RELBRANCH
- refs/heads/MOBILE3401_2014121819_RELBRANCH
- refs/heads/MOBILE340_2014112423_RELBRANCH
- refs/heads/MOBILE340_2014112520_RELBRANCH
- refs/heads/MOBILE340_2014112618_RELBRANCH
- refs/heads/MOBILE3501_2015020504_RELBRANCH
- refs/heads/MOBILE350_2015010823_RELBRANCH
- refs/heads/MOBILE3601_2015030417_RELBRANCH
- refs/heads/MOBILE3601_2015030509_RELBRANCH
- refs/heads/MOBILE3602_2015031211_RELBRANCH
- refs/heads/MOBILE3602_2015031403_RELBRANCH
- refs/heads/MOBILE3603_2015031922_RELBRANCH
- refs/heads/MOBILE3604_2015032022_RELBRANCH
- refs/heads/MOBILE360_2015021920_RELBRANCH
- refs/heads/MOBILE360_2015022513_RELBRANCH
- refs/heads/MOBILE3701_2015040222_RELBRANCH
- refs/heads/MOBILE3702_2015041320_RELBRANCH
- refs/heads/MOBILE370_2015032520_RELBRANCH
- refs/heads/MOBILE3805_2015052804_RELBRANCH
- refs/heads/MOBILE3901_2015070520_RELBRANCH
- refs/heads/MOBILE3901_2015070622_RELBRANCH
- refs/heads/MOBILE3902_2015071316_RELBRANCH
- refs/heads/MOBILE390_2015062418_RELBRANCH
- refs/heads/MOBILE390_2015062601_RELBRANCH
- refs/heads/MOBILE4003_2015082703_RELBRANCH
- refs/heads/MOBILE400_2015080510_RELBRANCH
- refs/heads/MOBILE4102_2015101322_RELBRANCH
- refs/heads/MOBILE4102_2015101417_RELBRANCH
- refs/heads/MOBILE410_2015091517_RELBRANCH
- refs/heads/MOBILE410_2015091623_RELBRANCH
- refs/heads/MOBILE410_2015091718_RELBRANCH
- refs/heads/MOBILE4201_2015111905_RELBRANCH
- refs/heads/MOBILE4202_2015120112_RELBRANCH
- refs/heads/MOBILE420_2015102816_RELBRANCH
- refs/heads/MOBILE420_2015102820_RELBRANCH
- refs/heads/MOBILE420_2015102905_RELBRANCH
- refs/heads/MOBILE4301_2015121519_RELBRANCH
- refs/heads/MOBILE430_2015121011_RELBRANCH
- refs/heads/MOBILE430_2015121419_RELBRANCH
- refs/heads/MOBILE4402_2016020915_RELBRANCH
- refs/heads/MOBILE4402_2016020917_RELBRANCH
- refs/heads/MOBILE4402_2016020922_RELBRANCH
- refs/heads/MOBILE4402_2016021011_RELBRANCH
- refs/heads/MOBILE440_2016012018_RELBRANCH
- refs/heads/MOBILE4501_2016031519_RELBRANCH
- refs/heads/MOBILE4502_2016040719_RELBRANCH
- refs/heads/MOBILE450_2016030216_RELBRANCH
- refs/heads/MOBILE450_2016030304_RELBRANCH
- refs/heads/MOBILE450_2016030316_RELBRANCH
- refs/heads/MOBILE4601_2016050218_RELBRANCH
- refs/heads/MOBILE460_2016042213_RELBRANCH
- refs/heads/MOBILE470_2016060220_RELBRANCH
- refs/heads/MOBILE470_2016060422_RELBRANCH
- refs/heads/MOBILE4803_2016090208_RELBRANCH
- refs/heads/MOBILE480_2016072616_RELBRANCH
- refs/heads/MOBILE4902_2016101815_RELBRANCH
- refs/heads/MOBILE4902_2016101919_RELBRANCH
- refs/heads/MOBILE490_2016090808_RELBRANCH
- refs/heads/MOBILE490_2016091217_RELBRANCH
- refs/heads/MOBILE490_2016091613_RELBRANCH
- refs/heads/MOBILE5001_2016112401_RELBRANCH
- refs/heads/MOBILE5002_2016112921_RELBRANCH
- refs/heads/MOBILE500_2016110523_RELBRANCH
- refs/heads/MOBILE5010_2016120721_RELBRANCH
- refs/heads/MOBILE5010_2016120821_RELBRANCH
- refs/heads/MOBILE5102_2017020604_RELBRANCH
- refs/heads/MOBILE5103_2017020816_RELBRANCH
- refs/heads/MOBILE5104_2017021320_RELBRANCH
- refs/heads/MOBILE510_2017011707_RELBRANCH
- refs/heads/MOBILE510_2017011818_RELBRANCH
- refs/heads/MOBILE510_2017011915_RELBRANCH
- refs/heads/MOBILE5201_2017031701_RELBRANCH
- refs/heads/MOBILE5202_2017032405_RELBRANCH
- refs/heads/MOBILE520_2017030210_RELBRANCH
- refs/heads/MOBILE520_2017030217_RELBRANCH
- refs/heads/MOBILE520_2017030305_RELBRANCH
- refs/heads/MOBILE5301_2017041915_RELBRANCH
- refs/heads/MOBILE601_2011083008_RELBRANCH
- refs/heads/MOBILE602_2011083111_RELBRANCH
- refs/heads/MOBILE60_2011071316_RELBRANCH
- refs/heads/MOBILE60_2011072110_RELBRANCH
- refs/heads/MOBILE60_2011072114_RELBRANCH
- refs/heads/MOBILE60_2011072907_RELBRANCH
- refs/heads/MOBILE60_2011080402_RELBRANCH
- refs/heads/MOBILE60_2011081016_RELBRANCH
- refs/heads/MOBILE60_2011081116_RELBRANCH
- refs/heads/MOBILE701_2011092812_RELBRANCH
- refs/heads/MOBILE70_2011081614_RELBRANCH
- refs/heads/MOBILE70_2011082416_RELBRANCH
- refs/heads/MOBILE70_2011083009_RELBRANCH
- refs/heads/MOBILE70_2011083111_RELBRANCH
- refs/heads/MOBILE70_2011090812_RELBRANCH
- refs/heads/MOBILE70_2011091608_RELBRANCH
- refs/heads/MOBILE70_2011092210_RELBRANCH
- refs/heads/MOBILE80_2011092805_RELBRANCH
- refs/heads/MOBILE80_2011100517_RELBRANCH
- refs/heads/MOBILE80_2011101117_RELBRANCH
- refs/heads/MOBILE80_2011101907_RELBRANCH
- refs/heads/MOBILE80_2011102618_RELBRANCH
- refs/heads/MOBILE80_2011103117_RELBRANCH
- refs/heads/MOBILE80_2011110415_RELBRANCH
- refs/heads/MOBILE90_2011110909_RELBRANCH
- refs/heads/MOBILE90_2011111608_RELBRANCH
- refs/heads/MOBILE90_2011112218_RELBRANCH
- refs/heads/MOBILE90_2011113006_RELBRANCH
- refs/heads/MOBILE90_2011120622_RELBRANCH
- refs/heads/MOBILE90_2011121217_RELBRANCH
- refs/heads/MOBILE90_2011121612_RELBRANCH
- refs/heads/aurora
- refs/heads/b2g-inbound
- refs/heads/b2g-ota
- refs/heads/b2g18
- refs/heads/b2g18_v1_0_0
- refs/heads/b2g18_v1_0_1
- refs/heads/b2g18_v1_1_0_hd
- refs/heads/b2g26_v1_2
- refs/heads/b2g26_v1_2f
- refs/heads/b2g28_v1_3
- refs/heads/b2g28_v1_3t
- refs/heads/b2g30_v1_4
- refs/heads/b2g32_v2_0
- refs/heads/b2g32_v2_0m
- refs/heads/b2g34_v2_1
- refs/heads/b2g34_v2_1s
- refs/heads/b2g37_v2_2
- refs/heads/b2g37_v2_2r
- refs/heads/b2g44_v2_5
- refs/heads/beta
- refs/heads/esr102
- refs/heads/esr115
- refs/heads/esr128
- refs/heads/esr17
- refs/heads/esr24
- refs/heads/esr31
- refs/heads/esr38
- refs/heads/esr45
- refs/heads/esr52
- refs/heads/esr60
- refs/heads/esr68
- refs/heads/esr78
- refs/heads/esr91
- refs/heads/fx-team
- refs/heads/inbound
- refs/heads/loop-ser
- refs/heads/master
- refs/heads/mozilla-b2g26_v1_2
- refs/heads/release
- refs/heads/renovate/configure
- refs/heads/tiling
- refs/tags/B2G_1_0_0_20130115070201
- refs/tags/B2G_1_0_0_20130125190500
- refs/tags/B2G_1_0_1_20130213094222
- refs/tags/B2G_1_0_1_20130213094222_BASE
- refs/tags/B2G_1_0_1_20130217163900
- refs/tags/B2G_1_1_0_hd_20130530182315
- refs/tags/B2G_1_1_0_hd_20130530182315_BASE
- refs/tags/B2G_1_1_0_hd_20140203_MERGEDAY
- refs/tags/B2G_1_1_0_hd_20140317_MERGEDAY
- refs/tags/B2G_1_1_0_hd_20140428_MERGEDAY
- refs/tags/B2G_1_1_20140203_MERGEDAY
- refs/tags/B2G_1_1_20140317_MERGEDAY
- refs/tags/B2G_1_1_20140428_MERGEDAY
- refs/tags/B2G_1_2_20140203_MERGEDAY
- refs/tags/B2G_1_2_20140317_MERGEDAY
- refs/tags/B2G_1_2_20140428_MERGEDAY
- refs/tags/B2G_1_3T_20140317_MERGEDAY
- refs/tags/B2G_1_3T_20140428_MERGEDAY
- refs/tags/B2G_1_3T_20140609_MERGEDAY
- refs/tags/B2G_1_3T_20140721_MERGEDAY
- refs/tags/B2G_1_3T_20140902_MERGEDAY
- refs/tags/B2G_1_3T_20141013_MERGEDAY
- refs/tags/B2G_1_3_20140203_MERGEDAY
- refs/tags/B2G_1_3_20140317_MERGEDAY
- refs/tags/B2G_1_3_20140428_MERGEDAY
- refs/tags/B2G_1_3_20140609_MERGEDAY
- refs/tags/B2G_1_3_20140721_MERGEDAY
- refs/tags/B2G_1_3_20140902_MERGEDAY
- refs/tags/B2G_1_4_20140317_MERGEDAY
- refs/tags/B2G_1_4_20140428_MERGEDAY
- refs/tags/B2G_1_4_20140609_MERGEDAY
- refs/tags/B2G_1_4_20140721_MERGEDAY
- refs/tags/B2G_1_4_20140902_MERGEDAY
- refs/tags/B2G_1_4_20141013_MERGEDAY
- refs/tags/B2G_1_4_20150112_MERGEDAY
- refs/tags/B2G_1_4_20150223_MERGEDAY
- refs/tags/B2G_1_4_20150330_MERGEDAY
- refs/tags/B2G_1_4_20150511_MERGEDAY
- refs/tags/B2G_2_0M_END
- refs/tags/B2G_2_0_20140609_MERGEDAY
- refs/tags/B2G_2_0_20140721_MERGEDAY
- refs/tags/B2G_2_0_20140902_MERGEDAY
- refs/tags/B2G_2_0_20141013_MERGEDAY
- refs/tags/B2G_2_0_20150112_MERGEDAY
- refs/tags/B2G_2_0_20150223_MERGEDAY
- refs/tags/B2G_2_0_20150511_MERGEDAY
- refs/tags/B2G_2_0_20150629_MERGEDAY
- refs/tags/B2G_2_0_END
- refs/tags/B2G_2_1_20140902_MERGEDAY
- refs/tags/B2G_2_1_20141013_MERGEDAY
- refs/tags/B2G_2_1_20150112_MERGEDAY
- refs/tags/B2G_2_1_20150223_MERGEDAY
- refs/tags/B2G_2_1_20150511_MERGEDAY
- refs/tags/B2G_2_1_20150629_MERGEDAY
- refs/tags/B2G_2_1_END
- refs/tags/B2G_2_1s_20150223_MERGEDAY
- refs/tags/B2G_2_1s_20150511_MERGEDAY
- refs/tags/B2G_2_1s_20150629_MERGEDAY
- refs/tags/B2G_2_1s_20150810_MERGEDAY
- refs/tags/B2G_2_1s_END
- refs/tags/B2G_2_2_20150223_MERGEDAY
- refs/tags/B2G_2_2_20150511_MERGEDAY
- refs/tags/B2G_2_2_20150629_MERGEDAY
- refs/tags/B2G_2_2_20150810_MERGEDAY
- refs/tags/B2G_2_2_20150921_MERGEDAY
- refs/tags/B2G_2_2_20151029_MERGEDAY
- refs/tags/B2G_2_2_20151214_MERGEDAY
- refs/tags/B2G_2_2r_20150810_MERGEDAY
- refs/tags/B2G_2_2r_20150921_MERGEDAY
- refs/tags/B2G_2_2r_20151029_MERGEDAY
- refs/tags/B2G_2_2r_20151214_MERGEDAY
- refs/tags/B2G_2_5_20151214_MERGEDAY
- refs/tags/B2G_2_5_20160125_MERGEDAY
- refs/tags/RELEASE_BASE_20110811
- refs/tags/RELEASE_BASE_20110922
- refs/tags/RELEASE_BASE_20111104
- refs/tags/RELEASE_BASE_20111216
- refs/tags/RELEASE_BASE_20120128
- refs/tags/RELEASE_BASE_20120308
- refs/tags/RELEASE_BASE_20120420
- refs/tags/RELEASE_BASE_20120531
- refs/tags/RELEASE_BASE_20120713
- refs/tags/RELEASE_BASE_20120824
- refs/tags/RELEASE_BASE_20121005
- refs/tags/RELEASE_BASE_20121114
- refs/tags/RELEASE_BASE_20130103
- refs/tags/RELEASE_BASE_20130214
- refs/tags/RELEASE_BASE_20130326
- refs/tags/RELEASE_BASE_20130506
- refs/tags/RELEASE_BASE_20130617
- refs/tags/RELEASE_BASE_20130729
- refs/tags/RELEASE_BASE_20130909
- refs/tags/RELEASE_BASE_20131021
- refs/tags/RELEASE_BASE_20131202
- refs/tags/RELEASE_BASE_20140127
- refs/tags/RELEASE_BASE_20140310
- refs/tags/RELEASE_BASE_20140421
- refs/tags/RELEASE_BASE_20140602
No releases to show
Raw File
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Tip revision: 2ac4b481997e2bcf569c91d8bb7ab1e5a0b7b1b0 authored by Sebastian Hengst on 14 September 2023, 13:03:20 UTC
Bug 1850698 - remove 'esr' suffix added unintentionally to some other string. a=me
Bug 1850698 - remove 'esr' suffix added unintentionally to some other string. a=me
Tip revision: 2ac4b48
NonDereferenceable.h
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_NonDereferenceable_h
#define mozilla_NonDereferenceable_h
/* A pointer wrapper indicating that the pointer should not be dereferenced. */
#include "mozilla/Attributes.h"
#include <cstdint>
// Macro indicating that a function manipulates a pointer that will not be
// dereferenced, and therefore there is no need to check the object.
#if defined(__clang__)
# define NO_POINTEE_CHECKS __attribute__((no_sanitize("vptr")))
#else
# define NO_POINTEE_CHECKS /* nothing */
#endif
namespace mozilla {
// NonDereferenceable<T> wraps a raw pointer value of type T*, but prevents
// dereferencing.
//
// The main use case is for pointers that referencing memory that may not
// contain a valid object, either because the object has already been freed, or
// is under active construction or destruction (and hence parts of it may be
// uninitialized or destructed.)
// Such a pointer may still be useful, e.g., for its numeric value for
// logging/debugging purposes, which may be accessed with `value()`.
// Using NonDereferenceable with such pointers will make this intent clearer,
// and prevent misuses.
//
// Note that NonDereferenceable is only a wrapper and is NOT an owning pointer,
// i.e., it will not release/free the object.
//
// NonDereferenceable allows conversions between compatible pointer types, e.g.,
// to navigate a class hierarchy and identify parent/sub-objects. Note that the
// converted pointers stay safely NonDereferenceable.
//
// Use of NonDereferenceable is required to avoid errors from sanitization tools
// like `clang++ -fsanitize=vptr`, and should prevent false positives while
// pointers are manipulated within NonDereferenceable objects.
//
template <typename T>
class NonDereferenceable {
public:
// Default construction with a null value.
NonDereferenceable() : mPtr(nullptr) {}
// Default copy construction and assignment.
NO_POINTEE_CHECKS
NonDereferenceable(const NonDereferenceable&) = default;
NO_POINTEE_CHECKS
NonDereferenceable<T>& operator=(const NonDereferenceable&) = default;
// No move operations, as we're only carrying a non-owning pointer, so
// copying is most efficient.
// Construct/assign from a T* raw pointer.
// A raw pointer should usually point at a valid object, however we want to
// leave the ability to the user to create a NonDereferenceable from any
// pointer. Also, strictly speaking, in a constructor or destructor, `this`
// points at an object still being constructed or already partially
// destructed, which some very sensitive sanitizers could complain about.
NO_POINTEE_CHECKS
explicit NonDereferenceable(T* aPtr) : mPtr(aPtr) {}
NO_POINTEE_CHECKS
NonDereferenceable& operator=(T* aPtr) {
mPtr = aPtr;
return *this;
}
// Construct/assign from a compatible pointer type.
template <typename U>
NO_POINTEE_CHECKS explicit NonDereferenceable(U* aOther)
: mPtr(static_cast<T*>(aOther)) {}
template <typename U>
NO_POINTEE_CHECKS NonDereferenceable& operator=(U* aOther) {
mPtr = static_cast<T*>(aOther);
return *this;
}
// Construct/assign from a NonDereferenceable with a compatible pointer type.
template <typename U>
NO_POINTEE_CHECKS MOZ_IMPLICIT
NonDereferenceable(const NonDereferenceable<U>& aOther)
: mPtr(static_cast<T*>(aOther.mPtr)) {}
template <typename U>
NO_POINTEE_CHECKS NonDereferenceable& operator=(
const NonDereferenceable<U>& aOther) {
mPtr = static_cast<T*>(aOther.mPtr);
return *this;
}
// Explicitly disallow dereference operators, so that compiler errors point
// at these lines:
T& operator*() = delete; // Cannot dereference NonDereferenceable!
T* operator->() = delete; // Cannot dereference NonDereferenceable!
// Null check.
NO_POINTEE_CHECKS
explicit operator bool() const { return !!mPtr; }
// Extract the pointer value, untyped.
NO_POINTEE_CHECKS
uintptr_t value() const { return reinterpret_cast<uintptr_t>(mPtr); }
private:
// Let other NonDereferenceable templates access mPtr, to permit construction/
// assignment from compatible pointer types.
template <typename>
friend class NonDereferenceable;
T* MOZ_NON_OWNING_REF mPtr;
};
} // namespace mozilla
#undef NO_POINTEE_CHECKS
#endif /* mozilla_NonDereferenceable_h */