diff --git a/modules/lang-painless/src/main/java/org/elasticsearch/painless/antlr/Walker.java b/modules/lang-painless/src/main/java/org/elasticsearch/painless/antlr/Walker.java index e2742ffb9936d..6c8d3a62e065b 100644 --- a/modules/lang-painless/src/main/java/org/elasticsearch/painless/antlr/Walker.java +++ b/modules/lang-painless/src/main/java/org/elasticsearch/painless/antlr/Walker.java @@ -29,7 +29,6 @@ import org.antlr.v4.runtime.atn.PredictionMode; import org.antlr.v4.runtime.tree.TerminalNode; import org.elasticsearch.painless.CompilerSettings; -import org.elasticsearch.painless.lookup.PainlessLookup; import org.elasticsearch.painless.Globals; import org.elasticsearch.painless.Location; import org.elasticsearch.painless.Operation; @@ -107,6 +106,7 @@ import org.elasticsearch.painless.antlr.PainlessParser.TryContext; import org.elasticsearch.painless.antlr.PainlessParser.VariableContext; import org.elasticsearch.painless.antlr.PainlessParser.WhileContext; +import org.elasticsearch.painless.lookup.PainlessLookup; import org.elasticsearch.painless.node.AExpression; import org.elasticsearch.painless.node.ANode; import org.elasticsearch.painless.node.AStatement; @@ -184,7 +184,6 @@ public static SSource buildPainlessTree(ScriptClassInfo mainMethod, MainMethodRe private final CompilerSettings settings; private final Printer debugStream; private final String sourceName; - private final String sourceText; private final PainlessLookup painlessLookup; private final Deque reserved = new ArrayDeque<>(); @@ -198,7 +197,6 @@ private Walker(ScriptClassInfo scriptClassInfo, MainMethodReserved reserved, Str this.debugStream = debugStream; this.settings = settings; this.sourceName = Location.computeSourceName(sourceName); - this.sourceText = sourceText; this.globals = new Globals(new BitSet(sourceText.length())); this.painlessLookup = painlessLookup; this.source = (SSource)visit(buildAntlrTree(sourceText)); @@ -267,7 +265,7 @@ public ANode visitSource(SourceContext ctx) { statements.add((AStatement)visit(ctx.dstatement())); } - return new SSource(scriptClassInfo, settings, sourceName, sourceText, debugStream, (MainMethodReserved)reserved.pop(), + return new SSource(scriptClassInfo, settings, sourceName, debugStream, (MainMethodReserved)reserved.pop(), location(ctx), functions, globals, statements); } diff --git a/modules/lang-painless/src/main/java/org/elasticsearch/painless/node/SSource.java b/modules/lang-painless/src/main/java/org/elasticsearch/painless/node/SSource.java index 4781457a57dfa..cd473e2c84ec7 100644 --- a/modules/lang-painless/src/main/java/org/elasticsearch/painless/node/SSource.java +++ b/modules/lang-painless/src/main/java/org/elasticsearch/painless/node/SSource.java @@ -21,9 +21,6 @@ import org.elasticsearch.painless.CompilerSettings; import org.elasticsearch.painless.Constant; -import org.elasticsearch.painless.lookup.PainlessLookup; -import org.elasticsearch.painless.lookup.PainlessMethod; -import org.elasticsearch.painless.lookup.PainlessMethodKey; import org.elasticsearch.painless.Globals; import org.elasticsearch.painless.Locals; import org.elasticsearch.painless.Locals.Variable; @@ -32,6 +29,9 @@ import org.elasticsearch.painless.ScriptClassInfo; import org.elasticsearch.painless.SimpleChecksAdapter; import org.elasticsearch.painless.WriterConstants; +import org.elasticsearch.painless.lookup.PainlessLookup; +import org.elasticsearch.painless.lookup.PainlessMethod; +import org.elasticsearch.painless.lookup.PainlessMethodKey; import org.elasticsearch.painless.node.SFunction.FunctionReserved; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; @@ -130,7 +130,6 @@ public int getMaxLoopCounter() { private final ScriptClassInfo scriptClassInfo; private final CompilerSettings settings; private final String name; - private final String source; private final Printer debugStream; private final MainMethodReserved reserved; private final List functions; @@ -141,14 +140,12 @@ public int getMaxLoopCounter() { private final List getMethods; private byte[] bytes; - public SSource(ScriptClassInfo scriptClassInfo, CompilerSettings settings, String name, String source, Printer debugStream, - MainMethodReserved reserved, Location location, - List functions, Globals globals, List statements) { + public SSource(ScriptClassInfo scriptClassInfo, CompilerSettings settings, String name, Printer debugStream, + MainMethodReserved reserved, Location location, List functions, Globals globals, List statements) { super(location); this.scriptClassInfo = Objects.requireNonNull(scriptClassInfo); this.settings = Objects.requireNonNull(settings); this.name = Objects.requireNonNull(name); - this.source = Objects.requireNonNull(source); this.debugStream = debugStream; this.reserved = Objects.requireNonNull(reserved); // process any synthetic functions generated by walker (because right now, thats still easy)