Example
$ cd ~/Workspace/myswtproj
$ ClassDependsList MySwtProj.class >ClassDependsList.out
Expected Output (standard error)
Adding org/eclipse/swt/internal/SWTEventObject.class to list.
Adding org/eclipse/swt/internal/Library.class to list.
Adding org/eclipse/swt/internal/Lock.class to list.
Adding org/eclipse/swt/internal/Platform.class to list.
Adding org/eclipse/swt/internal/C.class to list.
Adding org/eclipse/swt/internal/Callback.class to list.
Adding org/eclipse/swt/internal/win32/ACCEL.class to list.
Adding org/eclipse/swt/internal/win32/ACTCTX.class to list.
Adding org/eclipse/swt/internal/win32/BITMAP.class to list.
Adding org/eclipse/swt/internal/win32/BITMAPINFOHEADER.class to list.
Adding org/eclipse/swt/internal/win32/BLENDFUNCTION.class to list.
Adding org/eclipse/swt/internal/win32/BP_PAINTPARAMS.class to list.
Adding org/eclipse/swt/internal/win32/BROWSEINFO.class to list.
Adding org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.class to list.
Adding org/eclipse/swt/internal/win32/POINT.class to list.
Adding org/eclipse/swt/internal/win32/RECT.class to list.
Adding org/eclipse/swt/internal/win32/CANDIDATEFORM.class to list.
Adding org/eclipse/swt/internal/win32/CERT_CONTEXT.class to list.
Adding org/eclipse/swt/internal/win32/CERT_NAME_BLOB.class to list.
Adding org/eclipse/swt/internal/win32/CRYPT_OBJID_BLOB.class to list.
Adding org/eclipse/swt/internal/win32/CRYPT_ALGORITHM_IDENTIFIER.class to list.
Adding org/eclipse/swt/internal/win32/CRYPT_BIT_BLOB.class to list.
Adding org/eclipse/swt/internal/win32/CERT_PUBLIC_KEY_INFO.class to list.
Adding org/eclipse/swt/internal/win32/CRYPT_INTEGER_BLOB.class to list.
Adding org/eclipse/swt/internal/win32/FILETIME.class to list.
Adding org/eclipse/swt/internal/win32/CERT_INFO.class to list.
Adding org/eclipse/swt/internal/win32/CHOOSECOLOR.class to list.
Adding org/eclipse/swt/internal/win32/CHOOSEFONT.class to list.
Adding org/eclipse/swt/internal/win32/COMBOBOXINFO.class to list.
Adding org/eclipse/swt/internal/win32/COMPOSITIONFORM.class to list.
Adding org/eclipse/swt/internal/win32/CREATESTRUCT.class to list.
Adding org/eclipse/swt/internal/win32/DEVMODE.class to list.
Adding org/eclipse/swt/internal/win32/DEVMODEA.class to list.
Adding org/eclipse/swt/internal/win32/DEVMODEW.class to list.
Adding org/eclipse/swt/internal/win32/DIBSECTION.class to list.
Adding org/eclipse/swt/internal/win32/DLLVERSIONINFO.class to list.
Adding org/eclipse/swt/internal/win32/DOCHOSTUIINFO.class to list.
Adding org/eclipse/swt/internal/win32/DOCINFO.class to list.
Adding org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.class to list.
Adding org/eclipse/swt/internal/win32/DROPFILES.class to list.
Adding org/eclipse/swt/internal/win32/DWM_BLURBEHIND.class to list.
Adding org/eclipse/swt/internal/win32/EMR.class to list.
Adding org/eclipse/swt/internal/win32/LOGFONTW.class to list.
Adding org/eclipse/swt/internal/win32/PANOSE.class to list.
Adding org/eclipse/swt/internal/win32/EXTLOGFONTW.class to list.
Adding org/eclipse/swt/internal/win32/EMREXTCREATEFONTINDIRECTW.class to list.
Adding org/eclipse/swt/internal/win32/EXTLOGPEN.class to list.
Adding org/eclipse/swt/internal/win32/FLICK_DATA.class to list.
Adding org/eclipse/swt/internal/win32/FLICK_POINT.class to list.
Adding org/eclipse/swt/internal/win32/GCP_RESULTS.class to list.
Adding org/eclipse/swt/internal/win32/GESTURECONFIG.class to list.
Adding org/eclipse/swt/internal/win32/GESTUREINFO.class to list.
Adding org/eclipse/swt/internal/win32/GRADIENT_RECT.class to list.
Adding org/eclipse/swt/internal/win32/GUITHREADINFO.class to list.
Adding org/eclipse/swt/internal/win32/HDHITTESTINFO.class to list.
Adding org/eclipse/swt/internal/win32/HDITEM.class to list.
Adding org/eclipse/swt/internal/win32/HDLAYOUT.class to list.
Adding org/eclipse/swt/internal/win32/HELPINFO.class to list.
Adding org/eclipse/swt/internal/win32/HIGHCONTRAST.class to list.
Adding org/eclipse/swt/internal/win32/ICONINFO.class to list.
Adding org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.class to list.
Adding org/eclipse/swt/internal/win32/KEYBDINPUT.class to list.
Adding org/eclipse/swt/internal/win32/LITEM.class to list.
Adding org/eclipse/swt/internal/win32/LOGBRUSH.class to list.
Adding org/eclipse/swt/internal/win32/LOGFONTA.class to list.
Adding org/eclipse/swt/internal/win32/LOGPEN.class to list.
Adding org/eclipse/swt/internal/win32/LVCOLUMN.class to list.
Adding org/eclipse/swt/internal/win32/LVHITTESTINFO.class to list.
Adding org/eclipse/swt/internal/win32/LVINSERTMARK.class to list.
Adding org/eclipse/swt/internal/win32/LVITEM.class to list.
Adding org/eclipse/swt/internal/win32/MARGINS.class to list.
Adding org/eclipse/swt/internal/win32/SYSTEMTIME.class to list.
Adding org/eclipse/swt/internal/win32/MCHITTESTINFO.class to list.
Adding org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.class to list.
Adding org/eclipse/swt/internal/win32/MENUBARINFO.class to list.
Adding org/eclipse/swt/internal/win32/MENUINFO.class to list.
Adding org/eclipse/swt/internal/win32/MENUITEMINFO.class to list.
Adding org/eclipse/swt/internal/win32/MINMAXINFO.class to list.
Adding org/eclipse/swt/internal/win32/MONITORINFO.class to list.
Adding org/eclipse/swt/internal/win32/MOUSEINPUT.class to list.
Adding org/eclipse/swt/internal/win32/MSG.class to list.
Adding org/eclipse/swt/internal/win32/NMHDR.class to list.
Adding org/eclipse/swt/internal/win32/NMCUSTOMDRAW.class to list.
Adding org/eclipse/swt/internal/win32/NMHEADER.class to list.
Adding org/eclipse/swt/internal/win32/NMLINK.class to list.
Adding org/eclipse/swt/internal/win32/NMLISTVIEW.class to list.
Adding org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.class to list.
Adding org/eclipse/swt/internal/win32/NMLVDISPINFO.class to list.
Adding org/eclipse/swt/internal/win32/NMLVFINDITEM.class to list.
Adding org/eclipse/swt/internal/win32/NMLVODSTATECHANGE.class to list.
Adding org/eclipse/swt/internal/win32/NMREBARCHEVRON.class to list.
Adding org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.class to list.
Adding org/eclipse/swt/internal/win32/NMRGINFO.class to list.
Adding org/eclipse/swt/internal/win32/NMTBHOTITEM.class to list.
Adding org/eclipse/swt/internal/win32/NMTOOLBAR.class to list.
Adding org/eclipse/swt/internal/win32/TVITEM.class to list.
Adding org/eclipse/swt/internal/win32/NMTREEVIEW.class to list.
Adding org/eclipse/swt/internal/win32/NMTTCUSTOMDRAW.class to list.
Adding org/eclipse/swt/internal/win32/NMTTDISPINFO.class to list.
Adding org/eclipse/swt/internal/win32/NMTTDISPINFOA.class to list.
Adding org/eclipse/swt/internal/win32/NMTTDISPINFOW.class to list.
Adding org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.class to list.
Adding org/eclipse/swt/internal/win32/NMTVDISPINFO.class to list.
Adding org/eclipse/swt/internal/win32/NMTVITEMCHANGE.class to list.
Adding org/eclipse/swt/internal/win32/NMUPDOWN.class to list.
Adding org/eclipse/swt/internal/win32/NONCLIENTMETRICS.class to list.
Adding org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.class to list.
Adding org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.class to list.
Adding org/eclipse/swt/internal/win32/NOTIFYICONDATA.class to list.
Adding org/eclipse/swt/internal/win32/NOTIFYICONDATAA.class to list.
Adding org/eclipse/swt/internal/win32/NOTIFYICONDATAW.class to list.
Adding org/eclipse/swt/internal/win32/OFNOTIFY.class to list.
Adding org/eclipse/swt/internal/win32/OPENFILENAME.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFO.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFOA.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFOEX.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.class to list.
Adding org/eclipse/swt/internal/win32/OSVERSIONINFOW.class to list.
Adding org/eclipse/swt/internal/win32/OUTLINETEXTMETRIC.class to list.
Adding org/eclipse/swt/internal/win32/TEXTMETRIC.class to list.
Adding org/eclipse/swt/internal/win32/TEXTMETRICA.class to list.
Adding org/eclipse/swt/internal/win32/OUTLINETEXTMETRICA.class to list.
Adding org/eclipse/swt/internal/win32/TEXTMETRICW.class to list.
Adding org/eclipse/swt/internal/win32/OUTLINETEXTMETRICW.class to list.
Adding org/eclipse/swt/internal/win32/PAINTSTRUCT.class to list.
Adding org/eclipse/swt/internal/win32/PRINTDLG.class to list.
Adding org/eclipse/swt/internal/win32/PROCESS_INFORMATION.class to list.
Adding org/eclipse/swt/internal/win32/PROPERTYKEY.class to list.
Adding org/eclipse/swt/internal/win32/REBARBANDINFO.class to list.
Adding org/eclipse/swt/internal/win32/SAFEARRAYBOUND.class to list.
Adding org/eclipse/swt/internal/win32/SAFEARRAY.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_STATE.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_CONTROL.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_ITEM.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.class to list.
Adding org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.class to list.
Adding org/eclipse/swt/internal/win32/SCROLLBARINFO.class to list.
Adding org/eclipse/swt/internal/win32/SCROLLINFO.class to list.
Adding org/eclipse/swt/internal/win32/SHACTIVATEINFO.class to list.
Adding org/eclipse/swt/internal/win32/SIZE.class to list.
Adding org/eclipse/swt/internal/win32/SHDRAGIMAGE.class to list.
Adding org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.class to list.
Adding org/eclipse/swt/internal/win32/SHFILEINFO.class to list.
Adding org/eclipse/swt/internal/win32/SHFILEINFOA.class to list.
Adding org/eclipse/swt/internal/win32/SHFILEINFOW.class to list.
Adding org/eclipse/swt/internal/win32/SHMENUBARINFO.class to list.
Adding org/eclipse/swt/internal/win32/SHRGINFO.class to list.
Adding org/eclipse/swt/internal/win32/SIPINFO.class to list.
Adding org/eclipse/swt/internal/win32/STARTUPINFO.class to list.
Adding org/eclipse/swt/internal/win32/TBBUTTON.class to list.
Adding org/eclipse/swt/internal/win32/TBBUTTONINFO.class to list.
Adding org/eclipse/swt/internal/win32/TCHAR.class to list.
Adding org/eclipse/swt/internal/win32/TCHITTESTINFO.class to list.
Adding org/eclipse/swt/internal/win32/TCITEM.class to list.
Adding org/eclipse/swt/internal/win32/TF_DA_COLOR.class to list.
Adding org/eclipse/swt/internal/win32/TF_DISPLAYATTRIBUTE.class to list.
Adding org/eclipse/swt/internal/win32/TOOLINFO.class to list.
Adding org/eclipse/swt/internal/win32/TOUCHINPUT.class to list.
Adding org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.class to list.
Adding org/eclipse/swt/internal/win32/TRIVERTEX.class to list.
Adding org/eclipse/swt/internal/win32/TVHITTESTINFO.class to list.
Adding org/eclipse/swt/internal/win32/TVINSERTSTRUCT.class to list.
Adding org/eclipse/swt/internal/win32/TVSORTCB.class to list.
Adding org/eclipse/swt/internal/win32/UDACCEL.class to list.
Adding org/eclipse/swt/internal/win32/WINDOWPLACEMENT.class to list.
Adding org/eclipse/swt/internal/win32/WINDOWPOS.class to list.
Adding org/eclipse/swt/internal/win32/WNDCLASS.class to list.
Adding org/eclipse/swt/internal/win32/OS.class to list.
Adding org/eclipse/swt/internal/win32/LOGFONT.class to list.
Adding org/eclipse/swt/internal/Compatibility.class to list.
Adding org/eclipse/swt/SWTError.class to list.
Adding org/eclipse/swt/SWTException.class to list.
Adding org/eclipse/swt/SWT.class to list.
Adding org/eclipse/swt/graphics/FontData.class to list.
Adding org/eclipse/swt/graphics/Resource.class to list.
Adding org/eclipse/swt/graphics/Font.class to list.
Adding org/eclipse/swt/internal/gdip/BitmapData.class to list.
Adding org/eclipse/swt/internal/gdip/ColorPalette.class to list.
Adding org/eclipse/swt/internal/gdip/GdiplusStartupInput.class to list.
Adding org/eclipse/swt/internal/gdip/PointF.class to list.
Adding org/eclipse/swt/internal/gdip/Rect.class to list.
Adding org/eclipse/swt/internal/gdip/RectF.class to list.
Adding org/eclipse/swt/internal/gdip/Gdip.class to list.
Adding org/eclipse/swt/graphics/Pattern.class to list.
Adding org/eclipse/swt/graphics/GCData.class to list.
Adding org/eclipse/swt/graphics/Drawable.class to list.
Adding org/eclipse/swt/graphics/FontMetrics.class to list.
Adding org/eclipse/swt/graphics/ImageLoaderEvent.class to list.
Adding org/eclipse/swt/internal/SWTEventListener.class to list.
Adding org/eclipse/swt/graphics/ImageLoaderListener.class to list.
Adding org/eclipse/swt/internal/image/LEDataInputStream.class to list.
Adding org/eclipse/swt/internal/image/LEDataOutputStream.class to list.
Adding org/eclipse/swt/internal/image/FileFormat.class to list.
Adding org/eclipse/swt/graphics/ImageLoader.class to list.
Adding org/eclipse/swt/graphics/ImageDataLoader.class to list.
Adding org/eclipse/swt/internal/SerializableCompatibility.class to list.
Adding org/eclipse/swt/graphics/RGB.class to list.
Adding org/eclipse/swt/graphics/PaletteData.class to list.
Adding org/eclipse/swt/internal/CloneableCompatibility.class to list.
Adding org/eclipse/swt/graphics/ImageData.class to list.
Adding org/eclipse/swt/graphics/LineAttributes.class to list.
Adding org/eclipse/swt/graphics/PathData.class to list.
Adding org/eclipse/swt/graphics/Path.class to list.
Adding org/eclipse/swt/graphics/Point.class to list.
Adding org/eclipse/swt/graphics/Rectangle.class to list.
Adding org/eclipse/swt/graphics/Region.class to list.
Adding org/eclipse/swt/graphics/Transform.class to list.
Adding org/eclipse/swt/graphics/GC.class to list.
Adding org/eclipse/swt/graphics/Image.class to list.
Adding org/eclipse/swt/graphics/Cursor.class to list.
Adding org/eclipse/swt/graphics/DeviceData.class to list.
Adding org/eclipse/swt/graphics/GlyphMetrics.class to list.
Adding org/eclipse/swt/graphics/TextStyle.class to list.
Adding org/eclipse/swt/graphics/TextLayout.class to list.
Adding org/eclipse/swt/graphics/Device.class to list.
Adding org/eclipse/swt/graphics/Color.class to list.
Adding org/eclipse/swt/internal/ImageList.class to list.
Adding org/eclipse/swt/internal/win32/INPUT.class to list.
Adding org/eclipse/swt/internal/win32/LRESULT.class to list.
Adding org/eclipse/swt/accessibility/AccessibleActionEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleActionListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleAdapter.class to list.
Adding org/eclipse/swt/accessibility/AccessibleAttributeEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTextAttributeEvent.class to list
Adding org/eclipse/swt/accessibility/AccessibleAttributeListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleControlEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleControlListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleEditableTextEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleEditableTextListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleHyperlinkEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleHyperlinkListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTableCellEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTableCellListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTableEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTableListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTextEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTextListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleTextExtendedListener.class to list.
Adding org/eclipse/swt/accessibility/AccessibleValueEvent.class to list.
Adding org/eclipse/swt/accessibility/AccessibleValueListener.class to list.
Adding org/eclipse/swt/internal/ole/win32/CAUUID.class to list.
Adding org/eclipse/swt/internal/ole/win32/CONTROLINFO.class to list.
Adding org/eclipse/swt/internal/ole/win32/DISPPARAMS.class to list.
Adding org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.class to list.
Adding org/eclipse/swt/internal/ole/win32/EXCEPINFO.class to list.
Adding org/eclipse/swt/internal/ole/win32/FORMATETC.class to list.
Adding org/eclipse/swt/internal/ole/win32/FUNCDESC.class to list.
Adding org/eclipse/swt/internal/ole/win32/GUID.class to list.
Adding org/eclipse/swt/internal/ole/win32/LICINFO.class to list.
Adding org/eclipse/swt/internal/ole/win32/OLECMD.class to list.
Adding org/eclipse/swt/internal/ole/win32/OLECMDTEXT.class to list.
Adding org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.class to list.
Adding org/eclipse/swt/internal/ole/win32/STATSTG.class to list.
Adding org/eclipse/swt/internal/ole/win32/STGMEDIUM.class to list.
Adding org/eclipse/swt/internal/ole/win32/TYPEATTR.class to list.
Adding org/eclipse/swt/internal/ole/win32/VARDESC.class to list.
Adding org/eclipse/swt/internal/ole/win32/VARIANT.class to list.
Adding org/eclipse/swt/internal/ole/win32/COM.class to list.
Adding org/eclipse/swt/internal/LONG.class to list.
Adding org/eclipse/swt/internal/ole/win32/COMObject.class to list.
Adding org/eclipse/swt/accessibility/Relation.class to list.
Adding org/eclipse/swt/internal/ole/win32/IUnknown.class to list.
Adding org/eclipse/swt/internal/ole/win32/IDispatch.class to list.
Adding org/eclipse/swt/internal/ole/win32/IAccessible.class to list.
Adding org/eclipse/swt/internal/ole/win32/IEnum.class to list.
Adding org/eclipse/swt/internal/ole/win32/IEnumVARIANT.class to list.
Adding org/eclipse/swt/internal/ole/win32/IServiceProvider.class to list.
Adding org/eclipse/swt/ole/win32/OLE.class to list.
Adding org/eclipse/swt/widgets/TouchSource.class to list.
Adding org/eclipse/swt/widgets/Touch.class to list.
Adding org/eclipse/swt/events/DisposeEvent.class to list.
Adding org/eclipse/swt/events/DisposeListener.class to list.
Adding org/eclipse/swt/widgets/Listener.class to list.
Adding org/eclipse/swt/events/ArmEvent.class to list.
Adding org/eclipse/swt/events/ArmListener.class to list.
Adding org/eclipse/swt/events/ControlEvent.class to list.
Adding org/eclipse/swt/events/ControlListener.class to list.
Adding org/eclipse/swt/events/MouseEvent.class to list.
Adding org/eclipse/swt/events/DragDetectEvent.class to list.
Adding org/eclipse/swt/events/DragDetectListener.class to list.
Adding org/eclipse/swt/events/ExpandEvent.class to list.
Adding org/eclipse/swt/events/ExpandListener.class to list.
Adding org/eclipse/swt/events/FocusEvent.class to list.
Adding org/eclipse/swt/events/FocusListener.class to list.
Adding org/eclipse/swt/events/GestureEvent.class to list.
Adding org/eclipse/swt/events/GestureListener.class to list.
Adding org/eclipse/swt/events/HelpEvent.class to list.
Adding org/eclipse/swt/events/HelpListener.class to list.
Adding org/eclipse/swt/events/KeyEvent.class to list.
Adding org/eclipse/swt/events/KeyListener.class to list.
Adding org/eclipse/swt/events/MenuDetectEvent.class to list.
Adding org/eclipse/swt/events/MenuDetectListener.class to list.
Adding org/eclipse/swt/events/MenuEvent.class to list.
Adding org/eclipse/swt/events/MenuListener.class to list.
Adding org/eclipse/swt/events/ModifyEvent.class to list.
Adding org/eclipse/swt/events/ModifyListener.class to list.
Adding org/eclipse/swt/events/MouseListener.class to list.
Adding org/eclipse/swt/events/MouseMoveListener.class to list.
Adding org/eclipse/swt/events/MouseTrackListener.class to list.
Adding org/eclipse/swt/events/MouseWheelListener.class to list.
Adding org/eclipse/swt/events/PaintEvent.class to list.
Adding org/eclipse/swt/events/PaintListener.class to list.
Adding org/eclipse/swt/events/ShellEvent.class to list.
Adding org/eclipse/swt/events/ShellListener.class to list.
Adding org/eclipse/swt/events/TouchEvent.class to list.
Adding org/eclipse/swt/events/TouchListener.class to list.
Adding org/eclipse/swt/events/TraverseEvent.class to list.
Adding org/eclipse/swt/events/TraverseListener.class to list.
Adding org/eclipse/swt/events/TreeEvent.class to list.
Adding org/eclipse/swt/events/TreeListener.class to list.
Adding org/eclipse/swt/events/VerifyEvent.class to list.
Adding org/eclipse/swt/events/VerifyListener.class to list.
Adding org/eclipse/swt/widgets/TypedListener.class to list.
Adding org/eclipse/swt/widgets/EventTable.class to list.
Adding org/eclipse/swt/widgets/IME.class to list.
Adding org/eclipse/swt/widgets/Caret.class to list.
Adding org/eclipse/swt/widgets/Canvas.class to list.
Adding org/eclipse/swt/widgets/Layout.class to list.
Adding org/eclipse/swt/widgets/Item.class to list.
Adding org/eclipse/swt/widgets/MenuItem.class to list.
Adding org/eclipse/swt/widgets/Scrollable.class to list.
Adding org/eclipse/swt/widgets/ScrollBar.class to list.
Adding org/eclipse/swt/widgets/Dialog.class to list.
Adding org/eclipse/swt/widgets/Monitor.class to list.
Adding org/eclipse/swt/widgets/ToolItem.class to list.
Adding org/eclipse/swt/widgets/ToolBar.class to list.
Adding org/eclipse/swt/widgets/Tray.class to list.
Adding org/eclipse/swt/widgets/TrayItem.class to list.
Adding org/eclipse/swt/widgets/ToolTip.class to list.
Adding org/eclipse/swt/widgets/Shell.class to list.
Adding org/eclipse/swt/widgets/Decorations.class to list.
Adding org/eclipse/swt/widgets/Menu.class to list.
Adding org/eclipse/swt/widgets/Widget.class to list.
Adding org/eclipse/swt/widgets/Event.class to list.
Adding org/eclipse/swt/widgets/TabItem.class to list.
Adding org/eclipse/swt/widgets/TabFolder.class to list.
Adding org/eclipse/swt/widgets/TableItem.class to list.
Adding org/eclipse/swt/widgets/TableColumn.class to list.
Adding org/eclipse/swt/widgets/Table.class to list.
Adding org/eclipse/swt/widgets/TreeItem.class to list.
Adding org/eclipse/swt/widgets/TreeColumn.class to list.
Adding org/eclipse/swt/widgets/Tree.class to list.
Adding org/eclipse/swt/accessibility/Accessible.class to list.
Adding org/eclipse/swt/widgets/Control.class to list.
Adding org/eclipse/swt/widgets/Composite.class to list.
Adding org/eclipse/swt/widgets/RunnableLock.class to list.
Adding org/eclipse/swt/widgets/Synchronizer.class to list.
Adding org/eclipse/swt/widgets/TaskItem.class to list.
Adding org/eclipse/swt/widgets/TaskBar.class to list.
Adding org/eclipse/swt/widgets/Display.class to list.
Adding org/eclipse/swt/events/TypedEvent.class to list.
Adding org/eclipse/swt/events/SelectionEvent.class to list.
Adding org/eclipse/swt/events/SelectionListener.class to list.
Adding org/eclipse/swt/widgets/Button.class to list.
Adding org/eclipse/swt/widgets/DateTime.class to list.
Adding org/eclipse/swt/widgets/Label.class to list.
Adding MySWTTest.class to list.
File Output (ClassDependsList.out)
This file holds an ordered-list of classes, ending with MySwtProj.class.
The Code
#!/bin/bash
# Begin ClassDependsList
# Syntax: ClassDependsList CLASSNAME.class
TRUE=0
FALSE=1
declare -A node_mark_list
function node_mark
{
local node="$1"
node=${node//./0} # Replace all '.' with '0'
node=${node//\//0} # Replace all '/' with '0'
node=${node//\$/0} # Replace all ' with '0'
node_mark_list[$node]="1"
}
function node_is_visited
{
local node="$1"
node=${node//./0} # Replace all '.' with '0'
node=${node//\//0} # Replace all '/' with '0'
node=${node//\$/0} # Replace all ' with '0'
if [ "${node_mark_list[$node]}" == "1" ]; then
return $TRUE
fi
return $FALSE
}
function visit
{
local node="$1"
local child
# Stop traversal if node has already been visited,
# otherwise mark the node as visited and continue
if node_is_visited $node; then
return
else
node_mark $node
fi
# For each child of node, visit it
for child in `ClassDependsOn $node`
do
visit $child
done
# Add node to list
list="${list}${node} "
echo "Adding $node to list." >&2
}
classname="$1"
classname="${classname#.\/}" # Remove "./" from begin of classname if it is there
# For more convenient operation, change the CLASSPREFIX to an absolute path
# which is your base package directory
CLASSPREFIX="."
# Output list
list=""
visit $classname
echo "$list"
DONE