< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java

Print this page
*** 29,11 ***
  
  import com.sun.source.tree.Tree;
  import com.sun.source.util.TreePath;
  import com.sun.tools.javac.code.*;
  import com.sun.tools.javac.code.Symbol.RecordComponent;
- import com.sun.tools.javac.comp.AttrContext;
  import com.sun.tools.javac.comp.Env;
  import com.sun.tools.javac.tree.JCTree.*;
  import com.sun.tools.javac.tree.JCTree.JCPolyExpression.*;
  import com.sun.tools.javac.util.*;
  import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
--- 29,10 ---

*** 194,11 ***
              case PARENS:
                  return isExplicitThisReference(types, currentClass, skipParens(tree));
              case IDENT: {
                  JCIdent ident = (JCIdent)tree;
                  Names names = ident.name.table.names;
!                 return ident.name == names._this || ident.name == names._super;
              }
              case SELECT: {
                  JCFieldAccess select = (JCFieldAccess)tree;
                  Type selectedType = types.erasure(select.selected.type);
                  if (!selectedType.hasTag(TypeTag.CLASS))
--- 193,12 ---
              case PARENS:
                  return isExplicitThisReference(types, currentClass, skipParens(tree));
              case IDENT: {
                  JCIdent ident = (JCIdent)tree;
                  Names names = ident.name.table.names;
!                 return ident.name == names._this && tree.type.tsym == currentClass.tsym ||
+                        ident.name == names._super;
              }
              case SELECT: {
                  JCFieldAccess select = (JCFieldAccess)tree;
                  Type selectedType = types.erasure(select.selected.type);
                  if (!selectedType.hasTag(TypeTag.CLASS))
< prev index next >