@@ -1834,43 +1834,15 @@ module IteratorFlow {
18341834
18351835 private module IteratorSsa = SsaImpl:: Make< Location , SsaInput > ;
18361836
1837- cached
1838- private newtype TSsaDef = TDef ( IteratorSsa:: DefinitionExt def )
1839-
1840- abstract private class SsaDef extends TSsaDef {
1841- /** Gets a textual representation of this element. */
1842- string toString ( ) { none ( ) }
1843-
1844- /** Gets the underlying non-phi definition or use. */
1845- IteratorSsa:: DefinitionExt asDef ( ) { none ( ) }
1846-
1847- /** Gets the underlying phi node. */
1848- PhiNode asPhi ( ) { none ( ) }
1849-
1850- /** Gets the location of this element. */
1851- abstract Location getLocation ( ) ;
1852- }
1853-
1854- private class Def extends TDef , SsaDef {
1855- IteratorSsa:: DefinitionExt def ;
1856-
1857- Def ( ) { this = TDef ( def ) }
1858-
1859- final override IteratorSsa:: DefinitionExt asDef ( ) { result = def }
1860-
1837+ private class Def extends IteratorSsa:: DefinitionExt {
18611838 final override Location getLocation ( ) { result = this .getImpl ( ) .getLocation ( ) }
18621839
1863- /** Gets the variable written to by this definition. */
1864- final SourceVariable getSourceVariable ( ) { result = def .getSourceVariable ( ) }
1865-
1866- override string toString ( ) { result = def .toString ( ) }
1867-
18681840 /**
18691841 * Holds if this definition (or use) has index `index` in block `block`,
18701842 * and is a definition (or use) of the variable `sv`.
18711843 */
18721844 predicate hasIndexInBlock ( IRBlock block , int index , SourceVariable sv ) {
1873- def .definesAt ( sv , block , index , _)
1845+ super .definesAt ( sv , block , index , _)
18741846 }
18751847
18761848 private Ssa:: DefImpl getImpl ( ) {
0 commit comments