MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / executeTextFragment

Method executeTextFragment

src/main/java/fieldpython/PI.kt:220–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

218 writer
219 ) {
220 currentLineNumber = it
221 }
222
223 val res = doEval(textFragment, lineErrors, success)
224
225 println(" result is $res")
226
227 RemoteEditor.boxFeedback(Optional.of(box), Vec4(0.3, 0.7, 0.3, 0.5))
228
229 return null
230 } finally {
231 Execution.context.get().pop()
232 }
233 }
234
235
236 private fun doEval(
237 textFragment: String,
238 lineErrors: Consumer<Pair<Int, String>>,
239 success: Consumer<String>
240 ): Pair<Any?, Boolean> {
241
242 return ThreadSync2.inMainThread {
243 var errored = false
244
245// println(" -- PI doeval in thread " + Thread.currentThread() + " " + pi.second)
246 pi.set("__writer__", writer)
247// pi.second.put("_", box)
248 try {
249 // pi.exec(textFragment)
250 pi.set("__fragment__", textFragment)
251 pi.set("_", box)
252 pi.exec("__fieldeval__(__fragment__, __localmap__[_])")
253// pi.first.exec(textFragment)
254 } catch (e: jep.JepException) {
255 e.printStackTrace()
256 val r = errorRegex.find(e.message!!)

Callers

nothing calls this directly

Calls 7

removeBoxFeedbackMethod · 0.80
setWriterMethod · 0.80
boxFeedbackMethod · 0.80
getMethod · 0.65
Vec4Class · 0.50
pushMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected