private NameNode TraverseThroughReferenceName(TypeReference reference, StartOfTypeNode startOfTypeNode) { NameNode deepestNameNode; if ((reference.IsArray == false) && (reference.IsByReference == false) && (reference.IsPointer == false)) { deepestNameNode = startOfTypeNode.GetNamespace(reference.GetNamespace()).GetName(reference.Name); deepestNameNode = GoDeeperIntoGenericArgumentList(reference, deepestNameNode); } else { var referenceAsTypeSpecification = reference as TypeSpecification; deepestNameNode = TraverseThroughReferenceName(referenceAsTypeSpecification.ElementType, startOfTypeNode); deepestNameNode = deepestNameNode.AddTypeSpecification(referenceAsTypeSpecification); } return(deepestNameNode); }
public StartOfTypeNode AddAnotherArgument() { andNode = andNode ?? new StartOfTypeNode(); return(andNode); }
public StartOfTypeNode StartArgumentList() { startNode = startNode ?? new StartOfTypeNode(); return(startNode); }