Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/polystat/odin into migrat…
Browse files Browse the repository at this point in the history
…ion_to_munit
  • Loading branch information
nikololiahim committed May 22, 2022
2 parents 1a5de7f + f4123d4 commit f7eeb6f
Show file tree
Hide file tree
Showing 77 changed files with 5,762 additions and 1,720 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
.idea/
.bsp/
*.iml
project/project/
metals.sbt
.metals/
.bloop/
.vscode

# Build
target/
Expand All @@ -12,3 +17,5 @@ target/
# JVM

.jvmopts
/.metals
/.vscode
6 changes: 4 additions & 2 deletions .scalafix.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
rules = [
ExplicitResultTypes,
NoAutoTupling,
RemoveUnused,
OrganizeImports,
DisableSyntax,
LeakingImplicitClassVal,
NoValInForComprehension,
Expand Down Expand Up @@ -41,7 +41,9 @@ DisableSyntax {
noNulls = true
noReturns = true
noWhileLoops = true
noAsInstanceOf = true

// TODO: set this to true when I find a way to avoid explicit casts
noAsInstanceOf = false
noIsInstanceOf = true
noXml = true
noDefaultArgs = false
Expand Down
5 changes: 3 additions & 2 deletions .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
version = 3.0.4
version = 3.5.4
lineEndings = preserve
runner.dialect = scala213

project {
includePaths = [
Expand All @@ -7,7 +9,6 @@ project {
"glob:**.sc",
"glob:**.md",
]
excludePaths = []
}

fileOverride {
Expand Down
28 changes: 27 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,30 @@
# v0.2.0.1
# v0.4.0
- Added direct access to base class analyzer (4th defect type) (see [#48](https://github.com/polystat/odin/pull/48))
- Added Liskov substitution principle analyzer (5th defect type) (see [#51](https://github.com/polystat/odin/pull/51))
- Improved the logic extraction algorithm (used in detection of defects 3 and 5) such that it supports functions with regular/mutual recursion (see [#51](https://github.com/polystat/odin/pull/51))
- Added support for imports without the alias (see [#44](https://github.com/polystat/odin/pull/44))
- Fixed the XMIR-to-AST parser such that it recognizes Array data correctly (see [#50](https://github.com/polystat/odin/pull/50))
- Revamped documentation such that it is contained within the README file (see [#53](https://github.com/polystat/odin/pull/53))


# v0.3.2
- Fixed setting locators for common EO objects (see [41fbce4](https://github.com/polystat/odin/commit/41fbce4c313b4fc1def41d799d5eb5a422e5e630))
- Partially rewrote the mutual recursion analyzer for better integration with the `inlining` module (see [#37](https://github.com/polystat/odin/pull/37))

# v0.3.1
- Fixed a bug in `inlining` that caused methods from decorated classes to not be inlined (see [891f4e3](https://github.com/polystat/odin/commit/891f4e3f4d6d156a1a5e0b6fb92a385eeac6fb79))
- Made SMT-solver not output information to the console (see [bd0d95c](https://github.com/polystat/odin/commit/bd0d95c6d5b11d384ea5b3ae8cea0a97a6257aa0))

# v0.3.0
- Added a new EO AST node (`EOSimpleAppWithLocator`) to store locator information (see [f18e026b08](<https://github.com/nikololiahim/odin/blob/f18e026b0844904c516b315577619bf4d7c7fabf/core/src/main/scala/org/polystat/odin/core/ast/ast.scala#:~:text=sealed%20case%20class%20EOSimpleAppWithLocator,)%20extends%20EOApp%5BA%5D>))
- Added support for locators during parsing (see [#28](https://github.com/polystat/odin/pull/28))
- Improved the pretty-printer (see [#28](https://github.com/polystat/odin/pull/28))
- Added an algorithm for setting locators in the AST by replacing plain `EOSimpleApp`s with `EOSimpleAppWithLocator`s (see [#28](https://github.com/polystat/odin/pull/28))
- Added an [`inlining`](https://github.com/nikololiahim/odin/tree/b3aeb59dbe4d478fda8a9424cb40ae6e9b39bfb5/analysis/src/main/scala/org/polystat/odin/analysis/inlining) module that allows all calls in the object to be inlined (see [#30](https://github.com/polystat/odin/pull/30))
- Made it possible to derive logical expressions from EO AST (see [#32](https://github.com/polystat/odin/pull/32))
- Added a polystat facade for the unjustified assumption analyzer (see [5fc07ff](https://github.com/polystat/odin/pull/32/commits/5fc07fffe7b044c3673ea15831bea860964924f3))

# v0.2.1

- Added documentation to mutual recursion analyzer (see [#24]( https://github.com/polystat/odin/pull/24 ));

Expand Down
Loading

0 comments on commit f7eeb6f

Please sign in to comment.