Skip to content

Commit 2e28683

Browse files
committed
Merge branch 'master' of https://github.com/polystat/odin into migration_to_munit
2 parents 1a5de7f + f4123d4 commit 2e28683

File tree

77 files changed

+5759
-1723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+5759
-1723
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
.idea/
33
.bsp/
44
*.iml
5+
project/project/
6+
metals.sbt
7+
.metals/
8+
.bloop/
9+
.vscode
510

611
# Build
712
target/
@@ -12,3 +17,5 @@ target/
1217
# JVM
1318

1419
.jvmopts
20+
/.metals
21+
/.vscode

.scalafix.conf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
rules = [
22
ExplicitResultTypes,
33
NoAutoTupling,
4-
RemoveUnused,
4+
OrganizeImports,
55
DisableSyntax,
66
LeakingImplicitClassVal,
77
NoValInForComprehension,
@@ -41,7 +41,9 @@ DisableSyntax {
4141
noNulls = true
4242
noReturns = true
4343
noWhileLoops = true
44-
noAsInstanceOf = true
44+
45+
// TODO: set this to true when I find a way to avoid explicit casts
46+
noAsInstanceOf = false
4547
noIsInstanceOf = true
4648
noXml = true
4749
noDefaultArgs = false

.scalafmt.conf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
version = 3.0.4
1+
version = 3.5.4
2+
lineEndings = preserve
3+
runner.dialect = scala213
24

35
project {
46
includePaths = [
@@ -7,7 +9,6 @@ project {
79
"glob:**.sc",
810
"glob:**.md",
911
]
10-
excludePaths = []
1112
}
1213

1314
fileOverride {

CHANGELOG.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,30 @@
1-
# v0.2.0.1
1+
# v0.4.0
2+
- Added direct access to base class analyzer (4th defect type) (see [#48](https://github.com/polystat/odin/pull/48))
3+
- Added Liskov substitution principle analyzer (5th defect type) (see [#51](https://github.com/polystat/odin/pull/51))
4+
- 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))
5+
- Added support for imports without the alias (see [#44](https://github.com/polystat/odin/pull/44))
6+
- Fixed the XMIR-to-AST parser such that it recognizes Array data correctly (see [#50](https://github.com/polystat/odin/pull/50))
7+
- Revamped documentation such that it is contained within the README file (see [#53](https://github.com/polystat/odin/pull/53))
8+
9+
10+
# v0.3.2
11+
- Fixed setting locators for common EO objects (see [41fbce4](https://github.com/polystat/odin/commit/41fbce4c313b4fc1def41d799d5eb5a422e5e630))
12+
- Partially rewrote the mutual recursion analyzer for better integration with the `inlining` module (see [#37](https://github.com/polystat/odin/pull/37))
13+
14+
# v0.3.1
15+
- Fixed a bug in `inlining` that caused methods from decorated classes to not be inlined (see [891f4e3](https://github.com/polystat/odin/commit/891f4e3f4d6d156a1a5e0b6fb92a385eeac6fb79))
16+
- Made SMT-solver not output information to the console (see [bd0d95c](https://github.com/polystat/odin/commit/bd0d95c6d5b11d384ea5b3ae8cea0a97a6257aa0))
17+
18+
# v0.3.0
19+
- 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>))
20+
- Added support for locators during parsing (see [#28](https://github.com/polystat/odin/pull/28))
21+
- Improved the pretty-printer (see [#28](https://github.com/polystat/odin/pull/28))
22+
- 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))
23+
- 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))
24+
- Made it possible to derive logical expressions from EO AST (see [#32](https://github.com/polystat/odin/pull/32))
25+
- Added a polystat facade for the unjustified assumption analyzer (see [5fc07ff](https://github.com/polystat/odin/pull/32/commits/5fc07fffe7b044c3673ea15831bea860964924f3))
26+
27+
# v0.2.1
228

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

0 commit comments

Comments
 (0)