예제 #1
0
        private Part CreateObjectTypePart(IObjectModelTypeDeclaration decl)
        {
            switch (decl.TypePartKind)
            {
            case FSharpPartKind.Class:
                return(new ClassPart(decl, Builder));

            case FSharpPartKind.Interface:
                return(new InterfacePart(decl, Builder));

            case FSharpPartKind.Struct:
                return(new StructPart(decl, Builder));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #2
0
 public override void VisitObjectModelTypeDeclaration(IObjectModelTypeDeclaration decl)
 {
     Builder.StartPart(CreateObjectTypePart(decl, false));
     ProcessTypeMembers(decl.MemberDeclarations);
     Builder.EndPart();
 }