コード例 #1
0
        /// <summary>
        /// 创建一个类的注解
        /// </summary>
        /// <param name="_classStruct">类结构体</param>
        /// <returns></returns>
        private string CreateClassDoc(TransClass.ClassStruct _classStruct)
        {
            StringBuilder _classDoc = new StringBuilder();

            _classDoc.Add($"{_classStruct._ParentModule} = {_classStruct._ParentModule} or {{}}");
            _classDoc.NewLine($"---@class {_classStruct._Class} : {_classStruct._InheritedClass}");
            _classDoc.NewLine($"local {_classStruct._Class} = {{}}");
            _classDoc.NewLine($"{_classStruct._ParentModule}.{_classStruct._Class} = {_classStruct._Class}");
            _classDoc.NewLine($"return {_classStruct._Class}");
            int line = _classDoc.FindLine($"{_classStruct._ParentModule}.{_classStruct._Class} = {_classStruct._Class}");

            _classDoc.MoveCursor(line);
            _classDoc.NewLine();
            return(_classDoc.ToString());
        }
コード例 #2
0
        public string Start(TransClass.ClassStruct _classStruct)
        {
            className = _classStruct._Class;
            StringBuilder sb = new StringBuilder(CreateClassDoc(_classStruct));

            if (_classStruct._Functions != null)
            {
                foreach (var function in _classStruct._Functions)
                {
                    sb.Add(CreateFunctionDoc(function));
                    sb.MoveCursor(sb.GetLinesCount() - 1);
                }
            }
            return(sb.GetString());
        }