コード例 #1
0
        public void ScanType(SemanticModel semanticModel, System.Type type)
        {
            SemanticType_I typeSymbol = semanticModel.GetOrCreateElement(type);

            if (typeSymbol == null)
            {
                return;
            }
        }
コード例 #2
0
ファイル: TypeBaseApi.cs プロジェクト: E01D/Base
        private void AddInterface(SemanticModel_I semanticModel, SemanticType_I implementingTypeSymbol, Type interfaceType)
        {
            var interfaceElement = (SemanticInterface_I)semanticModel.GetOrCreateElement(interfaceType);

            if (implementingTypeSymbol != null)
            {
                if (implementingTypeSymbol.IsClass())
                {
                    if (!interfaceElement.ImplementingClasses.TryGetValue(implementingTypeSymbol.TypeId.Value, out SemanticClass_I classSymbol))
                    {
                        classSymbol = (SemanticClass_I)implementingTypeSymbol;

                        interfaceElement.ImplementingClasses.Add(classSymbol.TypeId.Value, classSymbol);
                    }
                }

                if (!interfaceElement.ImplementingTypes.TryGetValue(implementingTypeSymbol.TypeId.Value, out SemanticType_I existingTypeSymbol))
                {
                    interfaceElement.ImplementingTypes.Add(implementingTypeSymbol.TypeId.Value, implementingTypeSymbol);
                }
            }
        }