diff --git a/.project b/.project
index baf6a7c47..48a8c3be3 100644
--- a/.project
+++ b/.project
@@ -11,19 +11,19 @@
- org.eclipse.buildship.core.gradleprojectbuilder
+ org.eclipse.m2e.core.maven2Builder
- org.eclipse.m2e.core.maven2Builder
+ org.eclipse.buildship.core.gradleprojectbuilder
org.eclipse.m2e.core.maven2Nature
- org.eclipse.buildship.core.gradleprojectnature
org.python.pydev.pythonNature
+ org.eclipse.buildship.core.gradleprojectnature
diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..e47955840
--- /dev/null
+++ b/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
+connection.project.dir=
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=false
+show.console.view=false
+show.executions.view=false
diff --git a/Apply spotless.launch b/Apply spotless.launch
new file mode 100644
index 000000000..374c84b1f
--- /dev/null
+++ b/Apply spotless.launch
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.jython.test/.classpath b/com.ibm.wala.cast.python.jython.test/.classpath
index 38341446e..17d460f1a 100644
--- a/com.ibm.wala.cast.python.jython.test/.classpath
+++ b/com.ibm.wala.cast.python.jython.test/.classpath
@@ -17,5 +17,12 @@
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.core.prefs
index cac0df4df..463066f93 100644
--- a/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,18 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -9,3 +20,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.pde.prefs b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 000000000..df688c748
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,35 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.exec-env-too-low=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.no.automatic.module=1
+compilers.p.not-externalized-att=2
+compilers.p.service.component.without.lazyactivation=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=1
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python.jython/.classpath b/com.ibm.wala.cast.python.jython/.classpath
index b9b5913fc..aea492504 100644
--- a/com.ibm.wala.cast.python.jython/.classpath
+++ b/com.ibm.wala.cast.python.jython/.classpath
@@ -9,6 +9,7 @@
+
@@ -28,5 +29,12 @@
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.core.prefs
index 3a0745fdb..99c3d2aba 100644
--- a/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,14 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
@@ -7,6 +17,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -14,3 +25,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.jython3.test/.classpath b/com.ibm.wala.cast.python.jython3.test/.classpath
index 38341446e..17d460f1a 100644
--- a/com.ibm.wala.cast.python.jython3.test/.classpath
+++ b/com.ibm.wala.cast.python.jython3.test/.classpath
@@ -17,5 +17,12 @@
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.core.prefs
index cac0df4df..463066f93 100644
--- a/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,18 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -9,3 +20,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.pde.prefs b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 000000000..df688c748
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython3.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,35 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.exec-env-too-low=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.no.automatic.module=1
+compilers.p.not-externalized-att=2
+compilers.p.service.component.without.lazyactivation=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=1
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.core.prefs
index cac0df4df..463066f93 100644
--- a/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,18 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -9,3 +20,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.pde.prefs b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.pde.prefs
new file mode 100644
index 000000000..df688c748
--- /dev/null
+++ b/com.ibm.wala.cast.python.jython3/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,35 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.exec-env-too-low=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.no.automatic.module=1
+compilers.p.not-externalized-att=2
+compilers.p.service.component.without.lazyactivation=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=1
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python.ml.test/.classpath b/com.ibm.wala.cast.python.ml.test/.classpath
index 39266e76e..57af6ac04 100644
--- a/com.ibm.wala.cast.python.ml.test/.classpath
+++ b/com.ibm.wala.cast.python.ml.test/.classpath
@@ -2,8 +2,6 @@
-
-
@@ -19,10 +17,17 @@
-
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.core.prefs
index 2f5cc74c3..f23c556f9 100644
--- a/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,29 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.launch b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.launch
new file mode 100644
index 000000000..848fbb311
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.launch
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule.launch b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule.launch
new file mode 100644
index 000000000..e5582491f
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule.launch
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule2.launch b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule2.launch
new file mode 100644
index 000000000..c3bab13fe
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule2.launch
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule3.launch b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule3.launch
new file mode 100644
index 000000000..e5d6f3e85
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/TestTensorflow2Model.testModule3.launch
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml.test/build.properties b/com.ibm.wala.cast.python.ml.test/build.properties
index e6d51e8d7..a8d7d2108 100644
--- a/com.ibm.wala.cast.python.ml.test/build.properties
+++ b/com.ibm.wala.cast.python.ml.test/build.properties
@@ -1,3 +1,5 @@
source.. = source/
bin.includes = META-INF/,\
- .
+ .,\
+ logging.properties
+src.includes = logging.properties
diff --git a/com.ibm.wala.cast.python.ml.test/logging.properties b/com.ibm.wala.cast.python.ml.test/logging.properties
new file mode 120000
index 000000000..e283a9e7e
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml.test/logging.properties
@@ -0,0 +1 @@
+../logging.properties
\ No newline at end of file
diff --git a/com.ibm.wala.cast.python.ml/.classpath b/com.ibm.wala.cast.python.ml/.classpath
index 57e09287d..acdac1889 100644
--- a/com.ibm.wala.cast.python.ml/.classpath
+++ b/com.ibm.wala.cast.python.ml/.classpath
@@ -5,6 +5,7 @@
+
@@ -32,5 +33,12 @@
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.core.prefs
index 2f5cc74c3..8401ccf1c 100644
--- a/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,21 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.ml/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python.ml/pom.xml b/com.ibm.wala.cast.python.ml/pom.xml
index 17a090cbe..79ef1bfb5 100644
--- a/com.ibm.wala.cast.python.ml/pom.xml
+++ b/com.ibm.wala.cast.python.ml/pom.xml
@@ -66,7 +66,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 2.3
+ 3.4.1
diff --git a/com.ibm.wala.cast.python.test/.classpath b/com.ibm.wala.cast.python.test/.classpath
index e4e6774b2..fa99829da 100644
--- a/com.ibm.wala.cast.python.test/.classpath
+++ b/com.ibm.wala.cast.python.test/.classpath
@@ -6,21 +6,26 @@
-
+
-
-
-
+
-
+
+
+
+
+
+
+
+
diff --git a/com.ibm.wala.cast.python.test/.settings/org.eclipse.buildship.core.prefs b/com.ibm.wala.cast.python.test/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..b1886adb4
--- /dev/null
+++ b/com.ibm.wala.cast.python.test/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,2 @@
+connection.project.dir=..
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.core.prefs
index cac0df4df..463066f93 100644
--- a/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,18 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -9,3 +20,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python/.project b/com.ibm.wala.cast.python/.project
index e55efec79..7fc9dad67 100644
--- a/com.ibm.wala.cast.python/.project
+++ b/com.ibm.wala.cast.python/.project
@@ -5,6 +5,11 @@
+
+ org.python.pydev.PyDevBuilder
+
+
+
org.eclipse.jdt.core.javabuilder
@@ -36,5 +41,6 @@
org.eclipse.pde.PluginNature
org.eclipse.jdt.core.javanature
org.eclipse.buildship.core.gradleprojectnature
+ org.python.pydev.pythonNature
diff --git a/com.ibm.wala.cast.python/.pydevproject b/com.ibm.wala.cast.python/.pydevproject
new file mode 100644
index 000000000..2b045655f
--- /dev/null
+++ b/com.ibm.wala.cast.python/.pydevproject
@@ -0,0 +1,5 @@
+
+
+ Default
+ python interpreter
+
diff --git a/com.ibm.wala.cast.python/.settings/org.eclipse.buildship.core.prefs b/com.ibm.wala.cast.python/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..b1886adb4
--- /dev/null
+++ b/com.ibm.wala.cast.python/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,2 @@
+connection.project.dir=..
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python/.settings/org.eclipse.core.resources.prefs b/com.ibm.wala.cast.python/.settings/org.eclipse.core.resources.prefs
index d91452bee..c0d8a789b 100644
--- a/com.ibm.wala.cast.python/.settings/org.eclipse.core.resources.prefs
+++ b/com.ibm.wala.cast.python/.settings/org.eclipse.core.resources.prefs
@@ -1,5 +1,4 @@
eclipse.preferences.version=1
-encoding//src/test/java=UTF-8
encoding/=UTF-8
encoding/data=UTF-8
encoding/source=UTF-8
diff --git a/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.core.prefs
index 8b5c4dca7..f23c556f9 100644
--- a/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.core.prefs
+++ b/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,14 @@
eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
@@ -7,6 +17,7 @@ org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
@@ -14,3 +25,5 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.launching.prefs b/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 000000000..9a295395c
--- /dev/null
+++ b/com.ibm.wala.cast.python/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=info
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=info
diff --git a/com.ibm.wala.cast.python/.settings/org.eclipse.pde.prefs b/com.ibm.wala.cast.python/.settings/org.eclipse.pde.prefs
new file mode 100644
index 000000000..df688c748
--- /dev/null
+++ b/com.ibm.wala.cast.python/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,35 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.exec-env-too-low=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.no.automatic.module=1
+compilers.p.not-externalized-att=2
+compilers.p.service.component.without.lazyactivation=1
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=1
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/com.ibm.wala.cast.python/source/com/ibm/wala/cast/python/ipa/callgraph/PythonSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast.python/source/com/ibm/wala/cast/python/ipa/callgraph/PythonSSAPropagationCallGraphBuilder.java
index 5650320d1..403c3017b 100644
--- a/com.ibm.wala.cast.python/source/com/ibm/wala/cast/python/ipa/callgraph/PythonSSAPropagationCallGraphBuilder.java
+++ b/com.ibm.wala.cast.python/source/com/ibm/wala/cast/python/ipa/callgraph/PythonSSAPropagationCallGraphBuilder.java
@@ -67,7 +67,6 @@
public class PythonSSAPropagationCallGraphBuilder extends AstSSAPropagationCallGraphBuilder {
- @SuppressWarnings("unused")
private static final Logger logger =
Logger.getLogger(PythonSSAPropagationCallGraphBuilder.class.getName());
diff --git a/pom.xml b/pom.xml
index a09dc8006..f5054254c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -108,6 +108,11 @@
jnr-constants
0.9.12
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ 2.15.0
+
com.diffplug.spotless
spotless-maven-plugin