Esempio n. 1
0
        protected virtual void PreviewVisitTypeTemplate(TemplateTypeSymbol t)
        {
            switch (t.ItemCount)
            {
            default: throw new NotSupportedException();

            case 1:
                VisitTypeTemplate1((TemplateTypeSymbol1)t);
                break;

            case 2:
                VisitTypeTemplate2((TemplateTypeSymbol2)t);
                break;

            case 3:
                VisitTypeTemplate3((TemplateTypeSymbol3)t);
                break;
            }
        }
Esempio n. 2
0
        //
        protected virtual void PreviewVisitSimpleTypeNonPrimitive(SimpleTypeSymbol t)
        {
            //check its base
            TypeSymbol baseType = t.BaseType;

            if (baseType == null)
            {
                VisitSimpleTypeNoBaseType(t);
            }
            else
            {
                switch (baseType.TypeSymbolKind)
                {
                default:
                    VisitSimpleTypeOtherBase(t);
                    break;

                case TypeSymbolKind.Template:
                {
                    TemplateTypeSymbol tt = (TemplateTypeSymbol)baseType;
                    switch (tt.ItemCount)
                    {
                    default:
                        throw new NotSupportedException();

                    case 1:
                        VisitSimpleTypeBase1(t, (TemplateTypeSymbol1)tt);
                        break;

                    case 2:
                        VisitSimpleTypeBase2(t, (TemplateTypeSymbol2)tt);
                        break;

                    case 3:
                        VisitSimpleTypeBase3(t, (TemplateTypeSymbol3)tt);
                        break;
                    }
                }
                break;
                }
            }
        }