private static void _resolve(string filename, string output_dir)
        {
            var fname = Path.GetFileName(filename);
            var lines = File.ReadAllLines(filename);

            string newfilename = output_dir + "/" + fname;

            StreamWriter wr = new StreamWriter(newfilename);

            foreach (var line in lines)
            {
                string writeline = line;
                var    trimmed   = line.Trim();
                if (trimmed.StartsWith("///"))
                {
                    var tokens = trimmed.Split(' ');
                    foreach (var token in tokens)
                    {
                        string         class_name_candidate = token;
                        sates.core.doc doc_var     = sates.core.doc_list.get(token);
                        string         prefix      = "";
                        bool           need_to_fix = false;
                        if (null == doc_var)
                        {
                            // class 이름 앞에 *, -, # 등 다른 어떤 표기 / 문법 등을 위해
                            // 붙혔을 경우를 대비
                            prefix = token.Substring(0, 1);
                            class_name_candidate = token.Remove(0, 1);
                            doc_var = sates.core.doc_list.get(class_name_candidate);
                            if (null != doc_var)
                            {
                                need_to_fix = true;
                            }
                        }
                        if (null != doc_var)
                        {
                            string newstr = "";
                            foreach (var cat in doc_var.category_info)
                            {
                                newstr += cat;
                                newstr += ".";
                            }
                            newstr   += class_name_candidate;
                            writeline = line.Replace(class_name_candidate, newstr);
                            if (need_to_fix)
                            {
                                writeline = writeline.Replace(prefix + newstr, prefix + " " + newstr);
                            }
                        }
                    }
                }
                wr.WriteLine(writeline);
            }
            wr.Close();
            wr.Dispose();
        }
Esempio n. 2
0
        public override void gen(sates.core.doc doc)
        {
            // see https://www.iqasystem.com/news/risk-priority-number/
            //critical_number = severity * occurrence

            doc.get_info("severity").get(out long severity);
            doc.get_info("occurrence").get(out long occurrence);

            var critical_number = severity * occurrence;

            doc.get_info(info_name).set(critical_number);
        }
Esempio n. 3
0
        public override void gen(sates.core.doc doc)
        {
            // see https://www.iqasystem.com/news/risk-priority-number/
            //sod (Severity, Occurrence, Detection) = 100 * severity + 10 * occurrence + detection

            doc.get_info("severity").get(out long severity);
            doc.get_info("occurrence").get(out long occurrence);
            doc.get_info("detection").get(out long detection);

            var sod = 100 * severity + 10 * occurrence + detection;

            doc.get_info("sod").set(sod);
        }
Esempio n. 4
0
        public override void gen(sates.core.doc doc)
        {
            // see https://www.iqasystem.com/news/risk-priority-number/
            //risk_priority_number = severity * occurrence * detection

            doc.get_info("severity").get(out long severity);
            doc.get_info("occurrence").get(out long occurrence);
            doc.get_info("detection").get(out long detection);

            var risk_priority_number = severity * occurrence * detection;

            doc.get_info(info_name).set(risk_priority_number);
        }
Esempio n. 5
0
 public abstract void write(string root_path, sates.core.doc doc, string lang_name);
Esempio n. 6
0
 public abstract void gen(sates.core.doc doc);
Esempio n. 7
0
 public static void wrtie(string root_path, sates.core.doc doc, string lang_name)
 {
 }