Skip to content

Commit f21bd1c

Browse files
committed
Painless: Clean Up PainlessClass Variables (#32380)
Removes the variables name, clazz, and type as they are unnecessary. Renames staticMembers -> staticFields, members -> fields, getters -> getterMethodHandles, and setters -> setterMethodHandles.
1 parent 13d1316 commit f21bd1c

File tree

15 files changed

+131
-142
lines changed

15 files changed

+131
-142
lines changed

modules/lang-painless/spi/src/main/java/org/elasticsearch/painless/spi/PainlessExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919

2020
package org.elasticsearch.painless.spi;
2121

22+
import org.elasticsearch.script.ScriptContext;
23+
2224
import java.util.List;
2325
import java.util.Map;
2426

25-
import org.elasticsearch.script.ScriptContext;
26-
2727
public interface PainlessExtension {
2828

2929
Map<ScriptContext<?>, List<Whitelist>> getContextWhitelists();

modules/lang-painless/src/main/java/org/elasticsearch/painless/Def.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ static MethodHandle lookupGetter(PainlessLookup painlessLookup, Class<?> receive
421421
PainlessClass struct = painlessLookup.getPainlessStructFromJavaClass(clazz);
422422

423423
if (struct != null) {
424-
MethodHandle handle = struct.getters.get(name);
424+
MethodHandle handle = struct.getterMethodHandles.get(name);
425425
if (handle != null) {
426426
return handle;
427427
}
@@ -431,7 +431,7 @@ static MethodHandle lookupGetter(PainlessLookup painlessLookup, Class<?> receive
431431
struct = painlessLookup.getPainlessStructFromJavaClass(iface);
432432

433433
if (struct != null) {
434-
MethodHandle handle = struct.getters.get(name);
434+
MethodHandle handle = struct.getterMethodHandles.get(name);
435435
if (handle != null) {
436436
return handle;
437437
}
@@ -492,7 +492,7 @@ static MethodHandle lookupSetter(PainlessLookup painlessLookup, Class<?> receive
492492
PainlessClass struct = painlessLookup.getPainlessStructFromJavaClass(clazz);
493493

494494
if (struct != null) {
495-
MethodHandle handle = struct.setters.get(name);
495+
MethodHandle handle = struct.setterMethodHandles.get(name);
496496
if (handle != null) {
497497
return handle;
498498
}
@@ -502,7 +502,7 @@ static MethodHandle lookupSetter(PainlessLookup painlessLookup, Class<?> receive
502502
struct = painlessLookup.getPainlessStructFromJavaClass(iface);
503503

504504
if (struct != null) {
505-
MethodHandle handle = struct.setters.get(name);
505+
MethodHandle handle = struct.setterMethodHandles.get(name);
506506
if (handle != null) {
507507
return handle;
508508
}

modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessExplainError.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.elasticsearch.painless.api.Debug;
2323
import org.elasticsearch.painless.lookup.PainlessClass;
2424
import org.elasticsearch.painless.lookup.PainlessLookup;
25+
import org.elasticsearch.painless.lookup.PainlessLookupUtility;
2526
import org.elasticsearch.script.ScriptException;
2627

2728
import java.util.List;
@@ -58,7 +59,7 @@ public Map<String, List<String>> getHeaders(PainlessLookup painlessLookup) {
5859
javaClassName = objectToExplain.getClass().getName();
5960
PainlessClass struct = painlessLookup.getPainlessStructFromJavaClass(objectToExplain.getClass());
6061
if (struct != null) {
61-
painlessClassName = struct.name;
62+
painlessClassName = PainlessLookupUtility.typeToCanonicalTypeName(objectToExplain.getClass());
6263
}
6364
}
6465

modules/lang-painless/src/main/java/org/elasticsearch/painless/lookup/PainlessClass.java

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,47 +19,38 @@
1919

2020
package org.elasticsearch.painless.lookup;
2121

22-
import org.objectweb.asm.Type;
23-
2422
import java.lang.invoke.MethodHandle;
2523
import java.util.Collections;
2624
import java.util.Map;
2725

2826
public final class PainlessClass {
29-
public final String name;
30-
public final Class<?> clazz;
31-
public final Type type;
32-
3327
public final Map<String, PainlessMethod> constructors;
3428
public final Map<String, PainlessMethod> staticMethods;
3529
public final Map<String, PainlessMethod> methods;
3630

37-
public final Map<String, PainlessField> staticMembers;
38-
public final Map<String, PainlessField> members;
31+
public final Map<String, PainlessField> staticFields;
32+
public final Map<String, PainlessField> fields;
3933

40-
public final Map<String, MethodHandle> getters;
41-
public final Map<String, MethodHandle> setters;
34+
public final Map<String, MethodHandle> getterMethodHandles;
35+
public final Map<String, MethodHandle> setterMethodHandles;
4236

4337
public final PainlessMethod functionalMethod;
4438

45-
PainlessClass(String name, Class<?> clazz, Type type,
46-
Map<String, PainlessMethod> constructors, Map<String, PainlessMethod> staticMethods, Map<String, PainlessMethod> methods,
47-
Map<String, PainlessField> staticMembers, Map<String, PainlessField> members,
48-
Map<String, MethodHandle> getters, Map<String, MethodHandle> setters,
49-
PainlessMethod functionalMethod) {
50-
this.name = name;
51-
this.clazz = clazz;
52-
this.type = type;
39+
PainlessClass(Map<String, PainlessMethod> constructors,
40+
Map<String, PainlessMethod> staticMethods, Map<String, PainlessMethod> methods,
41+
Map<String, PainlessField> staticFields, Map<String, PainlessField> fields,
42+
Map<String, MethodHandle> getterMethodHandles, Map<String, MethodHandle> setterMethodHandles,
43+
PainlessMethod functionalMethod) {
5344

5445
this.constructors = Collections.unmodifiableMap(constructors);
5546
this.staticMethods = Collections.unmodifiableMap(staticMethods);
5647
this.methods = Collections.unmodifiableMap(methods);
5748

58-
this.staticMembers = Collections.unmodifiableMap(staticMembers);
59-
this.members = Collections.unmodifiableMap(members);
49+
this.staticFields = Collections.unmodifiableMap(staticFields);
50+
this.fields = Collections.unmodifiableMap(fields);
6051

61-
this.getters = Collections.unmodifiableMap(getters);
62-
this.setters = Collections.unmodifiableMap(setters);
52+
this.getterMethodHandles = Collections.unmodifiableMap(getterMethodHandles);
53+
this.setterMethodHandles = Collections.unmodifiableMap(setterMethodHandles);
6354

6455
this.functionalMethod = functionalMethod;
6556
}

modules/lang-painless/src/main/java/org/elasticsearch/painless/lookup/PainlessClassBuilder.java

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,52 +19,39 @@
1919

2020
package org.elasticsearch.painless.lookup;
2121

22-
import org.objectweb.asm.Type;
23-
2422
import java.lang.invoke.MethodHandle;
2523
import java.util.HashMap;
2624
import java.util.Map;
2725

2826
final class PainlessClassBuilder {
29-
final String name;
30-
final Class<?> clazz;
31-
final Type type;
32-
3327
final Map<String, PainlessMethod> constructors;
3428
final Map<String, PainlessMethod> staticMethods;
3529
final Map<String, PainlessMethod> methods;
3630

37-
final Map<String, PainlessField> staticMembers;
38-
final Map<String, PainlessField> members;
31+
final Map<String, PainlessField> staticFields;
32+
final Map<String, PainlessField> fields;
3933

40-
final Map<String, MethodHandle> getters;
41-
final Map<String, MethodHandle> setters;
34+
final Map<String, MethodHandle> getterMethodHandles;
35+
final Map<String, MethodHandle> setterMethodHandles;
4236

4337
PainlessMethod functionalMethod;
4438

45-
PainlessClassBuilder(String name, Class<?> clazz, Type type) {
46-
this.name = name;
47-
this.clazz = clazz;
48-
this.type = type;
49-
39+
PainlessClassBuilder() {
5040
constructors = new HashMap<>();
5141
staticMethods = new HashMap<>();
5242
methods = new HashMap<>();
5343

54-
staticMembers = new HashMap<>();
55-
members = new HashMap<>();
44+
staticFields = new HashMap<>();
45+
fields = new HashMap<>();
5646

57-
getters = new HashMap<>();
58-
setters = new HashMap<>();
47+
getterMethodHandles = new HashMap<>();
48+
setterMethodHandles = new HashMap<>();
5949

6050
functionalMethod = null;
6151
}
6252

6353
PainlessClass build() {
64-
return new PainlessClass(name, clazz, type,
65-
constructors, staticMethods, methods,
66-
staticMembers, members,
67-
getters, setters,
68-
functionalMethod);
54+
return new PainlessClass(constructors, staticMethods, methods, staticFields, fields,
55+
getterMethodHandles, setterMethodHandles, functionalMethod);
6956
}
7057
}

modules/lang-painless/src/main/java/org/elasticsearch/painless/lookup/PainlessLookup.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
*/
3030
public final class PainlessLookup {
3131

32-
public Collection<PainlessClass> getStructs() {
33-
return classesToPainlessClasses.values();
32+
public Collection<Class<?>> getStructs() {
33+
return classesToPainlessClasses.keySet();
3434
}
3535

3636
private final Map<String, Class<?>> canonicalClassNamesToClasses;

0 commit comments

Comments
 (0)