import ruby private string getValueText(MethodName m) { result = m.getValueText() or not exists(m.getValueText()) and result = "(none)" } query predicate undef(UndefStmt u, int i, MethodName m, string name, string pClass) { pClass = m.getAPrimaryQlClass() and u.getMethodName(i) = m and name = getValueText(m) } query predicate alias(AliasStmt a, string prop, MethodName m, string name, string pClass) { pClass = m.getAPrimaryQlClass() and name = getValueText(m) and ( a.getOldName() = m and prop = "old" or a.getNewName() = m and prop = "new" ) }