Commit Graph

28 Commits

Author SHA1 Message Date
Ben Liblit 28f0e09435 Make FilterIterator and Predicate statically type-correct
Previously FilterIterator was very permissive regarding the type
relationships between the original iterator, the filtered iterator,
and the predicate used to prune the former down to the latter.  Now we
enforce those relationships more strictly, including proper use of
covariant ("<? extends T>") and contravariant ("<? super T>")
polymorphic type parameters where appropriate.

This lets us get rid of seven suppressed warnings about generic types
and/or unchecked conversions.  It also moves us toward being able to
use modern Java features like lambdas and streams more easily.
2017-11-27 11:31:14 -06:00
Julian Dolby 8d65788aef convert to Java 8 Function and Predicate 2017-11-11 20:29:04 -05:00
Manu Sridharan 13a46d8ea3 Fixes #82
PrunedCFG had been changed to always include an entry and exit node.
The logic for detecting an "empty" ExceptionPrunedCFG inside the PDG
construction code had not been updated appropriately.
2015-08-06 11:08:27 -07:00
Cosmin Radoi 853b5fc37a replace Filter with Predicate 2014-11-25 13:23:47 -06:00
Juergen Graf eb9e74f442 add/remove @SuppressWarnings to keep in sync with wala main branch 2014-07-30 16:17:37 +02:00
Juergen Graf cdaaddf88b Merge branch 'wala' into master 2013-07-02 14:23:24 +02:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -04:00
Juergen Graf 61d7a33928 remove warnings in com.ibm.wala.core 2013-03-12 00:50:17 +01:00
Juergen Graf b82d5dba90 Merge branch 'wala' into master 2012-11-06 04:23:10 +01:00
Manu Sridharan 256cd06460 Convert all Java source files to use Unix line endings; no semantic change 2012-09-04 15:56:05 -07:00
Juergen Graf 5c43668553 Merge branch 'wala' into master 2011-04-11 16:40:48 +02:00
msridhar1 857e456806 organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4081 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-03 04:08:05 +00:00
Juergen Graf 211e542ee5 entry and exit nodes in every cfg 2011-03-30 13:03:16 +02:00
dolby-oss 5a042f3f69 tighten typing for NumberedGraph, using covariance as allowed as of java 1.5
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4042 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-20 16:46:53 +00:00
sjfink 6d0669318c tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3675 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 15:26:07 +00:00
msridhar1 e08ed2663f Deprecate Iterator2Collection.toCollection(); use toSet() or toList() instead.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3421 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-09 15:24:42 +00:00
yinnon_haviv 6743f05e03 Added template parameters.
This is needed for compiling with IBM Java 5.0, which is more strict with respect to template types

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3261 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-09 14:31:46 +00:00
dolby-oss b61135c8be adapt to Shrike changes: divorce SSAInstruction from the Shrike Instruction, which requires adding a type parameter to ControlFlowGraph and propagating that change. Also, stop using the JVML opcode in a few places where it was (unnecessarily) being used.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3227 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-19 15:58:31 +00:00
sjfink caf7c625fc minor cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1833 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-09 16:07:13 +00:00
dolby-oss 4176a675cc bug fixes to PrunedCFG for getSuccNodes and getPredNodes. Make pruned order reflect original order, and remove nasty bug allowing duplicates
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1830 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-08 14:12:28 +00:00
sjfink d445f0861a change ControlFlowGraph.getExceptionalSuccessors to return a List, in order of increasing catch scope
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1822 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-04 15:48:46 +00:00
dolby-oss dfc9ee6b1f added method to get valid phi arguments in a pruned cfg
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1767 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-09-18 16:31:04 +00:00
sjfink 182a53ee8f generics for control flow graph and filters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1712 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-09-02 14:45:41 +00:00
sjfink 6421783e52 introduce factory for Iterator2Collection
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1308 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-21 16:14:00 +00:00
sjfink fdb7a17af3 add @Overrides annotations and nuke unnecessary casts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1197 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 15:16:05 +00:00
sjfink af153ec7ff misc cleanup and refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1179 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-25 19:33:39 +00:00
sjfink f2f40b3d4e more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1154 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-21 16:04:27 +00:00
sjfink 9086a2aed6 move PrunedCFG to wala.core
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1044 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-03 17:07:54 +00:00