langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
changeset 16328 8b9eb42167f6
parent 16327 01a0c0cb811c
child 16332 4297c99c4899
equal deleted inserted replaced
16327:01a0c0cb811c 16328:8b9eb42167f6
  1773             boolean isArrayOp() {
  1773             boolean isArrayOp() {
  1774                 return tree.sym.owner == syms.arrayClass;
  1774                 return tree.sym.owner == syms.arrayClass;
  1775             }
  1775             }
  1776 
  1776 
  1777             boolean isPrivateConstructor() {
  1777             boolean isPrivateConstructor() {
       
  1778                 //hack needed to workaround 292 bug (8005122)
       
  1779                 //when 292 issue is fixed we should simply remove this
  1778                 return tree.sym.name == names.init &&
  1780                 return tree.sym.name == names.init &&
  1779                         (tree.sym.flags() & PRIVATE) != 0;
  1781                         (tree.sym.flags() & PRIVATE) != 0;
       
  1782             }
       
  1783 
       
  1784             boolean receiverAccessible() {
       
  1785                 //hack needed to workaround 292 bug (7087658)
       
  1786                 //when 292 issue is fixed we should remove this and change the backend
       
  1787                 //code to always generate a method handle to an accessible method
       
  1788                 return tree.ownerAccessible;
  1780             }
  1789             }
  1781 
  1790 
  1782             /**
  1791             /**
  1783              * Does this reference needs a bridge (i.e. var args need to be
  1792              * Does this reference needs a bridge (i.e. var args need to be
  1784              * expanded or "super" is used)
  1793              * expanded or "super" is used)
  1785              */
  1794              */
  1786             final boolean needsBridge() {
  1795             final boolean needsBridge() {
  1787                 return isSuper || needsVarArgsConversion() || isArrayOp() || isPrivateConstructor();
  1796                 return isSuper || needsVarArgsConversion() || isArrayOp() ||
       
  1797                         isPrivateConstructor() || !receiverAccessible();
  1788             }
  1798             }
  1789 
  1799 
  1790             Type generatedRefSig() {
  1800             Type generatedRefSig() {
  1791                 return types.erasure(tree.sym.type);
  1801                 return types.erasure(tree.sym.type);
  1792             }
  1802             }