@@ -1834,43 +1834,15 @@ module IteratorFlow {
1834
1834
1835
1835
private module IteratorSsa = SsaImpl:: Make< Location , SsaInput > ;
1836
1836
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 {
1861
1838
final override Location getLocation ( ) { result = this .getImpl ( ) .getLocation ( ) }
1862
1839
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
-
1868
1840
/**
1869
1841
* Holds if this definition (or use) has index `index` in block `block`,
1870
1842
* and is a definition (or use) of the variable `sv`.
1871
1843
*/
1872
1844
predicate hasIndexInBlock ( IRBlock block , int index , SourceVariable sv ) {
1873
- def .definesAt ( sv , block , index , _)
1845
+ super .definesAt ( sv , block , index , _)
1874
1846
}
1875
1847
1876
1848
private Ssa:: DefImpl getImpl ( ) {
0 commit comments