예제 #1
0
        public void Add(IType type)
        {
            string name = GetDecoratedName(type);

            if (containingTypes.ContainsKey(name))
            {
                containingTypes[name] = CompoundType.Merge(containingTypes[name], type);
            }
            else
            {
                containingTypes[name] = type;
            }
        }
예제 #2
0
        IType CheckType(IType type)
        {
            if (type == null)
            {
                return(null);
            }
            var cu = info.ParsedDocument.CompilationUnit;

            if (type.IsPartial && cu.Types[0].FullName == type.FullName)
            {
                if (constructedType != null)
                {
                    return(constructedType);
                }
                constructedType = CompoundType.Merge(cu.Types[0], type);
                constructedType = CompoundType.Merge(constructedType, info.CodeBesideClass);
                constructedType.SourceProjectDom = this;
                return(constructedType);
            }
            return(type);
        }