private BoundType BindTypeDefinition(TypeDefinitionSyntax syntax, Symbol parent)
{
switch (syntax.Kind)
{
case SyntaxKind.ClassType:
return BindClassDeclaration((ClassTypeSyntax) syntax, parent);
case SyntaxKind.StructType:
return BindStructDeclaration((StructTypeSyntax) syntax, parent);
case SyntaxKind.InterfaceType:
return BindInterfaceDeclaration((InterfaceTypeSyntax) syntax, parent);
default:
throw new ArgumentOutOfRangeException();
}
}
}