Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation for BeanShell 2 compatibility mode (issue #727) #728

Closed
wants to merge 1 commit into from

Conversation

opeongo
Copy link
Contributor

@opeongo opeongo commented Feb 23, 2023

Implement a mode to allow backward compatibility with BeanShell 2 scripts that use scoping rules that declare loosely typed variables in the outer (enclosing) scope (#727).

Although this touches a lot of files, it is actually not very invasive. The active change is a few lines in NameSpace.java. The bulk of the changes are to change the implementation of the strictJava flag from a boolean to an int flag container such as argument passing and value testing.

…ipts that use scoping rules that declare loosely typed variables in the outer (enclosing) scope.
@codecov
Copy link

codecov bot commented Feb 23, 2023

Codecov Report

Merging #728 (5ae59f4) into master (47cbe83) will decrease coverage by 0.08%.
The diff coverage is 82.60%.

@@             Coverage Diff              @@
##             master     #728      +/-   ##
============================================
- Coverage     74.16%   74.09%   -0.08%     
- Complexity     3039     3042       +3     
============================================
  Files           108      108              
  Lines          9357     9373      +16     
  Branches       1857     1860       +3     
============================================
+ Hits           6940     6945       +5     
- Misses         2074     2082       +8     
- Partials        343      346       +3     
Flag Coverage Δ
unittests 74.09% <82.60%> (-0.08%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/main/java/bsh/Interpreter.java 83.83% <59.09%> (-1.37%) ⬇️
src/main/java/bsh/NameSpace.java 87.47% <82.35%> (-0.40%) ⬇️
src/main/java/bsh/BSHAssignment.java 90.62% <100.00%> (ø)
src/main/java/bsh/BSHUnaryExpression.java 100.00% <100.00%> (ø)
src/main/java/bsh/BlockNameSpace.java 97.14% <100.00%> (ø)
src/main/java/bsh/BshMethod.java 76.73% <100.00%> (ø)
src/main/java/bsh/ClassGeneratorUtil.java 89.59% <100.00%> (ø)
src/main/java/bsh/ExternalNameSpace.java 60.52% <100.00%> (ø)
src/main/java/bsh/LHS.java 74.35% <100.00%> (ø)
src/main/java/bsh/Name.java 86.76% <100.00%> (ø)
... and 2 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

}

/**
@see #setBsh2ScopingCompatibility( boolean )
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

38% of developers fix this issue

MissingSummary: A summary fragment is required; consider using the value of the @see block as a summary fragment instead.


Suggested change
@see #setBsh2ScopingCompatibility( boolean )
See {@link #setBsh2ScopingCompatibility( boolean )}.

ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

@sonatype-lift
Copy link

sonatype-lift bot commented Feb 23, 2023

🛠 Lift Auto-fix

Some of the Lift findings in this PR can be automatically fixed. You can download and apply these changes in your local project directory of your branch to review the suggestions before committing.1

# Download the patch
curl https://lift.sonatype.com/api/patch/github.com/beanshell/beanshell/728.diff -o lift-autofixes.diff

# Apply the patch with git
git apply lift-autofixes.diff

# Review the changes
git diff

Want it all in a single command? Open a terminal in your project's directory and copy and paste the following command:

curl https://lift.sonatype.com/api/patch/github.com/beanshell/beanshell/728.diff | git apply

Once you're satisfied, commit and push your changes in your project.

Footnotes

  1. You can preview the patch by opening the patch URL in the browser.

@nickl-
Copy link
Member

nickl- commented Apr 1, 2023

Closed as per #727

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants