3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-11 19:53:34 +00:00
Commit graph

25 commits

Author SHA1 Message Date
Addison Crump 3bca1fbcd8
Java type generics (#4832)
* Generify, needs some testing and review

* Remove unnecessary change

* Whoops, ? capture that type

* Misread the docs, whoops

* More permissible arithmetic operations

* Implement believed Optimize generics

* Missed a few generics

* More permissible expr for arrays in parameters

* More permissible expr for bitvecs in parameters

* More permissible expr for bools in parameters

* More permissible expr for fps in parameters

* More permissible expr for fprms in parameters

* More permissible expr for ints in parameters

* More permissible expr for reals in parameters

* Undo breaking name conflict due to type erasure; see notes

* Whoops, fix typing of ReExpr

* Sort corrections for Re, Seq

* More permissible expr for regular expressions in parameters

* Fix name conflict between sequences and regular expressions; see notes

* Minor typo, big implications!

* Make Constructor consistent, associate captured types with other unknown capture types for datatype consistency

* More expressive; outputs of multiple datatype definitions are only known to be sort, not capture, and Constructor.of should make a capture

* Be less dumb and just type it a little differently

* Update examples, make sure to type Expr and FuncDecl sort returns

* General fixups

* Downgrade java version, make it only for the generic support, remove var and Expr[]::new construction

* Turns out Java 8 hadn't figured out how to do stream generics yet. Didn't even show up in my IDE, weird
2020-11-30 10:04:54 -08:00
Christoph M. Wintersteiger db398eca7a Tabs, formatting. 2017-09-17 17:50:05 +01:00
Christoph M. Wintersteiger d8a02bc040 Fixed AST translation functions in .NET and Java APIs. Fixes #1073. 2017-06-14 13:24:54 +01:00
George Karpenkov 495ef0f055 Java bindings with no finalizers
Replacing finalizers with PhantomReferences, required quite a lot of
changes to the codebase.
2016-06-12 20:27:01 +02:00
George Karpenkov dfc80d3b69 Do not needlessly catch exceptions in Java bindings
A lot of existing code in Java bindings catches exceptions just to
silence them later.

This is:
a) Unnecessary: it is OK for a function to throw a RuntimeException
without declaring it.
b) Highly unidiomatic and not recommended by Java experts (see Effective
Java and others)
c) Confusing as has the potential to hide the existing bugs and have
them resurface at the most inconvenient/unexpected moment.
2016-06-12 14:14:11 +02:00
George Karpenkov f93c41b1be Since classes are non-final "instanceof" check is better in #equals 2016-01-06 11:27:58 +01:00
George Karpenkov 8bb0010dc3 Javadoc and indentation fixes
- A proper way to refer to the function in the same class is "#funcName"

- There is no point in "@param p" declaration if no description follows
it.
2016-01-06 11:19:26 +01:00
George Karpenkov d0d7a5b712 Consistent Sort#equals 2016-01-06 11:16:45 +01:00
George Karpenkov 1dcaddbec7 Adding @Override declarations
They are important, as they prevent miss-spelling the parent method  and
/or arguments name.
2016-01-06 11:07:48 +01:00
Nikolaj Bjorner c1ebf6b4fc seq + API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 18:01:48 -08:00
Christoph M. Wintersteiger 1bad614646 Fixed .equals for AST, FuncDecl, and Sort, and AST.compareTo in Java
Fixes #143
2015-07-14 13:09:00 -07:00
Nikolaj Bjorner ade9b2830a various partial fixes for issue #143
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-10 08:16:57 -07:00
Christoph M. Wintersteiger b7bb53406f Turned Z3Exception into a RuntimeException such that throws declarations are not needed anymore. Thanks to codeplex user steimann for this suggestion. 2015-04-08 13:16:32 +01:00
Christoph M. Wintersteiger d7a62baef4 Improved memory use of the Java API. Thanks to Joerg Pfaehler for reporting this issue!
+ formatting

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-30 21:10:22 -06:00
Christoph M. Wintersteiger 766d585922 Merge branch 'unstable' of https://git01.codeplex.com/z3 into fpa-api
Resolved  a bunch of Java documentation conflicts

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>

Conflicts:
	src/api/java/AST.java
	src/api/java/ASTMap.java
	src/api/java/ASTVector.java
	src/api/java/AlgebraicNum.java
	src/api/java/BoolExpr.java
	src/api/java/Context.java
	src/api/java/Expr.java
	src/api/java/Fixedpoint.java
	src/api/java/Global.java
	src/api/java/InterpolationContext.java
	src/api/java/Model.java
	src/api/java/Solver.java
2015-01-11 18:39:17 +00:00
Christoph M. Wintersteiger 7fe9ad5cb4 Java FPA API overhaul
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-08 17:22:02 +00:00
Christoph M. Wintersteiger 376614a782 Java API: slight overhaul in preparation for the FP additions
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-03 15:09:52 +00:00
Christoph M. Wintersteiger ddebb4a69d Documentation fixes
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-10-24 19:45:21 +01:00
Christoph M. Wintersteiger 4304012971 Java API: copyright notices
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-10-22 16:55:08 +01:00
Christoph M. Wintersteiger 92e7384bf5 Java API: final adjustments
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-02-13 17:21:08 +00:00
Christoph M. Wintersteiger 4b18c8f9c4 Java API: syntactic adjustments, getters, setters,
... convenience parameters, etc.

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-01-17 19:31:02 +00:00
Christoph M. Wintersteiger 692593baaa Java API: 32-bit issues and bugfixes.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2012-11-30 22:31:07 +00:00
Christoph M. Wintersteiger 0c1f2a8281 Java API: Added exception wrappers and build dependencies.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2012-11-30 15:39:25 +00:00
Christoph M. Wintersteiger eee3bf886d Java API: package renaming.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2012-11-27 19:09:30 +00:00
Christoph M. Wintersteiger c6303fc8f5 Java API: a first version that compiles. This is still untested.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2012-11-27 16:36:50 +00:00