JS compiler generates code that clobbers existing namespaces
------------------------------------------------------------

                 Key: THRIFT-1200
                 URL: https://issues.apache.org/jira/browse/THRIFT-1200
             Project: Thrift
          Issue Type: Bug
          Components: JavaScript - Compiler
    Affects Versions: 0.6.1
         Environment: all
            Reporter: Ilya Maykov
            Assignee: Ilya Maykov


The JavaScript compiler currently generates code that will clobber an 
already-existing namespace. It should check if the namespace exists before 
initializing it to {}. Example code pre-patch, assuming the .thrift file has 
the declaration {{namespace js CompanyName.ModuleName}}:

{code:JavaScript}
var CompanyName = {};
CompanyName.ModuleName = {}
{code}

Becomes this after patch:

{code:JavaScript}
if (typeof CompanyName === 'undefined') CompanyName = {};
if (typeof CompanyName.ModuleName === 'undefined') CompanyName.ModuleName = {};
{code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to