internal static void WriteDeclaredValues( CodeTextWriter twSource, TranslateContext translateContext) { IExtractContext extractContext = translateContext; var declaredValues = extractContext. ExtractDeclaredValues(). ToArray(); if (declaredValues.Length >= 1) { twSource.WriteLine("//////////////////////////////////////////////////////////////////////////////////"); twSource.WriteLine("// [12-1] Declared values:"); foreach (var information in extractContext.ExtractDeclaredValues()) { twSource.SplitLine(); foreach (var declaredFields in information.DeclaredFields) { twSource.WriteLine( "// {0}", declaredFields.FriendlyName); } var targetType = (information.HintTypes.Length == 1) ? information.HintTypes[0] : extractContext.MetadataContext.ByteType.MakeArray(); Debug.Assert(targetType.IsArray); var elementType = targetType.ElementType.ResolveToRuntimeType(); var values = Utilities.ResourceDataToSpecificArray(information.ResourceData, elementType); var lhs = targetType.GetCLanguageTypeName(information.SymbolName, true); var expr = Utilities.GetCLanguageExpression(values); twSource.WriteLine( "static const {0} =", lhs); using (var _ = twSource.Shift()) { twSource.WriteLine( "{0};", expr); } } twSource.SplitLine(); } }