Пример #1
0
        internal string GetRename(EdmType type, out IXmlLineInfo lineInfo)
        {
            FunctionImportReturnTypeStructuralTypeColumn structuralTypeColumn = this._renameCache.Evaluate(type as StructuralType);

            lineInfo = (IXmlLineInfo)structuralTypeColumn.LineInfo;
            return(structuralTypeColumn.ColumnName);
        }
Пример #2
0
 internal void AddRename(
     FunctionImportReturnTypeStructuralTypeColumn renamedColumn)
 {
     if (!renamedColumn.IsTypeOf)
     {
         this._columnListForType.Add(renamedColumn);
     }
     else
     {
         this._columnListForIsTypeOfType.Add(renamedColumn);
     }
 }
Пример #3
0
        internal void AddRename(FunctionImportReturnTypeStructuralTypeColumn renamedColumn)
        {
            DebugCheck.NotNull(renamedColumn);

            if (!renamedColumn.IsTypeOf)
            {
                // add to collection if the mapping is for specific type
                _columnListForType.Add(renamedColumn);
            }
            else
            {
                _columnListForIsTypeOfType.Add(renamedColumn);
            }
        }
Пример #4
0
        private static FunctionImportReturnTypeStructuralTypeColumn GetLowestParentInHierarchy(
            IEnumerable <FunctionImportReturnTypeStructuralTypeColumn> nodesInHierarchy)
        {
            FunctionImportReturnTypeStructuralTypeColumn structuralTypeColumn1 = (FunctionImportReturnTypeStructuralTypeColumn)null;

            foreach (FunctionImportReturnTypeStructuralTypeColumn structuralTypeColumn2 in nodesInHierarchy)
            {
                if (structuralTypeColumn1 == null)
                {
                    structuralTypeColumn1 = structuralTypeColumn2;
                }
                else if (structuralTypeColumn1.Type.IsAssignableFrom((EdmType)structuralTypeColumn2.Type))
                {
                    structuralTypeColumn1 = structuralTypeColumn2;
                }
            }
            return(structuralTypeColumn1);
        }
Пример #5
0
        private static FunctionImportReturnTypeStructuralTypeColumn GetLowestParentInHierarchy(
            IEnumerable <FunctionImportReturnTypeStructuralTypeColumn> nodesInHierarchy)
        {
            FunctionImportReturnTypeStructuralTypeColumn lowestParent = null;

            foreach (var node in nodesInHierarchy)
            {
                if (lowestParent == null)
                {
                    lowestParent = node;
                }
                else if (lowestParent.Type.IsAssignableFrom(node.Type))
                {
                    lowestParent = node;
                }
            }
            Debug.Assert(null != lowestParent, "We should have the lowest parent");
            return(lowestParent);
        }
Пример #6
0
        private FunctionImportReturnTypeStructuralTypeColumn GetRename(
            StructuralType typeForRename)
        {
            FunctionImportReturnTypeStructuralTypeColumn structuralTypeColumn1 = this._columnListForType.FirstOrDefault <FunctionImportReturnTypeStructuralTypeColumn>((Func <FunctionImportReturnTypeStructuralTypeColumn, bool>)(t => t.Type == typeForRename));

            if (structuralTypeColumn1 != null)
            {
                return(structuralTypeColumn1);
            }
            FunctionImportReturnTypeStructuralTypeColumn structuralTypeColumn2 = this._columnListForIsTypeOfType.Where <FunctionImportReturnTypeStructuralTypeColumn>((Func <FunctionImportReturnTypeStructuralTypeColumn, bool>)(t => t.Type == typeForRename)).LastOrDefault <FunctionImportReturnTypeStructuralTypeColumn>();

            if (structuralTypeColumn2 != null)
            {
                return(structuralTypeColumn2);
            }
            IEnumerable <FunctionImportReturnTypeStructuralTypeColumn> structuralTypeColumns = this._columnListForIsTypeOfType.Where <FunctionImportReturnTypeStructuralTypeColumn>((Func <FunctionImportReturnTypeStructuralTypeColumn, bool>)(t => t.Type.IsAssignableFrom((EdmType)typeForRename)));

            if (structuralTypeColumns.Count <FunctionImportReturnTypeStructuralTypeColumn>() == 0)
            {
                return(new FunctionImportReturnTypeStructuralTypeColumn(this._defaultMemberName, typeForRename, false, (LineInfo)null));
            }
            return(FunctionImportReturnTypeStructuralTypeColumnRenameMapping.GetLowestParentInHierarchy(structuralTypeColumns));
        }
        internal void AddRename(FunctionImportReturnTypeStructuralTypeColumn renamedColumn)
        {
            DebugCheck.NotNull(renamedColumn);

            if (!renamedColumn.IsTypeOf)
            {
                // add to collection if the mapping is for specific type
                _columnListForType.Add(renamedColumn);
            }
            else
            {
                _columnListForIsTypeOfType.Add(renamedColumn);
            }
        }
        internal void AddRename(FunctionImportReturnTypeStructuralTypeColumn renamedColumn)
        {
            Contract.Requires(renamedColumn != null);

            if (!renamedColumn.IsTypeOf)
            {
                // add to collection if the mapping is for specific type
                _columnListForType.Add(renamedColumn);
            }
            else
            {
                _columnListForIsTypeOfType.Add(renamedColumn);
            }
        }