Skip to content

Changes

Started 6 days 19 hr ago
Took 11 min
Debugger (#1410)

* Add debugger backend.

This adds on a debugger to the evaluation loop, that allows for pausing,
saving state, then resuming from saved state.

* DAP debug server, multi-thread debugging, and iterative interpreter debug support

   - Add MSDebugServer implementing the Debug Adapter Protocol over TCP,
     with launch/attach modes, breakpoints, step-over/step-in/step-out,
     variable inspection, exception breakpoints, and watch expressions
   - Add multi-thread DAP support: register/unregister threads, per-thread
     pause states, sync and async stepping modes (sync blocks in place,
     async snapshots state and resumes on a new thread)
   - Refactor DebugContext into a full thread-aware debug state manager with
     per-thread StepMode, ThreadDebugState, and a thread registry for DAP
   - Add DaemonManager lifecycle listeners and thread-aware waitForThreads,
     so the debug session stays alive while background threads run
   - Extract spawnExecutionThread() to centralize execution thread lifecycle
     (run, await daemons, signal completion) in one place
   - Fix StackTraceManager thread affinity: remove isDebugAdopted flag so
     background threads (x_new_thread) get their own STM instead of sharing
     the main thread's, which was corrupting call depth for step-over
   - Fix skippingResume flag: clear unconditionally on source line change
     rather than requiring shouldStop=true, which blocked step-over returns
   - Add StackTraceFrame.getTarget() for debugger source mapping
   - Add Breakpoint condition/hitCount/logMessage support
   - Wire up cmdline interpreter (--debug flag) and lang server for DAP
   - Add DAPTestHarness and dual sync/async integration tests for step-over
     and multi-thread step-over scenarios
   - Add debugger dependency (lsp4j.debug) to pom.xml

* Add logpoint support

* Add attach mode and KEYPAIR security

* Add docs and final touches

* Debug infrastructure: managed mode, hit-count dedup, and comprehensive tests

- Enable managed execution mode in CommandHelperPlugin so the debug
   session survives script completion on embedded (Minecraft) servers
- Fix hit-count breakpoint deduplication: multiple AST nodes on the same
   source line no longer increment the hit counter more than once per
   visit. Uses column-based caching in ThreadDebugState to distinguish
   "same line, different node" from "new loop iteration, same first node"
- Add evaluateBreakpointCondition() to DebugContext with per-thread
   cache-aware hit-count and condition evaluation
- Add Breakpoint.getHitCount() getter
- Add MSDebugServer managed mode support: setManagedExecution(),
   startedOnHostMainThread capture, resumeOnHostMainThread() for
   resuming on the server main thread, dynamic scripting mode flag
   in evaluate handler
- Add 21 new DAP integration tests (39 total) covering: managed mode
   step-over, thread events, disconnect; variables/scopes; CArray
   expansion (indexed, associative, nested); evaluate expressions;
   exception breakpoints; conditional and hit-count breakpoints;
   step-in, step-out, step-in targets; disconnect resumes execution

* Fix flakey test
(commit: fbe26dd)
src/main/java/com/laytonsmith/tools/debugger/DebugSecurity.java src/main/java/com/laytonsmith/core/exceptions/StackTraceFrame.java src/main/java/com/laytonsmith/core/constructs/CClosure.java src/main/java/com/laytonsmith/core/Installer.java src/main/java/com/laytonsmith/core/environments/DebugContext.java src/main/java/com/laytonsmith/tools/debugger/DebugAuthenticator.java src/main/java/com/laytonsmith/core/AliasCore.java src/main/java/com/laytonsmith/core/natives/interfaces/Callable.java src/main/java/com/laytonsmith/tools/langserv/LangServModel.java src/main/java/com/laytonsmith/core/environments/LivePausedState.java src/main/java/com/laytonsmith/core/environments/PausedState.java src/main/java/com/laytonsmith/core/MethodScriptCompiler.java src/main/java/com/laytonsmith/tools/langserv/LangServ.java src/main/java/com/laytonsmith/core/functions/StringHandling.java src/main/java/com/laytonsmith/core/FlowFunction.java src/main/java/com/laytonsmith/core/Script.java src/main/java/com/laytonsmith/core/functions/Threading.java src/main/java/com/laytonsmith/core/exceptions/ConfigRuntimeException.java src/main/resources/docs/Debugging src/test/java/com/laytonsmith/core/DebugInfrastructureTest.java src/main/java/com/laytonsmith/core/exceptions/StackTraceManager.java src/main/resources/plugin.yml src/main/java/com/laytonsmith/PureUtilities/Common/RSAEncrypt.java src/main/java/com/laytonsmith/core/environments/Breakpoint.java src/main/java/com/laytonsmith/tools/debugger/MSDebugServer.java src/main/java/com/laytonsmith/core/environments/DebugListener.java src/main/java/com/laytonsmith/core/environments/GlobalEnv.java src/main/java/com/laytonsmith/core/functions/DataHandling.java src/main/java/com/laytonsmith/tools/Interpreter.java src/main/java/com/laytonsmith/core/Procedure.java src/main/java/com/laytonsmith/core/functions/Exceptions.java pom.xml src/main/java/com/laytonsmith/core/functions/Meta.java src/main/resources/docs/LLVM_Development src/main/java/com/laytonsmith/core/functions/Web.java src/main/java/com/laytonsmith/core/exceptions/CRE/AbstractCREException.java src/main/java/com/laytonsmith/core/Main.java src/main/java/com/laytonsmith/commandhelper/CommandHelperPlugin.java src/main/java/com/laytonsmith/core/MethodScriptFileLocations.java src/main/java/com/laytonsmith/core/Prefs.java src/main/java/com/laytonsmith/core/CallbackYield.java src/main/java/com/laytonsmith/commandhelper/CommandHelperFileLocations.java src/main/java/com/laytonsmith/PureUtilities/DaemonManager.java src/main/java/com/laytonsmith/core/environments/ThreadDebugState.java
noreply at
Bump ajv, @typespec/compiler, @typespec/http, @typespec/openapi, @typespec/openapi3 and @typespec/versioning (#1413)

Bumps [ajv](https://github.com/ajv-validator/ajv) to 8.18.0 and updates ancestor dependencies [ajv](https://github.com/ajv-validator/ajv), [@typespec/compiler](https://github.com/microsoft/typespec), [@typespec/http](https://github.com/microsoft/typespec), [@typespec/openapi](https://github.com/microsoft/typespec), [@typespec/openapi3](https://github.com/microsoft/typespec) and [@typespec/versioning](https://github.com/microsoft/typespec). These dependencies need to be updated together.


Updates `ajv` from 8.12.0 to 8.18.0
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v8.12.0...v8.18.0)

Updates `@typespec/compiler` from 0.55.0 to 1.10.0
- [Release notes](https://github.com/microsoft/typespec/releases)
- [Commits](https://github.com/microsoft/typespec/compare/typespec@0.55.0...typespec-stable@1.10.0)

Updates `@typespec/http` from 0.55.0 to 1.10.0
- [Release notes](https://github.com/microsoft/typespec/releases)
- [Commits](https://github.com/microsoft/typespec/compare/typespec@0.55.0...typespec-stable@1.10.0)

Updates `@typespec/openapi` from 0.55.0 to 1.10.0
- [Release notes](https://github.com/microsoft/typespec/releases)
- [Commits](https://github.com/microsoft/typespec/compare/typespec@0.55.0...typespec-stable@1.10.0)

Updates `@typespec/openapi3` from 0.55.0 to 1.10.0
- [Release notes](https://github.com/microsoft/typespec/releases)
- [Commits](https://github.com/microsoft/typespec/compare/typespec@0.55.0...typespec-stable@1.10.0)

Updates `@typespec/versioning` from 0.55.0 to 0.80.0
- [Release notes](https://github.com/microsoft/typespec/releases)
- [Commits](https://github.com/microsoft/typespec/compare/typespec@0.55.0...@typespec/versioning@0.80.0)

---
updated-dependencies:
- dependency-name: ajv
  dependency-version: 8.18.0
  dependency-type: indirect
- dependency-name: "@typespec/compiler"
  dependency-version: 1.10.0
  dependency-type: direct:production
- dependency-name: "@typespec/http"
  dependency-version: 1.10.0
  dependency-type: direct:production
- dependency-name: "@typespec/openapi"
  dependency-version: 1.10.0
  dependency-type: direct:production
- dependency-name: "@typespec/openapi3"
  dependency-version: 1.10.0
  dependency-type: direct:production
- dependency-name: "@typespec/versioning"
  dependency-version: 0.80.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(commit: 3d62662)
noreply at
fix: pom.xml to reduce vulnerabilities (#1405)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMMICROSOFTSQLSERVER-13821835

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
(commit: 1b47f92)
noreply at
Bump com.microsoft.sqlserver:mssql-jdbc (#1404)

Bumps [com.microsoft.sqlserver:mssql-jdbc](https://github.com/Microsoft/mssql-jdbc) from 12.6.1.jre11 to 12.6.5.jre11.
- [Release notes](https://github.com/Microsoft/mssql-jdbc/releases)
- [Changelog](https://github.com/microsoft/mssql-jdbc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/mssql-jdbc/commits)

---
updated-dependencies:
- dependency-name: com.microsoft.sqlserver:mssql-jdbc
  dependency-version: 12.6.5.jre11
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(commit: 66b102f)
noreply at
Replace RSAEncrypt with SSHKeyPair supporting Ed25519/ECDSA/RSA; (#1414)

- Replace RSAEncrypt with SSHKeyPair, which uses java.security.Signature
   (sign/verify) instead of Cipher (encrypt/decrypt), enabling support
   for Ed25519 and ECDSA in addition to RSA
- Update DebugAuthenticator to use SSHKeyPair.verify()
- Update key-gen tool with -t flag for key type selection (default: Ed25519),
   dynamically listing supported types from the KeyType enum
- Replace RSAEncryptTest with parameterized SSHKeyPairTest covering all
   three key types
- Only advertise declaration, definition, and hover LSP capabilities
   when StaticAnalysis is globally enabled, fixing spurious "error
   analyzing included file" diagnostics for users with SA off
- Remove setLocalEnable(true) calls from LangServModel that were
   forcing SA on regardless of user config
(commit: eda1f13)
noreply at
Revert build 622+.

Several incompatibilities with extensions were introduced, so these
changes are going to be reverted, and reintroduced after a version bump
to 3.3.6.
(commit: ac51418)
src/main/java/com/laytonsmith/PureUtilities/Common/SSHKeyPair.java src/main/java/com/laytonsmith/core/constructs/CEntry.java src/main/java/com/laytonsmith/commandhelper/CommandHelperFileLocations.java src/main/java/com/laytonsmith/core/compiler/ProcedureDefinition.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREBadEntityException.java src/main/java/com/laytonsmith/core/functions/Debug.java src/main/java/com/laytonsmith/core/exceptions/UnhandledFlowControlException.java src/main/java/com/laytonsmith/core/constructs/CVoid.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRESecurityException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRELengthException.java src/main/java/com/laytonsmith/core/constructs/CBoolean.java src/main/java/com/laytonsmith/core/natives/interfaces/MixedRunner.java src/main/java/com/laytonsmith/tools/langserv/LangServModel.java src/main/java/com/laytonsmith/core/constructs/InstanceofUtil.java src/main/java/com/laytonsmith/core/constructs/CMutablePrimitive.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInsufficientPermissionException.java src/main/java/com/laytonsmith/core/asm/LLVMArgumentValidation.java src/main/java/com/laytonsmith/core/environments/DebugListener.java src/main/java/com/laytonsmith/core/constructs/CDecimal.java src/main/java/com/laytonsmith/core/constructs/CNull.java src/main/java/com/laytonsmith/core/functions/ControlFlow.java src/main/java/com/laytonsmith/core/functions/CompositeFunction.java src/test/java/com/laytonsmith/PureUtilities/SSHKeyPairTest.java src/main/java/com/laytonsmith/core/functions/Easings.java src/main/java/com/laytonsmith/core/functions/DataHandling.java .gitignore src/main/java/com/laytonsmith/core/functions/IncludeCache.java src/main/java/com/laytonsmith/core/natives/interfaces/Mixed.java checkstyle.xml src/main/java/com/laytonsmith/tools/pnviewer/PNViewer.java src/main/java/com/laytonsmith/tools/Interpreter.java src/main/java/com/laytonsmith/tools/debugger/DebugSecurity.java src/main/java/com/laytonsmith/tools/docgen/DocGenTemplates.java src/main/java/com/laytonsmith/core/natives/interfaces/ArrayAccessSetRunner.java src/main/java/com/laytonsmith/core/constructs/generics/GenericParameters.java src/main/java/com/laytonsmith/core/events/drivers/WorldEvents.java src/main/java/com/laytonsmith/core/functions/MatrixHandling.java src/main/java/com/laytonsmith/core/functions/Sandbox.java src/main/java/com/laytonsmith/core/functions/BasicLogic.java src/main/java/com/laytonsmith/tools/langserv/WikiToMarkdown.java src/main/resources/docs/LLVM_Development src/main/java/com/laytonsmith/core/functions/MobManagement.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREGenericConstraintException.java src/main/java/com/laytonsmith/core/constructs/CByteArray.java src/main/java/com/laytonsmith/core/exceptions/LoopBreakException.java src/main/java/com/laytonsmith/core/natives/interfaces/Booleanish.java src/main/java/com/laytonsmith/core/functions/TaskHandling.java src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java src/main/java/com/laytonsmith/core/functions/Persistence.java src/main/java/com/laytonsmith/core/natives/interfaces/Callable.java src/main/java/com/laytonsmith/core/functions/ExecutionQueue.java src/main/java/com/laytonsmith/core/Method.java src/main/java/com/laytonsmith/core/functions/Weather.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInterruptedException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREScoreboardException.java src/main/java/com/laytonsmith/core/functions/World.java src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java src/main/java/com/laytonsmith/core/environments/LivePausedState.java src/main/java/com/laytonsmith/core/constructs/CResource.java src/main/java/com/laytonsmith/core/functions/asm/Math.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREIndexOverflowException.java src/main/java/com/laytonsmith/core/objects/UserObject.java src/main/java/com/laytonsmith/core/natives/interfaces/MatrixRunner.java src/main/java/com/laytonsmith/core/constructs/CLock.java src/main/java/com/laytonsmith/core/natives/interfaces/CallableRunner.java src/main/java/com/laytonsmith/core/environments/Breakpoint.java src/main/java/com/laytonsmith/core/EvalStack.java src/main/java/com/laytonsmith/core/functions/InventoryManagement.java src/test/java/com/laytonsmith/core/DebugInfrastructureTest.java src/main/java/com/laytonsmith/core/events/AbstractGenericEvent.java src/main/java/com/laytonsmith/core/MethodScriptCompiler.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREBindException.java src/main/java/com/laytonsmith/core/asm/LLVMFunction.java src/main/java/com/laytonsmith/core/constructs/LeftHandSideType.java src/main/java/com/laytonsmith/core/functions/Meta.java src/main/java/com/laytonsmith/core/functions/Environment.java src/main/java/com/laytonsmith/core/StepAction.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRECausedByWrapper.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREUnsupportedOperationException.java src/main/java/com/laytonsmith/core/functions/BukkitMetadata.java src/test/java/com/laytonsmith/core/functions/EchoesTest.java src/main/java/com/laytonsmith/core/ArgumentValidation.java src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java src/main/java/com/laytonsmith/core/StackFrame.java src/main/java/com/laytonsmith/core/constructs/CIClosure.java src/main/java/com/laytonsmith/core/Updater.java src/main/java/com/laytonsmith/core/asm/LLVMPlatformResolver.java src/main/java/com/laytonsmith/core/functions/Exceptions.java src/main/java/com/laytonsmith/core/functions/ExtensionMeta.java src/main/java/com/laytonsmith/core/constructs/CSlice.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREPlayerOfflineException.java src/main/java/com/laytonsmith/core/natives/interfaces/ValueTypeInterfaceRunner.java src/main/java/com/laytonsmith/core/functions/asm/Cmdline.java src/main/java/com/laytonsmith/core/functions/EventBinding.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREBadEntityTypeException.java src/main/java/com/laytonsmith/core/functions/Enchantments.java src/test/java/com/laytonsmith/core/functions/MathTest.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREUnageableMobException.java src/main/java/com/laytonsmith/core/functions/Cmdline.java src/main/java/com/laytonsmith/core/functions/Web.java src/main/java/com/laytonsmith/core/functions/asm/Compiler.java src/main/java/com/laytonsmith/core/compiler/analysis/StaticAnalysis.java src/main/java/com/laytonsmith/core/functions/StringHandling.java src/main/java/com/laytonsmith/tools/debugger/MSDebugServer.java src/main/java/com/laytonsmith/abstraction/bukkit/events/BukkitBlockEvents.java src/main/java/com/laytonsmith/core/exceptions/StackTraceManager.java src/main/java/com/laytonsmith/core/natives/interfaces/IterableRunner.java src/main/java/com/laytonsmith/core/functions/ByteArrays.java src/main/java/com/laytonsmith/core/functions/Regex.java src/main/java/com/laytonsmith/PureUtilities/DaemonManager.java src/main/java/com/laytonsmith/core/constructs/CReal2dMatrix.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREClassDefinitionError.java src/test/java/com/laytonsmith/testing/ProcedureTest.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREReadOnlyException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREFormatException.java src/main/java/com/laytonsmith/core/natives/interfaces/ArrayAccessSet.java src/main/java/com/laytonsmith/core/constructs/CKeyword.java src/main/java/com/laytonsmith/core/functions/Echoes.java src/main/java/com/laytonsmith/core/constructs/CDouble.java src/main/resources/apps.methodscript.com/package.json src/main/java/com/laytonsmith/core/functions/Clipboard.java src/main/java/com/laytonsmith/core/functions/Minecraft.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRENotFoundException.java src/main/resources/apps.methodscript.com/package-lock.json src/main/java/com/laytonsmith/core/functions/XGUI.java src/main/java/com/laytonsmith/core/natives/interfaces/AbstractMixed.java src/main/java/com/laytonsmith/core/functions/Redis.java src/main/java/com/laytonsmith/core/functions/Math.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREStackOverflowError.java src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java src/main/java/com/laytonsmith/core/events/drivers/PlayerEvents.java src/test/java/com/laytonsmith/core/constructs/CFixedArrayTest.java src/main/java/com/laytonsmith/core/functions/Scoreboards.java src/main/java/com/laytonsmith/core/events/drivers/BlockEvents.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREPluginChannelException.java src/main/java/com/laytonsmith/core/functions/Marquee.java src/main/java/com/laytonsmith/core/natives/interfaces/SizeableRunner.java src/main/java/com/laytonsmith/core/constructs/CArray.java src/test/java/com/laytonsmith/tools/langserv/WikiToMarkdownTest.java src/main/java/com/laytonsmith/core/functions/SQL.java src/main/java/com/laytonsmith/core/exceptions/ConfigRuntimeException.java src/main/java/com/laytonsmith/core/functions/FileHandling.java src/main/java/com/laytonsmith/core/constructs/CClassType.java src/test/java/com/laytonsmith/testing/StaticTest.java src/main/java/com/laytonsmith/core/functions/Permissions.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInsufficientArgumentsException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREError.java src/main/java/com/laytonsmith/core/functions/Commands.java src/main/java/com/laytonsmith/core/functions/Statistics.java src/main/java/com/laytonsmith/core/Installer.java src/main/java/com/laytonsmith/core/compiler/OptimizationUtilities.java src/main/java/com/laytonsmith/core/FlowFunction.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREShellException.java src/main/java/com/laytonsmith/core/functions/OAuth.java src/main/java/com/laytonsmith/core/LocalPackages.java src/main/java/com/laytonsmith/core/events/drivers/CmdlineEvents.java src/main/java/com/laytonsmith/core/natives/interfaces/AbstractMixedInterfaceRunner.java src/main/java/com/laytonsmith/core/constructs/CPrimitive.java src/main/java/com/laytonsmith/core/functions/Threading.java src/main/java/com/laytonsmith/core/ParseTree.java src/main/java/com/laytonsmith/core/exceptions/CancelCommandException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInvalidWorldException.java src/main/java/com/laytonsmith/core/functions/Reflection.java src/main/java/com/laytonsmith/core/StrictMode.java src/main/java/com/laytonsmith/core/constructs/CLabel.java src/main/java/com/laytonsmith/core/functions/PluginMeta.java src/main/java/com/laytonsmith/core/functions/PlayerManagement.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREOAuthException.java src/main/java/com/laytonsmith/core/functions/AbstractFunction.java src/main/java/com/laytonsmith/core/Main.java src/main/java/com/laytonsmith/abstraction/bukkit/BukkitMCCommand.java src/main/java/com/laytonsmith/core/MethodScriptFileLocations.java src/main/java/com/laytonsmith/core/events/drivers/VehicleEvents.java pom.xml src/main/java/com/laytonsmith/core/exceptions/CRE/CREPluginInternalException.java src/main/java/com/laytonsmith/core/natives/interfaces/ArrayAccessRunner.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInvalidProcedureException.java src/main/java/com/laytonsmith/core/functions/ArrayHandling.java src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java src/main/java/com/laytonsmith/core/events/drivers/WeatherEvents.java src/main/java/com/laytonsmith/core/events/Event.java src/main/java/com/laytonsmith/core/Procedure.java src/main/java/com/laytonsmith/core/ObjectGenerator.java src/main/java/com/laytonsmith/core/functions/Trades.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREInvalidPluginException.java src/main/java/com/laytonsmith/core/functions/asm/Meta.java src/main/java/com/laytonsmith/core/constructs/CString.java src/main/java/com/laytonsmith/core/exceptions/FunctionReturnException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRESQLException.java src/test/java/com/laytonsmith/core/functions/MinecraftTest.java src/main/java/com/laytonsmith/commandhelper/CommandHelperPlugin.java src/main/java/com/laytonsmith/core/environments/ThreadDebugState.java src/main/java/com/laytonsmith/core/asm/AsmCompiler.java src/main/java/com/laytonsmith/core/constructs/CBareString.java src/main/java/com/laytonsmith/core/constructs/NewIVariable.java src/main/java/com/laytonsmith/core/Script.java src/main/java/com/laytonsmith/core/functions/Function.java src/main/java/com/laytonsmith/core/events/EventUtils.java src/test/java/com/laytonsmith/core/functions/EventBindingTest.java src/main/java/com/laytonsmith/core/constructs/CInt.java src/test/java/com/laytonsmith/testing/RandomTests.java src/main/java/com/laytonsmith/core/functions/ResourceManager.java src/main/java/com/laytonsmith/core/functions/Federation.java src/main/java/com/laytonsmith/core/constructs/ProcedureUsage.java src/main/java/com/laytonsmith/core/constructs/CFunction.java src/main/resources/docs/Debugging src/main/java/com/laytonsmith/core/constructs/CNumber.java src/main/java/com/laytonsmith/core/constructs/CPrimitiveRunner.java src/main/java/com/laytonsmith/core/natives/interfaces/ArrayAccess.java src/main/java/com/laytonsmith/core/exceptions/ProgramFlowManipulationException.java src/main/java/com/laytonsmith/core/environments/DebugContext.java src/main/java/com/laytonsmith/core/exceptions/LoopManipulationException.java src/main/java/com/laytonsmith/core/natives/interfaces/Sizeable.java src/main/java/com/laytonsmith/core/constructs/CBracket.java src/main/java/com/laytonsmith/core/functions/Compiler.java src/main/java/com/laytonsmith/core/functions/ItemMeta.java src/main/java/com/laytonsmith/core/constructs/CNativeClosure.java src/main/java/com/laytonsmith/core/constructs/IVariable.java src/main/java/com/laytonsmith/core/constructs/Construct.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREEventException.java src/main/java/com/laytonsmith/core/natives/interfaces/BooleanishRunner.java src/main/java/com/laytonsmith/core/compiler/analysis/Scope.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRECastException.java src/main/java/com/laytonsmith/core/functions/ObjectManagement.java src/main/java/com/laytonsmith/core/functions/Performance.java src/test/java/com/laytonsmith/core/OptimizationTest.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRERangeException.java src/test/java/com/laytonsmith/PureUtilities/RSAEncryptTest.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREException.java src/main/java/com/laytonsmith/core/constructs/Variable.java src/main/java/com/laytonsmith/core/events/drivers/InventoryEvents.java src/main/java/com/laytonsmith/core/Prefs.java src/main/java/com/laytonsmith/core/constructs/CClosure.java src/main/java/com/laytonsmith/core/events/drivers/ServerEvents.java src/main/java/com/laytonsmith/core/constructs/CPreIdentifier.java src/main/java/com/laytonsmith/core/constructs/CSymbol.java src/main/java/com/laytonsmith/core/natives/interfaces/MEnumType.java src/main/java/com/laytonsmith/core/functions/asm/DataHandling.java src/main/java/com/laytonsmith/core/environments/PausedState.java src/main/java/com/laytonsmith/core/constructs/CFixedArray.java src/main/java/com/laytonsmith/core/constructs/Command.java src/main/resources/plugin.yml src/main/java/com/laytonsmith/core/FullyQualifiedClassName.java src/main/java/com/laytonsmith/core/Static.java src/main/java/com/laytonsmith/tools/langserv/LangServ.java src/main/java/com/laytonsmith/core/events/drivers/EntityEvents.java src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java src/main/java/com/laytonsmith/core/exceptions/CRE/CRENullPointerException.java src/main/java/com/laytonsmith/tools/debugger/DebugAuthenticator.java src/main/java/com/laytonsmith/core/constructs/CPackage.java src/main/java/com/laytonsmith/core/exceptions/CRE/AbstractCREException.java src/main/java/com/laytonsmith/tools/Manager.java src/main/java/com/laytonsmith/core/constructs/CSemicolon.java src/main/java/com/laytonsmith/abstraction/MCCommand.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREIOException.java src/main/java/com/laytonsmith/core/exceptions/StackTraceFrame.java src/main/java/com/laytonsmith/core/functions/DataTransformations.java src/main/java/com/laytonsmith/core/constructs/CNumberRunner.java src/main/java/com/laytonsmith/core/functions/Recipes.java src/main/java/com/laytonsmith/core/exceptions/LoopContinueException.java src/main/java/com/laytonsmith/core/functions/EntityManagement.java src/main/java/com/laytonsmith/PureUtilities/Common/RSAEncrypt.java src/main/java/com/laytonsmith/core/CallbackYield.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREIncludeException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREEnchantmentException.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREIllegalArgumentException.java src/main/java/com/laytonsmith/core/functions/OS.java src/main/java/com/laytonsmith/core/events/drivers/PluginEvents.java src/main/java/com/laytonsmith/core/environments/GlobalEnv.java src/main/java/com/laytonsmith/core/constructs/CReal2dMatrixRow.java src/main/java/com/laytonsmith/core/functions/BossBar.java src/main/java/com/laytonsmith/core/functions/Scheduling.java src/main/java/com/laytonsmith/core/AliasCore.java src/main/java/com/laytonsmith/core/exceptions/CRE/CREUntameableMobException.java src/main/java/com/laytonsmith/abstraction/enums/MCTagType.java src/main/java/com/laytonsmith/core/constructs/CBrace.java src/main/java/com/laytonsmith/core/functions/Crypto.java
LadyCailin at