Thomas Lazar created THRIFT-2589:
------------------------------------

             Summary: C# generator: const of BaseType in IDL generates static 
instead of const properties
                 Key: THRIFT-2589
                 URL: https://issues.apache.org/jira/browse/THRIFT-2589
             Project: Thrift
          Issue Type: Bug
          Components: C# - Compiler
    Affects Versions: 0.9.1
         Environment: Windows 7
            Reporter: Thomas Lazar


Compiling a thrift file containing const definitions for basetype variables 
results in static properties {{public static whatsits}} being generated. Should 
generate const properties {{public const whatsits}}.

Current version generates this from test/ConstantsDemo.thrift

{code}
public static class ConstantsDemoConstants
{
  public static int myInt = 3;
  public static int hex_const = 31;
  public static int GEN_ME = -3523553;
  public static double GEn_DUB = 325.532;
  public static double GEn_DU = 85.2355;
  public static string GEN_STRING = "asldkjasfd";
  public static Dictionary<int, int> GEN_MAP = new Dictionary<int, int>();
  public static List<int> GEN_LIST = new List<int>();
...
{code}

The code should instead look like this. 

{code}
public static class ConstantsDemoConstants
{
  public const int myInt = 3;
  public const int hex_const = 31;
  public const int GEN_ME = -3523553;
  public const double GEn_DUB = 325.532;
  public const double GEn_DU = 85.2355;
  public const string GEN_STRING = "asldkjasfd";
  public static Dictionary<int, int> GEN_MAP = new Dictionary<int, int>();
  public static List<int> GEN_LIST = new List<int>();
...
{code}

A patch for this change is supplied. 

As i don't really know yet how the testing for these kind of changes is done i 
haven't supplied one. But generating all the .thrift files in test with a 
before and after version of the compiler and comparing the output of both 
looked good to me. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to