From f57962878f0b2a80c5842fe0577d69e50d617148 Mon Sep 17 00:00:00 2001 From: Manu Sridharan Date: Sat, 7 Sep 2024 18:11:03 -0700 Subject: [PATCH 1/3] WIP --- .github/workflows/continuous-integration.yml | 2 +- .../main/java/com/ibm/wala/shrike/shrikeCT/ClassReader.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 735dc358c..3285d1487 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -27,7 +27,7 @@ jobs: - os: ubuntu-latest java: 21 - os: ubuntu-latest - java: 22 + java: 23-ea fail-fast: false runs-on: ${{ matrix.os }} steps: diff --git a/shrike/src/main/java/com/ibm/wala/shrike/shrikeCT/ClassReader.java b/shrike/src/main/java/com/ibm/wala/shrike/shrikeCT/ClassReader.java index 044434138..2f588e3b1 100644 --- a/shrike/src/main/java/com/ibm/wala/shrike/shrikeCT/ClassReader.java +++ b/shrike/src/main/java/com/ibm/wala/shrike/shrikeCT/ClassReader.java @@ -67,8 +67,8 @@ private void parse() throws InvalidClassFileException { if (magic != MAGIC) { throw new InvalidClassFileException(offset, "bad magic number: " + magic); } - // Support class files up through JDK 22 (version 66) - if (majorVersion < 45 || majorVersion > 66) { + // Support class files up through JDK 23 (version 67) + if (majorVersion < 45 || majorVersion > 67) { throw new InvalidClassFileException( offset, "unknown class file version: " + majorVersion + '.' + minorVersion); } From 41d2a850b0c65d606a773535b315415ef899c75c Mon Sep 17 00:00:00 2001 From: Manu Sridharan Date: Thu, 12 Sep 2024 09:20:23 -0700 Subject: [PATCH 2/3] try just 23 --- .github/workflows/continuous-integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 3285d1487..e4ef9aaea 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -27,7 +27,7 @@ jobs: - os: ubuntu-latest java: 21 - os: ubuntu-latest - java: 23-ea + java: 23 fail-fast: false runs-on: ${{ matrix.os }} steps: From a4a033f39f403ebd0d8cd85bc47196927b0f76bf Mon Sep 17 00:00:00 2001 From: Manu Sridharan Date: Wed, 18 Sep 2024 17:28:34 -0700 Subject: [PATCH 3/3] fix javadoc warnings --- .../com/ibm/wala/analysis/reflection/GetMethodContext.java | 6 ++++-- .../java/com/ibm/wala/dataflow/IFDS/TabulationSolver.java | 2 -- .../com/ibm/wala/ipa/callgraph/impl/ExplicitCallGraph.java | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/com/ibm/wala/analysis/reflection/GetMethodContext.java b/core/src/main/java/com/ibm/wala/analysis/reflection/GetMethodContext.java index e99ff55ec..be1f4e735 100644 --- a/core/src/main/java/com/ibm/wala/analysis/reflection/GetMethodContext.java +++ b/core/src/main/java/com/ibm/wala/analysis/reflection/GetMethodContext.java @@ -37,10 +37,12 @@ * GetMethodContextSelector} should be placed in be placed in front of {@link * JavaLangClassContextInterpreter} and {@link JavaLangClassContextSelector} . * + *

TODO Do the same for {@link Class#getField(String)} and {@link + * Class#getDeclaredField(String)}. + * * @author Michael Heilmann * @see com.ibm.wala.analysis.reflection.GetMethodContextInterpreter - * @see com.ibm.wala.analysis.reflection.GetMethodContextSelector TODO Do the same for {@link - * Class#getField(String)} and {@link Class#getDeclaredField(String)}. + * @see com.ibm.wala.analysis.reflection.GetMethodContextSelector */ public class GetMethodContext implements Context { /** The type abstraction. */ diff --git a/core/src/main/java/com/ibm/wala/dataflow/IFDS/TabulationSolver.java b/core/src/main/java/com/ibm/wala/dataflow/IFDS/TabulationSolver.java index 7f239eeba..99e4622db 100644 --- a/core/src/main/java/com/ibm/wala/dataflow/IFDS/TabulationSolver.java +++ b/core/src/main/java/com/ibm/wala/dataflow/IFDS/TabulationSolver.java @@ -53,8 +53,6 @@ *

  • it stores summary edges at each callee instead of at each call site. * * - *

    - * * @param type of node in the supergraph * @param

    type of a procedure (like a box in an RSM) * @param type of factoids propagated when solving this problem diff --git a/core/src/main/java/com/ibm/wala/ipa/callgraph/impl/ExplicitCallGraph.java b/core/src/main/java/com/ibm/wala/ipa/callgraph/impl/ExplicitCallGraph.java index 7fef1192d..bf0138ba9 100644 --- a/core/src/main/java/com/ibm/wala/ipa/callgraph/impl/ExplicitCallGraph.java +++ b/core/src/main/java/com/ibm/wala/ipa/callgraph/impl/ExplicitCallGraph.java @@ -226,10 +226,6 @@ protected boolean addTarget(int pc, CGNode tNode) { } } - /** - * @see - * com.ibm.wala.ipa.callgraph.impl.BasicCallGraph.NodeImpl#removeNodeAndEdges(com.ibm.wala.ipa.callgraph.CGNode) - */ public void removeTarget(CGNode target) { allTargets.remove(getCallGraph().getNumber(target)); for (IntIterator it = targets.safeIterateIndices(); it.hasNext(); ) {