// ビューから呼び出す public static ImageDescriptor getImageDescriptor(String key, String fileName) { try { IPath path = new Path("icons/" + fileName); URL url = FileLocator.find(bundle, path, null); LogControl log = new LogControl(""); log.println("url:" + url.toString()); if (url != null) { ImageDescriptor desc = ImageDescriptor.createFromURL(url); log.println("desc:" + desc.toString()); return desc; } } catch (Exception e) { e.printStackTrace(); } return null; }
private static void printResult( String desiredType, ArrayList<Type> new_types, ArrayList<Function> new_funcs, long time, String state) { LogControl logControl = new LogControl(LogControl.KP); // コードコンプリーションのときはログ状態の表示を行う。サーチモードのときはログ状態の表示を毎回行わない。邪魔なので。 if (state.equals(KpRunningState.CODE_COMPLETION)) logControl.printLogState(); // new_typesに含まれる空文字列削除 new_types.remove(new Type("")); logControl.println(">>> start keyword programming >>>"); logControl.println(""); logControl.println(" >> 基本情報 >>", LogControl.KP_BASIC); logControl.println( " 実行にかかった時間= " + time + " ミリ秒。KeywordProgramming.printResult", LogControl.KP_BASIC); logControl.println(" BEST_R =" + BEST_R); logControl.print(" 入力キーワード= ", LogControl.KP_BASIC); for (String w : input_keywords) logControl.print(w + ", ", LogControl.KP_BASIC); logControl.println(""); logControl.println(" 出力候補の望ましい返り値の型= " + desiredType, LogControl.KP_BASIC); logControl.println(" 入力キーワード数=" + input_keywords.size()); logControl.println(" 総型数= " + types.size(), LogControl.KP_BASIC); if (new_types != null) logControl.println(" ローカルの型数= " + new_types.size(), LogControl.KP_BASIC); logControl.println(" 総関数数= " + functions.size(), LogControl.KP_BASIC); if (new_funcs != null) logControl.println(" ローカルの関数数= " + new_funcs.size(), LogControl.KP_BASIC); if (outputFunctionTrees != null) logControl.println(" 生成された出力の総数= " + outputFunctionTrees.length, LogControl.KP_BASIC); logControl.println( " 特徴の重みの組= (" + ExplanationVector.getWeightString() + ")", LogControl.KP_BASIC); logControl.println(" << 基本情報 <<", LogControl.KP_BASIC); logControl.println("", LogControl.KP_BASIC); if (new_types != null) logControl.println(" ローカルの型数= " + new_types.size(), LogControl.KP_TYPES); logControl.println(" >> ローカルの型一覧 >>", LogControl.KP_TYPES); if (new_types != null) { for (Type t : new_types) { logControl.println(" " + t.toDBString(), LogControl.KP_TYPES); } } logControl.println(" << ローカルの型一覧 <<", LogControl.KP_TYPES); logControl.println("", LogControl.KP_TYPES); if (new_funcs != null) logControl.println(" ローカルの関数数= " + new_funcs.size(), LogControl.KP_FUNCTIONS); logControl.println( " >> ローカルの関数一覧 >> 出力形式:[親クラス名, isStatic, isFinal, type(field or constructor or method or localvariable), 返り値の型, 名前, ラベル(区切り文字;), 引数の型(何個でも) ]", LogControl.KP_FUNCTIONS); if (new_funcs != null) { for (Function f : new_funcs) { logControl.println(" " + f.toDBString(), LogControl.KP_FUNCTIONS); } } logControl.println( " << ローカルの関数一覧s << 出力形式:[親クラス名, isStatic, isFinal, type(field or constructor or method or localvariable), 返り値の型, 名前, ラベル(区切り文字;), 引数の型(何個でも) ]", LogControl.KP_FUNCTIONS); logControl.println("", LogControl.KP_FUNCTIONS); logControl.println( " >> 出力候補一覧 >> 出力形式:[評価値, p(4つの特徴量), e_i(長さはキーワード数に等しい), 出力文字列]", LogControl.KP_RESULTS); for (FunctionTree t : outputFunctionTrees) { if (t != null) { logControl.println( " " + t.toEvalString() + t.toCompleteMethodString(), LogControl.KP_RESULTS); // logControl.out(t.toLogDBString()); } } logControl.println( " << 出力候補一覧 << 出力形式:[評価値, p(4つの特徴量), e_i(長さはキーワード数に等しい), 出力文字列]", LogControl.KP_RESULTS); logControl.println("", LogControl.KP_RESULTS); logControl.println("<<< end keyword programming <<<"); logControl.close(); }