以下のようにクエリを使用して、すべての Thread オブジェクトを取得できます
SELECT OBJECTS dominators(s) FROM java.lang.Thread s
次に、返された結果オブジェクトをさらに分析したい場合、OQL は次のようになるはずです。
SELECT * from (SELECT OBJECTS dominators(s) FROM java.lang.Thread s)
しかし、それは ClassCastException になります。
Problem reported:
ClassCastException occured. Remember: sub queries with the modifier INSTANCESOF or INCLUDING SUBCLASSES must return only class objects
java.lang.ClassCastException: org.eclipse.mat.parser.model.InstanceImpl cannot be cast to org.eclipse.mat.snapshot.model.IClass
at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.doSubQuery(OQLQueryImpl.java:752)
at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.internalExecute(OQLQueryImpl.java:642)
at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.execute(OQLQueryImpl.java:627)
at org.eclipse.mat.inspections.OQLQuery.execute(OQLQuery.java:50)
at org.eclipse.mat.inspections.OQLQuery.execute(OQLQuery.java:1)
at org.eclipse.mat.query.registry.ArgumentSet.execute(ArgumentSet.java:129)
at org.eclipse.mat.ui.snapshot.panes.OQLPane$OQLJob.doRun(OQLPane.java:339)
at org.eclipse.mat.ui.editor.AbstractPaneJob.run(AbstractPaneJob.java:34)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
MAT Eclipse の OQL は埋め込みクエリをサポートしていますか? また、必要な結果を得るにはどうすればよいですか?