@Override public void classPrepare(ClassPrepareEventSet e) { ReferenceType refType = e.getReferenceType(); SourceModel sm = sourceForClass(refType); if (sm != null) { sm.addClass(refType); } }
// ### Use hash table for this? public SourceModel sourceForFile(File path) { Iterator<SourceModel> iter = sourceList.iterator(); SourceModel sm = null; while (iter.hasNext()) { SourceModel candidate = iter.next(); if (candidate.fileName().equals(path)) { sm = candidate; iter.remove(); // Will move to start of list. break; } } if (sm == null && path.exists()) { sm = new SourceModel(env, path); } if (sm != null) { // At start of list for faster access sourceList.add(0, sm); } return sm; }