示例#1
0
 public void SetRace(CodeItemRace race, CodeItemFamily family, CodeItemType type = CodeItemType.None)
 {
     ItemRace   = race;
     ItemFamily = family;
     ItemType   = type;
     foreach (var word in Words)
     {
         word.ItemRace   = race;
         word.ItemFamily = family;
         word.ItemType   = type;
     }
 }
示例#2
0
        public static AccessType CheckAccessType(CodeItemType type)
        {
            switch (type)
            {
            case CodeItemType.Key_Public:
                return(AccessType.Public);

            case CodeItemType.Key_Private:
                return(AccessType.Private);

            case CodeItemType.Key_Protected:
                return(AccessType.Protected);

            case CodeItemType.Key_Internal:
                return(AccessType.Internal);
            }
            return(AccessType.Private);
        }
示例#3
0
        public CodeItem(string data, CodeItemType type, bool isEncoded, EditablePortalItem parent)
        {
            Type   = type;
            state  = CodeItemState.None;
            Parent = parent;

            if (string.IsNullOrEmpty(data))
            {
                content = string.Empty;
                return;
            }

            if (isEncoded)
            {
                encodedContent = data;
                content        = Encoding.UTF8.GetString(Convert.FromBase64String(data));
            }
            else
            {
                content = data;
            }
        }
 public void SetRace(CodeItemRace race = CodeItemRace.None, CodeItemFamily family = CodeItemFamily.None, CodeItemType type = CodeItemType.None)
 {
     ItemRace   = race;
     ItemFamily = family;
     ItemType   = type;
 }
示例#5
0
        /// <summary>
        ///     分析特性
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static bool CheckFeature(object obj, CodeItemType type)
        {
            IFeature f = obj as IFeature;

            if (f != null)
            {
                switch (type)
                {
                case CodeItemType.Key_Partial:
                    f.Feature |= ObjectFeature.Partial;
                    return(true);

                case CodeItemType.Key_Sealed:
                    f.Feature |= ObjectFeature.Sealed;
                    return(true);

                case CodeItemType.Key_Static:
                    f.Feature |= ObjectFeature.Static;
                    return(true);

                case CodeItemType.Key_Abstract:
                    f.Feature |= ObjectFeature.Abstract;
                    return(true);

                case CodeItemType.Key_Override:
                    f.Feature |= ObjectFeature.Override;
                    return(true);

                case CodeItemType.Key_Virtual:
                    f.Feature |= ObjectFeature.Virtual;
                    return(true);

                case CodeItemType.Key_New:
                    f.Feature |= ObjectFeature.New;
                    return(true);

                case CodeItemType.Key_Implicit:
                    f.Feature |= ObjectFeature.Implicit;
                    return(true);

                case CodeItemType.Key_Explicit:
                    f.Feature |= ObjectFeature.Explicit;
                    return(true);

                case CodeItemType.Key_Const:
                    f.Feature |= ObjectFeature.Const;
                    return(true);

                case CodeItemType.Key_Readonly:
                    f.Feature |= ObjectFeature.ReadOnly;
                    return(true);

                case CodeItemType.Key_Ref:
                    f.Feature |= ObjectFeature.Ref;
                    return(true);

                case CodeItemType.Key_Out:
                    f.Feature |= ObjectFeature.Out;
                    return(true);

                case CodeItemType.Key_Extern:
                    f.Feature |= ObjectFeature.Extern;
                    return(true);

                case CodeItemType.Key_Unchecked:
                    f.Feature |= ObjectFeature.Unchecked;
                    return(true);

                case CodeItemType.Key_Unsafe:
                    f.Feature |= ObjectFeature.Unsafe;
                    return(true);

                case CodeItemType.Key_Volatile:
                    f.Feature |= ObjectFeature.Volatile;
                    return(true);

                case CodeItemType.Key_Lock:
                    f.Feature |= ObjectFeature.Lock;
                    return(true);

                case CodeItemType.Key_Stackalloc:
                    f.Feature |= ObjectFeature.Stackalloc;
                    return(true);

                case CodeItemType.Key_Params:
                    f.Feature |= ObjectFeature.Params;
                    return(true);

                case CodeItemType.Key_In:
                    f.Feature |= ObjectFeature.In;
                    return(true);

                case CodeItemType.Key_Operator:
                    f.Feature |= ObjectFeature.Operator;
                    return(true);
                }
            }
            IAccess a = obj as IAccess;

            if (a == null)
            {
                return(false);
            }
            switch (type)
            {
            case CodeItemType.Key_Public:
                a.AccessType |= AccessType.Public;
                return(true);

            case CodeItemType.Key_Private:
                a.AccessType |= AccessType.Private;
                return(true);

            case CodeItemType.Key_Protected:
                a.AccessType |= AccessType.Protected;
                return(true);

            case CodeItemType.Key_Internal:
                a.AccessType |= AccessType.Internal;
                return(true);
            }
            return(false);
        }
示例#6
0
        /// <summary>
        ///     分析特性
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static ObjectFeature CheckFeature(CodeItemType type)
        {
            switch (type)
            {
            case CodeItemType.Key_Partial:
                return(ObjectFeature.Partial);

            case CodeItemType.Key_Sealed:
                return(ObjectFeature.Sealed);

            case CodeItemType.Key_Static:
                return(ObjectFeature.Static);

            case CodeItemType.Key_Abstract:
                return(ObjectFeature.Abstract);

            case CodeItemType.Key_Override:
                return(ObjectFeature.Override);

            case CodeItemType.Key_Virtual:
                return(ObjectFeature.Virtual);

            case CodeItemType.Key_New:
                return(ObjectFeature.New);

            case CodeItemType.Key_Implicit:
                return(ObjectFeature.Implicit);

            case CodeItemType.Key_Explicit:
                return(ObjectFeature.Explicit);

            case CodeItemType.Key_Const:
                return(ObjectFeature.Const);

            case CodeItemType.Key_Readonly:
                return(ObjectFeature.ReadOnly);

            case CodeItemType.Key_Ref:
                return(ObjectFeature.Ref);

            case CodeItemType.Key_Out:
                return(ObjectFeature.Out);

            case CodeItemType.Key_Extern:
                return(ObjectFeature.Extern);

            case CodeItemType.Key_Unchecked:
                return(ObjectFeature.Unchecked);

            case CodeItemType.Key_Unsafe:
                return(ObjectFeature.Unsafe);

            case CodeItemType.Key_Volatile:
                return(ObjectFeature.Volatile);

            case CodeItemType.Key_Lock:
                return(ObjectFeature.Lock);

            case CodeItemType.Key_Stackalloc:
                return(ObjectFeature.Stackalloc);

            case CodeItemType.Key_Params:
                return(ObjectFeature.Params);

            case CodeItemType.Key_In:
                return(ObjectFeature.In);

            case CodeItemType.Key_Operator:
                return(ObjectFeature.Operator);
            }
            return(ObjectFeature.None);
        }