| 1852 | |
| 1853 | |
| 1854 | void LowLevelILInstruction::VisitExprs(const std::function<bool(const LowLevelILInstruction& expr)>& func) const |
| 1855 | { |
| 1856 | if (!func(*this)) |
| 1857 | return; |
| 1858 | switch (operation) |
| 1859 | { |
| 1860 | case LLIL_SET_REG: |
| 1861 | GetSourceExpr<LLIL_SET_REG>().VisitExprs(func); |
| 1862 | break; |
| 1863 | case LLIL_SET_REG_SPLIT: |
| 1864 | GetSourceExpr<LLIL_SET_REG_SPLIT>().VisitExprs(func); |
| 1865 | break; |
| 1866 | case LLIL_SET_REG_SSA: |
| 1867 | GetSourceExpr<LLIL_SET_REG_SSA>().VisitExprs(func); |
| 1868 | break; |
| 1869 | case LLIL_SET_REG_SSA_PARTIAL: |
| 1870 | GetSourceExpr<LLIL_SET_REG_SSA_PARTIAL>().VisitExprs(func); |
| 1871 | break; |
| 1872 | case LLIL_SET_REG_SPLIT_SSA: |
| 1873 | GetSourceExpr<LLIL_SET_REG_SPLIT_SSA>().VisitExprs(func); |
| 1874 | break; |
| 1875 | case LLIL_SET_REG_STACK_REL: |
| 1876 | GetDestExpr<LLIL_SET_REG_STACK_REL>().VisitExprs(func); |
| 1877 | GetSourceExpr<LLIL_SET_REG_STACK_REL>().VisitExprs(func); |
| 1878 | break; |
| 1879 | case LLIL_REG_STACK_PUSH: |
| 1880 | GetSourceExpr<LLIL_REG_STACK_PUSH>().VisitExprs(func); |
| 1881 | break; |
| 1882 | case LLIL_SET_REG_STACK_REL_SSA: |
| 1883 | GetDestExpr<LLIL_SET_REG_STACK_REL_SSA>().VisitExprs(func); |
| 1884 | GetSourceExpr<LLIL_SET_REG_STACK_REL_SSA>().VisitExprs(func); |
| 1885 | break; |
| 1886 | case LLIL_SET_REG_STACK_ABS_SSA: |
| 1887 | GetSourceExpr<LLIL_SET_REG_STACK_ABS_SSA>().VisitExprs(func); |
| 1888 | break; |
| 1889 | case LLIL_SET_FLAG: |
| 1890 | GetSourceExpr<LLIL_SET_FLAG>().VisitExprs(func); |
| 1891 | break; |
| 1892 | case LLIL_SET_FLAG_SSA: |
| 1893 | GetSourceExpr<LLIL_SET_FLAG_SSA>().VisitExprs(func); |
| 1894 | break; |
| 1895 | case LLIL_REG_STACK_REL: |
| 1896 | GetSourceExpr<LLIL_REG_STACK_REL>().VisitExprs(func); |
| 1897 | break; |
| 1898 | case LLIL_REG_STACK_FREE_REL: |
| 1899 | GetDestExpr<LLIL_REG_STACK_FREE_REL>().VisitExprs(func); |
| 1900 | break; |
| 1901 | case LLIL_REG_STACK_REL_SSA: |
| 1902 | GetSourceExpr<LLIL_REG_STACK_REL_SSA>().VisitExprs(func); |
| 1903 | break; |
| 1904 | case LLIL_REG_STACK_FREE_REL_SSA: |
| 1905 | GetDestExpr<LLIL_REG_STACK_FREE_REL_SSA>().VisitExprs(func); |
| 1906 | break; |
| 1907 | case LLIL_LOAD: |
| 1908 | GetSourceExpr<LLIL_LOAD>().VisitExprs(func); |
| 1909 | break; |
| 1910 | case LLIL_LOAD_SSA: |
| 1911 | GetSourceExpr<LLIL_LOAD_SSA>().VisitExprs(func); |
no test coverage detected