Esempio n. 1
0
 /// <summary>
 /// Decides whether the node is compiste or not.
 /// </summary>
 /// <param name="node">[in] The node which is being examined.</param>
 /// <returns>Returns true if the node is not composite.</returns>
 public static bool getIsNotComposite(Columbus.Lim.Asg.Nodes.Base.Base node)
 {
     Types.NodeKind ndk = node.NodeKind;
     return
         (ndk == Types.NodeKind.ndkBase ||
          ndk == Types.NodeKind.ndkComment ||
          ndk == Types.NodeKind.ndkControlFlowBlock ||
          ndk == Types.NodeKind.ndkNamed ||
          ndk == Types.NodeKind.ndkComponent ||
          ndk == Types.NodeKind.ndkGenericParameter ||
          ndk == Types.NodeKind.ndkMember ||
          ndk == Types.NodeKind.ndkAttribute ||
          ndk == Types.NodeKind.ndkScope ||
          ndk == Types.NodeKind.ndkClass ||
          ndk == Types.NodeKind.ndkClassGenericInstance ||
          ndk == Types.NodeKind.ndkPackage ||
          ndk == Types.NodeKind.ndkParameter ||
          ndk == Types.NodeKind.ndkFSEntry ||
          ndk == Types.NodeKind.ndkFile ||
          ndk == Types.NodeKind.ndkAttributeAccess ||
          ndk == Types.NodeKind.ndkFriendship ||
          ndk == Types.NodeKind.ndkMethodCall ||
          ndk == Types.NodeKind.ndkSimpleType ||
          ndk == Types.NodeKind.ndkType ||
          ndk == Types.NodeKind.ndkTypeFormer ||
          ndk == Types.NodeKind.ndkTypeFormerArray ||
          ndk == Types.NodeKind.ndkTypeFormerMethod ||
          ndk == Types.NodeKind.ndkTypeFormerNonType ||
          ndk == Types.NodeKind.ndkTypeFormerPointer ||
          ndk == Types.NodeKind.ndkTypeFormerType);
 }
Esempio n. 2
0
 public static bool getIsAPSpecNode(Columbus.Lim.Asg.Nodes.Base.Base node)
 {
     Types.NodeKind ndk = node.NodeKind;
     return
         (ndk == Types.NodeKind.ndkComment ||
          ndk == Types.NodeKind.ndkComponent ||
          ndk == Types.NodeKind.ndkAttributeAccess ||
          ndk == Types.NodeKind.ndkFriendship ||
          ndk == Types.NodeKind.ndkMethodCall ||
          ndk == Types.NodeKind.ndkFileSystem ||
          ndk == Types.NodeKind.ndkSimpleType ||
          ndk == Types.NodeKind.ndkType ||
          ndk == Types.NodeKind.ndkTypeFormerArray ||
          ndk == Types.NodeKind.ndkTypeFormerMethod ||
          ndk == Types.NodeKind.ndkTypeFormerNonType ||
          ndk == Types.NodeKind.ndkTypeFormerPointer ||
          ndk == Types.NodeKind.ndkTypeFormerType);
 }
Esempio n. 3
0
        /// <summary>
        /// Decides whether the 'baseKind' is one of the base kinds (transitive) of 'what'.
        /// </summary>
        /// <param name="what">[in] The examined node kind.</param>
        /// <param name="baseKind">[in] The base node kind.</param>
        /// <returns>Returns true if 'baseKind' is a basekind of 'what'.</returns>
        public static bool getIsBaseClassKind(Types.NodeKind what, Types.NodeKind baseKind)
        {
            Types.NodeKind type = what;

            while (type != baseKind)
            {
                switch (type)
                {
                case Types.NodeKind.ndkBase:
                    return(false);

                case Types.NodeKind.ndkComment:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkComponent:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkControlFlowBlock:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkNamed:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkAttribute:
                    type = Types.NodeKind.ndkMember;
                    break;

                case Types.NodeKind.ndkAttributeAccess:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkClass:
                    type = Types.NodeKind.ndkScope;
                    break;

                case Types.NodeKind.ndkClassGeneric:
                    type = Types.NodeKind.ndkClass;
                    break;

                case Types.NodeKind.ndkClassGenericInstance:
                    type = Types.NodeKind.ndkClass;
                    break;

                case Types.NodeKind.ndkClassGenericSpec:
                    type = Types.NodeKind.ndkClassGeneric;
                    break;

                case Types.NodeKind.ndkFriendship:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkGenericParameter:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkMember:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkMethod:
                    type = Types.NodeKind.ndkScope;
                    break;

                case Types.NodeKind.ndkMethodCall:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkMethodGeneric:
                    type = Types.NodeKind.ndkMethod;
                    break;

                case Types.NodeKind.ndkMethodGenericInstance:
                    type = Types.NodeKind.ndkMethod;
                    break;

                case Types.NodeKind.ndkMethodGenericSpec:
                    type = Types.NodeKind.ndkMethodGeneric;
                    break;

                case Types.NodeKind.ndkPackage:
                    type = Types.NodeKind.ndkScope;
                    break;

                case Types.NodeKind.ndkParameter:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkScope:
                    type = Types.NodeKind.ndkMember;
                    break;

                case Types.NodeKind.ndkFSEntry:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkFile:
                    type = Types.NodeKind.ndkFSEntry;
                    break;

                case Types.NodeKind.ndkFileSystem:
                    type = Types.NodeKind.ndkNamed;
                    break;

                case Types.NodeKind.ndkFolder:
                    type = Types.NodeKind.ndkFSEntry;
                    break;

                case Types.NodeKind.ndkSimpleType:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkType:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkTypeFormer:
                    type = Types.NodeKind.ndkBase;
                    break;

                case Types.NodeKind.ndkTypeFormerArray:
                    type = Types.NodeKind.ndkTypeFormer;
                    break;

                case Types.NodeKind.ndkTypeFormerMethod:
                    type = Types.NodeKind.ndkTypeFormer;
                    break;

                case Types.NodeKind.ndkTypeFormerNonType:
                    type = Types.NodeKind.ndkTypeFormer;
                    break;

                case Types.NodeKind.ndkTypeFormerPointer:
                    type = Types.NodeKind.ndkTypeFormer;
                    break;

                case Types.NodeKind.ndkTypeFormerType:
                    type = Types.NodeKind.ndkTypeFormer;
                    break;
                }
            }

            return(true);
        }