Kamil Śliwak
4028125234
fixup! Extract type class member registration into a separate experimental analysis pass
2023-09-28 21:11:00 +02:00
Kamil Śliwak
ea8daf1613
Extract type class member registration into a separate experimental analysis pass
2023-09-28 21:11:00 +02:00
Kamil Śliwak
4960de7b42
Move builtin type class registration to TypeClassRegistration
2023-09-28 21:11:00 +02:00
Kamil Śliwak
201259d50b
[TMP] Remove polymorphicInstance() from class type member types
2023-09-28 21:11:00 +02:00
Kamil Śliwak
0819e31de8
Reject duplicate built-in type definitions
2023-09-28 17:43:16 +02:00
Kamil Śliwak
017771032b
Replace hard-coded types with __builtin()
2023-09-28 17:43:16 +02:00
Kamil Śliwak
13abd0c9eb
Add Builtin AST node
2023-09-28 17:43:16 +02:00
Kamil Śliwak
8304aca1c1
TypeSystemHelper: Add isPrimitiveType()
2023-09-28 17:43:16 +02:00
Kamil Śliwak
353d50b0be
Distinct identifiers and tokens for integer type and integer class
...
- Using the same name causes syntax ambiguities. It's also not allowed for user-defined classes and types.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
271d55cb04
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
e5915eac21
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
ef4864c576
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
ff06778fee
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
6d43dfbd43
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
e3caed0ea4
fixup! Type inference draft.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
1ffd65f089
fixup! Type inference draft.
2023-09-18 18:55:34 +02:00
Kamil Śliwak
6621dc6ba5
fixup! Type inference draft.
2023-09-18 18:55:25 +02:00
Kamil Śliwak
da83b35a71
Separate experimental analysis pass for type class registration
2023-09-14 17:32:51 +02:00
Kamil Śliwak
086c912c65
TypeSystem: make typeClassInfo() public
2023-09-14 17:32:51 +02:00
Kamil Śliwak
acad00f461
fixup! Type inference draft.
...
Rebase fixes
2023-09-14 07:56:36 +02:00
Kamil Śliwak
0e95ca163c
fixup! Type inference draft.
2023-09-14 07:56:36 +02:00
Kamil Śliwak
761f5b342f
fixup! Type inference draft.
2023-09-14 07:56:36 +02:00
Nikola Matic
319a6c4999
Move around experimental tests
...
Exclude list for AST JSON tests
Fix type inference shellcheck failure
Disable shellcheck SC2086
2023-09-14 07:56:33 +02:00
Daniel Kirchner
7c2f5ee171
Remove bogus unused IRVariable implementation (to be redone).
2023-09-13 22:54:10 +02:00
Daniel Kirchner
59ef5919fb
Platform fixes.
2023-09-13 22:54:10 +02:00
Daniel Kirchner
5f894722df
Add comment.
2023-09-13 22:54:10 +02:00
Daniel Kirchner
fadba0e4b8
error ids
2023-09-13 22:54:10 +02:00
Daniel Kirchner
4fb7e9934e
Fix compiler warning.
2023-09-13 22:54:10 +02:00
Daniel Kirchner
5d1d365e2f
style fixes
2023-09-13 22:54:10 +02:00
Daniel Kirchner
e4e0472407
Eliminate using namespace std.
2023-09-13 22:54:10 +02:00
Daniel Kirchner
d8a36a1d58
Type inference draft.
2023-09-13 22:54:02 +02:00
Daniel Kirchner
093ec110cf
Scanner hack.
2023-09-13 22:39:25 +02:00
Daniel Kirchner
fa815764dd
Basic infrastructure.
2023-09-13 22:37:00 +02:00
Matheus Aguiar
14aed39261
Introduce experimental analysis basic infrastructure
2023-09-11 12:29:44 -03:00
Nikola Matic
fdc6699159
Rematerialize zero literals with default cleanup sequence
...
Add unused pruner step to the end of the default cleanup sequence
2023-09-04 15:40:33 +02:00
Jun Zhang
2cf23e15d8
Bump fmtlib to 9.1.0
...
In our downstream project, we have two dependencies: solidity and spdlog.
Both of them depend on fmtlib. Unfortunately, the versions of fmtlib they
use do not match, which leads to compilation failure.
The issue arises because spdlog attempts to use solidity's fmtlib, but the
specific version (v8.0.1) has a bug. Ref: https://github.com/gabime/spdlog/issues/2142
While we could keep this change in our own fork, we believe it would
be worthwhile to contribute it back to the upstream since spdlog is a
very popular logging library.
Signed-off-by: Jun Zhang <jun@junz.org>
2023-08-28 13:58:56 +08:00
Kamil Śliwak
9adbced98e
Remove parser error recovery mode
2023-08-22 12:00:11 +02:00
Kamil Śliwak
b17757ea17
CompilerStack: Extend inconsistent error sanity check to cover stopAfter: parsing as well
2023-08-21 17:50:41 +02:00
Kamil Śliwak
a15ef59eec
Remove the ability to produce an AST in presence of errors in --error-recovery mode
...
This reverts commit 7fd7cc1e76
.
2023-08-21 17:50:41 +02:00
Kamil Śliwak
e8d050a1ce
Simplify redundant state check in CompilerStack::analyze()
2023-08-21 17:50:41 +02:00
Nikola Matic
f344dc164e
Purge using namespace from libsolidity/lsp and parsing
2023-08-16 17:07:52 +02:00
Nikola Matic
342ba0324f
Purge using namespace std from libsolidity/interface
2023-08-15 15:45:15 +02:00
Nikola Matic
d0a5556fd0
Purge using namespace from libsolidity/formal
2023-08-15 14:40:27 +02:00
Nikola Matic
ce423e5ae5
Purge using namespace std from libsolidity/codegen
2023-08-14 21:37:31 +02:00
Nikola Matic
2a2a9d37ee
Purge using namespace std from libsolidity/ast
2023-08-14 14:54:58 +02:00
Nikola Matic
de1a017ccb
Purge using namespace std from libsolidity/analysis
2023-08-14 11:44:50 +02:00
Kamil Śliwak
4020552e1d
SourceReferenceFormatter: Remove the ineffective _withErrorIds parameter from formatExceptionInformation()
2023-08-11 14:15:56 +02:00
Kamil Śliwak
8407c8c615
SourceReferenceFormatter: Support full range of options in formatErrorInformation()
2023-08-11 14:15:56 +02:00
Kamil Śliwak
b7d2c8bb0a
SourceReferenceFormatter: Line wrapping and unused includes
2023-08-11 14:15:56 +02:00
Pawel Gebal
6574c10f25
SMTChecker: Visit the condition in for and while loops after loop is unrolled
2023-08-03 13:36:41 +02:00