Skip to content

Commit

Permalink
Merge pull request #10348 from eclipse/revert-10329-lookupobj
Browse files Browse the repository at this point in the history
Revert "Selectively enforce lookup class package check"
  • Loading branch information
DanHeidinga committed Aug 6, 2020
2 parents cf890cc + 0fec800 commit cfe5112
Showing 1 changed file with 6 additions and 17 deletions.
Expand Up @@ -215,23 +215,12 @@ static final public class Lookup {
accessMode = lookupMode;
}

/* For Java 15, the default is not to check for the "java.lang.invoke" package.
* For earlier releases, these lookups are illegal
*/
private static boolean lookupJLIPackageCheckDefault() {
/*[IF Java15]
return false;
/*[ELSE] Java15*/
return true;
/*[ENDIF] Java15*/
}

Lookup(Class<?> lookupClass, Class<?> prevLookupClass, int lookupMode) {
this(lookupClass, prevLookupClass, lookupMode, lookupJLIPackageCheckDefault());
this(lookupClass, prevLookupClass, lookupMode, true);
}

Lookup(Class<?> lookupClass, int lookupMode, boolean doCheck) {
this(lookupClass, null, lookupMode, lookupJLIPackageCheckDefault());
this(lookupClass, null, lookupMode, doCheck);
}

Lookup(Class<?> lookupClass, int lookupMode) {
Expand Down Expand Up @@ -1437,7 +1426,7 @@ public MethodHandles.Lookup in(Class<?> lookupClass) {
newPrevAccessClass = null;
}

return new Lookup(lookupClass, newPrevAccessClass, newAccessMode, true);
return new Lookup(lookupClass, newPrevAccessClass, newAccessMode);
/*[ELSE]*/
return new Lookup(lookupClass, newAccessMode);
/*[ENDIF] Java14*/
Expand Down Expand Up @@ -2225,7 +2214,7 @@ public MethodHandles.Lookup dropLookupMode(int dropMode) {
newPrevAccessClass = null;
}

return new Lookup(accessClass, newPrevAccessClass, newAccessMode, true);
return new Lookup(accessClass, newPrevAccessClass, newAccessMode);
/*[ELSE]*/
return new Lookup(accessClass, newAccessMode);
/*[ENDIF] Java14*/
Expand Down Expand Up @@ -2494,9 +2483,9 @@ public static MethodHandles.Lookup privateLookupIn(Class<?> targetClass, MethodH

/*[IF Java14]*/
if (Objects.equals(targetClassModule, accessClassModule)) {
return new Lookup(targetClass, null, callerLookupMode, true);
return new Lookup(targetClass, null, callerLookupMode);
} else {
return new Lookup(targetClass, callerLookup.lookupClass(), (callerLookupMode & ~Lookup.MODULE), true);
return new Lookup(targetClass, callerLookup.lookupClass(), (callerLookupMode & ~Lookup.MODULE));
}
/*[ELSE]*/
return new Lookup(targetClass);
Expand Down

0 comments on commit cfe5112

Please sign in to comment.