private static void InitializeTypeNameInfo(ParsedUnqualifiedName from, TypeNameInfo to) { to.Name = from.Rootname; to.Namespace = from.Namespace; to.IsGenericType = from.GenericParameters != null; if (to.IsGenericType) { to.IsOpenGeneric = from.GenericParameters.IsOpenGeneric; if (to.IsOpenGeneric) { for (int i = 0; i < from.GenericParameters.Count; ++i) { to.GenericParameters.Add(null); } } else { foreach (var genericParam in from.GenericParameters.Parameters) { to.GenericParameters.Add(genericParam); } } } }
private static ParseResult Match_UnqualifiedName(InputStream input) { var resultData = new ParsedUnqualifiedName(); var result = Sequence( WithAction(ZeroOrOne(Match_Namespace), r => resultData.Namespace = (string)r.ResultData), WithAction(Match_RootName, r => resultData.Rootname = r.MatchedString), WithAction(ZeroOrOne(Match_GenericParameters), r => resultData.GenericParameters = (GenericParameters)r.ResultData))( input); if (result.Matched) { return(new ParseResult(result.MatchedString, resultData)); } return(result); }
private static ParseResult Match_UnqualifiedName(InputStream input) { var resultData = new ParsedUnqualifiedName(); var result = Sequence( WithAction(ZeroOrOne(Match_Namespace), r => resultData.Namespace = (string)r.ResultData), WithAction(Match_RootName, r => resultData.Rootname = r.MatchedString), WithAction(ZeroOrOne(Match_GenericParameters), r => resultData.GenericParameters = (GenericParameters)r.ResultData))( input); if (result.Matched) { return new ParseResult(result.MatchedString, resultData); } return result; }