Module jdk.jshell
Package jdk.jshell.execution

# Class LocalExecutionControl

java.lang.Object
jdk.jshell.execution.DirectExecutionControl
jdk.jshell.execution.LocalExecutionControl

All Implemented Interfaces:
  `AutoCloseable`, `ExecutionControl`

public class LocalExecutionControl extends DirectExecutionControl
An implementation of `ExecutionControl` which executes in the same JVM as the JShell-core.

Since:
  9

## Nested Class Summary

## Nested classes/interfaces declared in interface jdk.jshell.spi.ExecutionControl

`ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException`

## Constructor Summary

Constructors
Constructor
Description
`LocalExecutionControl()`
Create an instance using the default class loading.
`LocalExecutionControl(LoaderDelegate loaderDelegate)`
Creates an instance, delegating loader operations to the specified delegate.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`clientCodeEnter()`
Marks entry into user code.
`protected void`
`clientCodeLeave()`
Marks departure from user code.

### Methods declared in class jdk.jshell.execution.DirectExecutionControl

`addToClasspath, classesRedefined, close, extensionCommand, findClass, invoke, invoke, load, redefine, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString, varValue`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LocalExecutionControl

public LocalExecutionControl(LoaderDelegate loaderDelegate)
Creates an instance, delegating loader operations to the specified delegate.

Parameters:
  `loaderDelegate` - the delegate to handle loading classes

### LocalExecutionControl

public LocalExecutionControl()
Create an instance using the default class loading.

## Method Details

### clientCodeEnter

protected void clientCodeEnter()
Description copied from class: `DirectExecutionControl`
Marks entry into user code.

Overrides:
  `clientCodeEnter` in class `DirectExecutionControl`

### clientCodeLeave

protected void clientCodeLeave()
Description copied from class: `DirectExecutionControl`
Marks departure from user code.

Overrides:
  `clientCodeLeave` in class `DirectExecutionControl`