private static XpidlNativeType CreateXpidlNativeType(ComplexSyntaxNode nativeTypeSyntaxNode) { ValidateSyntaxNode(nativeTypeSyntaxNode); String name; String definition; XpidlModifiers<XpidlNativeTypeModifier> modifiers = null; switch ((RuleConstants)nativeTypeSyntaxNode.Rule.Index) { case RuleConstants.XpidlNativeType1: name = CreateXpidlId((SimpleSyntaxNode) nativeTypeSyntaxNode[1]); definition = CreateXpidlNativeTypeDefinition((ComplexSyntaxNode) nativeTypeSyntaxNode[3]); break; case RuleConstants.XpidlNativeType2: name = CreateXpidlId((SimpleSyntaxNode)nativeTypeSyntaxNode[2]); definition = CreateXpidlNativeTypeDefinition((ComplexSyntaxNode)nativeTypeSyntaxNode[4]); modifiers = CreateNativeTypeModifiers((ComplexSyntaxNode) nativeTypeSyntaxNode[0]); break; default: throw new ArgumentException(mc_InvalidSyntaxNode, "nativeTypeSyntaxNode"); } var xpidlNativeType = new XpidlNativeType(name, definition, modifiers); return xpidlNativeType; }
internal void AddNode(XpidlNativeType xpidlNativeType) { AddNodeImpl(xpidlNativeType); }