Beispiel #1
0
        protected void CheckNodeTypeIsKnown(SequenceCheckingEnvironment env, SequenceExpression typeExpr, String whichArgument)
        {
            if (typeExpr == null || typeExpr.Type(env) == "")
            {
                return;
            }

            string typeString = GetTypeString(env, typeExpr);

            if (TypesHelper.GetNodeType(typeString, env.Model) == null && typeString != null)
            {
                throw new SequenceParserException(Symbol + whichArgument, "node type or string denoting node type", typeString);
            }
        }
Beispiel #2
0
        public static IDeque FillDeque(IDeque dequeToCopyTo, string valueTypeName, IDeque dequeToCopy, IGraphModel model)
        {
            NodeType nodeType = TypesHelper.GetNodeType(valueTypeName, model);

            if (nodeType != null)
            {
                FillDequeWithNode(dequeToCopyTo, nodeType, dequeToCopy);
            }
            else
            {
                EdgeType edgeType = TypesHelper.GetEdgeType(valueTypeName, model);
                if (edgeType != null)
                {
                    FillDequeWithEdge(dequeToCopyTo, edgeType, dequeToCopy);
                }
                else
                {
                    Type varType = TypesHelper.GetType(valueTypeName, model);
                    FillDequeWithVar(dequeToCopyTo, varType, dequeToCopy);
                }
            }
            return(dequeToCopyTo);
        }
Beispiel #3
0
        public static IDictionary FillMapWithKeyVar(IDictionary mapToCopyTo, Type keyVarType, string valueTypeName, IDictionary mapToCopy, IGraphModel model)
        {
            NodeType nodeType = TypesHelper.GetNodeType(valueTypeName, model);

            if (nodeType != null)
            {
                FillMapWithKeyVarValueNode(mapToCopyTo, keyVarType, nodeType, mapToCopy);
            }
            else
            {
                EdgeType edgeType = TypesHelper.GetEdgeType(valueTypeName, model);
                if (edgeType != null)
                {
                    FillMapWithKeyVarValueEdge(mapToCopyTo, keyVarType, edgeType, mapToCopy);
                }
                else
                {
                    Type valueType = TypesHelper.GetType(valueTypeName, model);
                    FillMapWithKeyVarValueVar(mapToCopyTo, keyVarType, valueType, mapToCopy);
                }
            }
            return(mapToCopyTo);
        }
Beispiel #4
0
        public static Dictionary <K, V> FillMap <K, V>(Dictionary <K, V> mapToCopyTo, string keyTypeName, string valueTypeName, IDictionary mapToCopy, IGraphModel model)
        {
            NodeType nodeType = TypesHelper.GetNodeType(keyTypeName, model);

            if (nodeType != null)
            {
                FillMapWithKeyNode(mapToCopyTo, nodeType, valueTypeName, mapToCopy, model);
            }
            else
            {
                EdgeType edgeType = TypesHelper.GetEdgeType(keyTypeName, model);
                if (edgeType != null)
                {
                    FillMapWithKeyEdge(mapToCopyTo, edgeType, valueTypeName, mapToCopy, model);
                }
                else
                {
                    Type varType = TypesHelper.GetType(keyTypeName, model);
                    FillMapWithKeyVar(mapToCopyTo, varType, valueTypeName, mapToCopy, model);
                }
            }
            return(mapToCopyTo);
        }
Beispiel #5
0
        public static Dictionary <K, SetValueType> FillSet <K>(Dictionary <K, SetValueType> setToCopyTo, string valueTypeName, IDictionary setToCopy, IGraphModel model)
        {
            NodeType nodeType = TypesHelper.GetNodeType(valueTypeName, model);

            if (nodeType != null)
            {
                FillSetWithNode(setToCopyTo, nodeType, setToCopy);
            }
            else
            {
                EdgeType edgeType = TypesHelper.GetEdgeType(valueTypeName, model);
                if (edgeType != null)
                {
                    FillSetWithEdge(setToCopyTo, edgeType, setToCopy);
                }
                else
                {
                    Type varType = TypesHelper.GetType(valueTypeName, model);
                    FillSetWithVar(setToCopyTo, varType, setToCopy);
                }
            }
            return(setToCopyTo);
        }
Beispiel #6
0
        public static IList FillArray(IList arrayToCopyTo, string valueTypeName, IList arrayToCopy, IGraphModel model)
        {
            NodeType nodeType = TypesHelper.GetNodeType(valueTypeName, model);

            if (nodeType != null)
            {
                FillArrayWithNode(arrayToCopyTo, nodeType, arrayToCopy);
            }
            else
            {
                EdgeType edgeType = TypesHelper.GetEdgeType(valueTypeName, model);
                if (edgeType != null)
                {
                    FillArrayWithEdge(arrayToCopyTo, edgeType, arrayToCopy);
                }
                else
                {
                    Type varType = TypesHelper.GetType(valueTypeName, model);
                    FillArrayWithVar(arrayToCopyTo, varType, arrayToCopy);
                }
            }
            return(arrayToCopyTo);
        }