Changeset 888


Ignore:
Timestamp:
04/10/01 22:21:14 (12 years ago)
Author:
hauma
Message:

bugfix: There is no complete fix for ticket:63. This is a back-fix to

remove the generation of full qualified names for variable accesses
inside remote classes and for final variables. See TransBody for
details.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gj/src/gjc/v6/jp/TransBody.java

    r886 r888  
    1414/* 
    1515 * $Source: /tmp/svn/cvs-repos/javaparty/gj/src/gjc/v6/jp/TransBody.java,v $ 
    16  * $Revision: 1.8 $ 
     16 * $Revision: 1.9 $ 
    1717 * $Aliases$ 
    1818 * $Author: hauma $ 
    19  * $Date: 2001/04/10 19:16:38 $ 
     19 * $Date: 2001/04/10 20:21:14 $ 
    2020 * $State: Exp $ 
    2121 */ 
     
    456456                        // is important if inner classes come into 
    457457                        // play. See See: BUG/0063 
    458                         ref = c.f.Select(tools.getRef(cclazz.tsym), Names._this); 
     458                        if (tools.isRemote(cclazz)) { 
     459                            // This is a great hack, because otherwise 
     460                            // we must predict the class name of the 
     461                            // remote class after the transformation 
     462                            ref = c.f.Ident(Names._this); 
     463                        } else if (tools.isFinal(var)) { 
     464                            // This is another great hack, because 
     465                            // final variables can not be initialized 
     466                            // with a fully qualified name, even with 
     467                            // javac. Is this a bug in javac and gj? 
     468                            ref = c.f.Ident(Names._this); 
     469 
     470                        } else { 
     471                            ref = c.f.Select(tools.getRef(cclazz.tsym), Names._this); 
     472                        } 
    459473                        isStaticRef = false; 
    460474                        isSelfRef = true; 
Note: See TracChangeset for help on using the changeset viewer.