src/share/classes/com/sun/tools/javac/comp/Resolve.java

changeset 2260
fb870c70e774
parent 2219
5bf0af735c61
child 2261
79dc4b992c0a
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Tue Feb 04 18:49:58 2014 -0800
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Thu Feb 06 21:03:03 2014 +0000
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -95,7 +95,7 @@
    1.11      public final boolean boxingEnabled; // = source.allowBoxing();
    1.12      public final boolean varargsEnabled; // = source.allowVarargs();
    1.13      public final boolean allowMethodHandles;
    1.14 -    public final boolean allowDefaultMethods;
    1.15 +    public final boolean allowDefaultMethodsResolution;
    1.16      public final boolean allowStructuralMostSpecific;
    1.17      private final boolean debugResolve;
    1.18      private final boolean compactMethodDiags;
    1.19 @@ -137,7 +137,7 @@
    1.20          verboseResolutionMode = VerboseResolutionMode.getVerboseResolutionMode(options);
    1.21          Target target = Target.instance(context);
    1.22          allowMethodHandles = target.hasMethodHandles();
    1.23 -        allowDefaultMethods = source.allowDefaultMethods();
    1.24 +        allowDefaultMethodsResolution = source.allowDefaultMethodsResolution();
    1.25          allowStructuralMostSpecific = source.allowStructuralMostSpecific();
    1.26          polymorphicSignatureScope = new Scope(syms.noSymbol);
    1.27  
    1.28 @@ -1681,7 +1681,7 @@
    1.29                  bestSoFar : methodNotFound;
    1.30  
    1.31          for (InterfaceLookupPhase iphase2 : InterfaceLookupPhase.values()) {
    1.32 -            if (iphase2 == InterfaceLookupPhase.DEFAULT_OK && !allowDefaultMethods) break;
    1.33 +            if (iphase2 == InterfaceLookupPhase.DEFAULT_OK && !allowDefaultMethodsResolution) break;
    1.34              //keep searching for abstract methods
    1.35              for (Type itype : itypes[iphase2.ordinal()]) {
    1.36                  if (!itype.isInterface()) continue; //skip j.l.Object (included by Types.closure())
    1.37 @@ -1714,7 +1714,7 @@
    1.38                  //from superinterfaces)
    1.39                  if ((s.flags() & (ABSTRACT | INTERFACE | ENUM)) != 0) {
    1.40                      return this;
    1.41 -                } else if (rs.allowDefaultMethods) {
    1.42 +                } else if (rs.allowDefaultMethodsResolution) {
    1.43                      return DEFAULT_OK;
    1.44                  } else {
    1.45                      return null;
    1.46 @@ -3341,7 +3341,7 @@
    1.47              if ((env1.enclClass.sym.flags() & STATIC) != 0) staticOnly = true;
    1.48              env1 = env1.outer;
    1.49          }
    1.50 -        if (allowDefaultMethods && c.isInterface() &&
    1.51 +        if (allowDefaultMethodsResolution && c.isInterface() &&
    1.52                  name == names._super && !isStatic(env) &&
    1.53                  types.isDirectSuperInterface(c, env.enclClass.sym)) {
    1.54              //this might be a default super call if one of the superinterfaces is 'c'

mercurial