scala/scala — pull request #824 by adriaanm (2012-07-05 11:28:18+00:00)
Title: improve patmat analyses: irrefutable user-defined extractors, no-op type tests

SI-4691 exhaustivity: `unapply: Some` = irrefutable
overhauls treeMakersToConds in the process -- was getting a bit unwieldy

SI-6008 use static knowledge of success of type tests
augment the equality axioms to take into account that
a type test against the static type of a variable succeeds unless the variable is null

for exhaustivity we disregard null, so the type test always succeeds
during unreachability we model this knowledge as the obvious implication

ps: -Ypatmat-debug is a no-op for now, since it looks like the inliner fails to inline patmatDebug (/cc @magarciaEPFL)