bugObjs)
int curIndex = 10000;
String currentBugid = null;
- //¸ðµç ¹ö±×µéÀ» ´ë»óÀ¸·Î È®ÀÎ. (comment Á¤º¸¿¡ bugID°¡ Æ÷ÇԵǾîÀÖ´ÂÁö È®ÀÎ)
- for (Bug bug : bugObjs.values()) //¹ö±×¾ÆÀ̵ðµéÀ» ´ë»óÀ¸·Î
+ //��� ���׵��� ������� Ȯ��. (comment ������ bugID�� ���ԵǾ��ִ��� Ȯ��)
+ for (Bug bug : bugObjs.values()) //���׾��̵���� �������
{
- //ÇÑ Ä¿¹Ô¿¡ ¿©·¯ ¹ö±× ¾ÆÀ̵𰡠Á¸ÀçÇÏ´Â °æ¿ì, °¡Àå ¾Õ¿¡ µîÀåÇÑ ¹ö±× ¾ÆÀ̵𸦠Ŀ¹ÔÀÇ ¹ö±×¾ÆÀ̵ð·Î °áÁ¤
+ //�� Ŀ�Կ� ���� ���� ���̵� �����ϴ� ���, ���� �տ� ������ ���� ���̵� Ŀ���� ���׾��̵�� ����
if (item.comment.contains(bug.ID + " ")) {
int index = item.comment.indexOf(bug.ID);
if (index < curIndex) {
diff --git a/techniques/BLIA/.classpath b/techniques/BLIA/.classpath
deleted file mode 100644
index a02765c..0000000
--- a/techniques/BLIA/.classpath
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/techniques/BLIA/.project b/techniques/BLIA/.project
deleted file mode 100644
index 6cde7fe..0000000
--- a/techniques/BLIA/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- BLIA
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/techniques/BLIA/bin/edu/skku/.gitignore b/techniques/BLIA/bin/edu/skku/.gitignore
deleted file mode 100644
index 2f2fa3a..0000000
--- a/techniques/BLIA/bin/edu/skku/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.DS_Store
diff --git a/techniques/BLIA/bin/edu/skku/selab/.gitignore b/techniques/BLIA/bin/edu/skku/selab/.gitignore
deleted file mode 100644
index 2f2fa3a..0000000
--- a/techniques/BLIA/bin/edu/skku/selab/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.DS_Store
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/.gitignore b/techniques/BLIA/bin/edu/skku/selab/blp/.gitignore
deleted file mode 100644
index 2f2fa3a..0000000
--- a/techniques/BLIA/bin/edu/skku/selab/blp/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.DS_Store
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/BLP.class b/techniques/BLIA/bin/edu/skku/selab/blp/BLP.class
deleted file mode 100644
index 68d73fa..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/BLP.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/Property.class b/techniques/BLIA/bin/edu/skku/selab/blp/Property.class
deleted file mode 100644
index 289790d..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/Property.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/PropertyTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/PropertyTest.class
deleted file mode 100644
index d6a20b1..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/PropertyTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA$WorkerThread.class
deleted file mode 100644
index 54aa2e0..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA.class
deleted file mode 100644
index ca9d811..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BLIA.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BliaTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BliaTest.class
deleted file mode 100644
index 991c6d2..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BliaTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer$WorkerThread.class
deleted file mode 100644
index 93a65bf..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer.class
deleted file mode 100644
index 17d06a7..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/BugRepoAnalyzer.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer$WorkerThread.class
deleted file mode 100644
index 4cb8591..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer.class
deleted file mode 100644
index 76b72a8..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzer.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzerTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzerTest.class
deleted file mode 100644
index 9c89cbe..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/ScmRepoAnalyzerTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer$WorkerThread.class
deleted file mode 100644
index 602baf2..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer.class
deleted file mode 100644
index bc27b2f..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/SourceFileAnalyzer.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer$WorkerThread.class
deleted file mode 100644
index e17a5d9..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer.class
deleted file mode 100644
index 96c4fba..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/analysis/StackTraceAnalyzer.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreator.class
deleted file mode 100644
index 1f5651f..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreatorTest.class
deleted file mode 100644
index b0b2a5e..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugCorpusCreatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugSourceFileVectorCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugSourceFileVectorCreator.class
deleted file mode 100644
index 5ec7259..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugSourceFileVectorCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator$1.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator$1.class
deleted file mode 100644
index 8fd1b13..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator$1.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator.class
deleted file mode 100644
index 4324129..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreatorTest.class
deleted file mode 100644
index 51b7380..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/BugVectorCreatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollector.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollector.class
deleted file mode 100644
index 3554174..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollector.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollectorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollectorTest.class
deleted file mode 100644
index 2f05dfc..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/GitCommitLogCollectorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/ICommitLogCollector.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/ICommitLogCollector.class
deleted file mode 100644
index e58afb4..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/ICommitLogCollector.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreator.class
deleted file mode 100644
index 0745361..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreatorTest.class
deleted file mode 100644
index e83bee9..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileCorpusCreatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator$WorkerThread.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator$WorkerThread.class
deleted file mode 100644
index ca8ddbf..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator$WorkerThread.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator.class
deleted file mode 100644
index b51687d..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreatorTest.class
deleted file mode 100644
index 2d63bb0..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/SourceFileVectorCreatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreator.class
deleted file mode 100644
index d7cd7a1..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreatorTest.class
deleted file mode 100644
index 7c498a4..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/blia/indexer/StructuredSourceFileCorpusCreatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/ASTCreator.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/ASTCreator.class
deleted file mode 100644
index 0e98bf1..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/ASTCreator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/Bug.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/Bug.class
deleted file mode 100644
index 77ad2f5..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/Bug.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/BugCorpus.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/BugCorpus.class
deleted file mode 100644
index 2a9d4e2..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/BugCorpus.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/BugTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/BugTest.class
deleted file mode 100644
index 37c3626..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/BugTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileDetector.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileDetector.class
deleted file mode 100644
index 5115c83..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileDetector.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$1.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$1.class
deleted file mode 100644
index 8219cce..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$1.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$2.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$2.class
deleted file mode 100644
index cebf7fc..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$2.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$3.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$3.class
deleted file mode 100644
index f97718b..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$3.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$4.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$4.class
deleted file mode 100644
index c6f8d74..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$4.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$5.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$5.class
deleted file mode 100644
index b3400d5..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$5.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$6.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$6.class
deleted file mode 100644
index 272dbd5..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$6.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$7.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$7.class
deleted file mode 100644
index c85c8ff..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$7.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$8.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$8.class
deleted file mode 100644
index 2995814..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$8.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$9.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$9.class
deleted file mode 100644
index 0011965..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser$9.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser.class
deleted file mode 100644
index 0c8cb51..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/FileParser.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/Rank.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/Rank.class
deleted file mode 100644
index ec13687..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/Rank.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFile.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFile.class
deleted file mode 100644
index 4933aaf..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFile.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFileCorpus.class b/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFileCorpus.class
deleted file mode 100644
index 2149957..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/common/SourceFileCorpus.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/AnalysisValue.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/AnalysisValue.class
deleted file mode 100644
index 9df1875..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/AnalysisValue.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/CommitInfo.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/CommitInfo.class
deleted file mode 100644
index b889e16..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/CommitInfo.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/ExperimentResult.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/ExperimentResult.class
deleted file mode 100644
index 5f68fe8..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/ExperimentResult.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/IntegratedAnalysisValue.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/IntegratedAnalysisValue.class
deleted file mode 100644
index 6503eb0..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/IntegratedAnalysisValue.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/SimilarBugInfo.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/SimilarBugInfo.class
deleted file mode 100644
index 9be9d91..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/SimilarBugInfo.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BaseDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BaseDAO.class
deleted file mode 100644
index 4b5dc65..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BaseDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAO.class
deleted file mode 100644
index f18b4a8..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAOTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAOTest.class
deleted file mode 100644
index ac797fb..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/BugDAOTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAO.class
deleted file mode 100644
index 30b11f3..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAOTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAOTest.class
deleted file mode 100644
index 34433ae..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/CommitDAOTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/DbUtil.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/DbUtil.class
deleted file mode 100644
index fe04188..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/DbUtil.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAO.class
deleted file mode 100644
index 576a379..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAOTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAOTest.class
deleted file mode 100644
index 328fe1f..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/ExperimentResultDAOTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/FunctionDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/FunctionDAO.class
deleted file mode 100644
index d869afb..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/FunctionDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAO.class
deleted file mode 100644
index 474926d..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAOTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAOTest.class
deleted file mode 100644
index e8e89ca..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/IntegratedAnalysisDAOTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAO.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAO.class
deleted file mode 100644
index a43ca87..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAO.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAOTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAOTest.class
deleted file mode 100644
index 6fac7d8..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/db/dao/SourceFileDAOTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/Evaluator.class b/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/Evaluator.class
deleted file mode 100644
index bec59e6..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/Evaluator.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/EvaluatorTest.class b/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/EvaluatorTest.class
deleted file mode 100644
index 806031e..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/evaluation/EvaluatorTest.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/test/utils/PrintTestResult.class b/techniques/BLIA/bin/edu/skku/selab/blp/test/utils/PrintTestResult.class
deleted file mode 100644
index c723b74..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/test/utils/PrintTestResult.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/BLIAAllTests.class b/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/BLIAAllTests.class
deleted file mode 100644
index 3b69110..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/BLIAAllTests.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/DAOAllTests.class b/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/DAOAllTests.class
deleted file mode 100644
index 939cab9..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/DAOAllTests.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/FullTests.class b/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/FullTests.class
deleted file mode 100644
index 19ca084..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/testsuite/FullTests.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/PorterStemmer.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/PorterStemmer.class
deleted file mode 100644
index d071672..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/PorterStemmer.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Splitter.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/Splitter.class
deleted file mode 100644
index 380a27f..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Splitter.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stem.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stem.class
deleted file mode 100644
index 8c7351f..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stem.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stopword.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stopword.class
deleted file mode 100644
index a31e6ad..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Stopword.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Util.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/Util.class
deleted file mode 100644
index f92ac2d..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/Util.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/BugRepositoryUtil.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/BugRepositoryUtil.class
deleted file mode 100644
index a443d52..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/BugRepositoryUtil.class and /dev/null differ
diff --git a/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/JGitUtil.class b/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/JGitUtil.class
deleted file mode 100644
index 5be946e..0000000
Binary files a/techniques/BLIA/bin/edu/skku/selab/blp/utils/temp/JGitUtil.class and /dev/null differ
diff --git a/techniques/BLIA/lib/args4j-2.0.6.jar b/techniques/BLIA/lib/args4j-2.0.6.jar
deleted file mode 100644
index fe8aa60..0000000
Binary files a/techniques/BLIA/lib/args4j-2.0.6.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/commons-lang3-3.3.2.jar b/techniques/BLIA/lib/commons-lang3-3.3.2.jar
deleted file mode 100644
index bb06979..0000000
Binary files a/techniques/BLIA/lib/commons-lang3-3.3.2.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/contenttype-3.2.0-v20060603.jar b/techniques/BLIA/lib/contenttype-3.2.0-v20060603.jar
deleted file mode 100644
index 816e3fc..0000000
Binary files a/techniques/BLIA/lib/contenttype-3.2.0-v20060603.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/dom4j-1.6.1.jar b/techniques/BLIA/lib/dom4j-1.6.1.jar
deleted file mode 100644
index c8c4dbb..0000000
Binary files a/techniques/BLIA/lib/dom4j-1.6.1.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/h2-1.4.184.jar b/techniques/BLIA/lib/h2-1.4.184.jar
deleted file mode 100644
index c88f163..0000000
Binary files a/techniques/BLIA/lib/h2-1.4.184.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/lucene-core-2.9.4.jar b/techniques/BLIA/lib/lucene-core-2.9.4.jar
deleted file mode 100644
index 898d400..0000000
Binary files a/techniques/BLIA/lib/lucene-core-2.9.4.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/mysql-connector-java-5.1.13-bin.jar b/techniques/BLIA/lib/mysql-connector-java-5.1.13-bin.jar
deleted file mode 100644
index ef5d71e..0000000
Binary files a/techniques/BLIA/lib/mysql-connector-java-5.1.13-bin.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar b/techniques/BLIA/lib/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar
deleted file mode 100644
index cfce073..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar b/techniques/BLIA/lib/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar
deleted file mode 100644
index 89131bb..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.core.runtime_3.4.0.v20080512.jar b/techniques/BLIA/lib/org.eclipse.core.runtime_3.4.0.v20080512.jar
deleted file mode 100644
index 49bbc18..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.core.runtime_3.4.0.v20080512.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar b/techniques/BLIA/lib/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
deleted file mode 100644
index ecac7a8..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar b/techniques/BLIA/lib/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
deleted file mode 100644
index 1cd6ea2..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.jface_3.4.1.M20080827-2000.jar b/techniques/BLIA/lib/org.eclipse.jface_3.4.1.M20080827-2000.jar
deleted file mode 100644
index ad1c58f..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.jface_3.4.1.M20080827-2000.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.jgit-3.6.2.201501210735-r.jar b/techniques/BLIA/lib/org.eclipse.jgit-3.6.2.201501210735-r.jar
deleted file mode 100644
index 7a3fdbb..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.jgit-3.6.2.201501210735-r.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar b/techniques/BLIA/lib/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
deleted file mode 100644
index 673f3f5..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/org.eclipse.text_3.4.0.v20080605-1800.jar b/techniques/BLIA/lib/org.eclipse.text_3.4.0.v20080605-1800.jar
deleted file mode 100644
index 5eaefd0..0000000
Binary files a/techniques/BLIA/lib/org.eclipse.text_3.4.0.v20080605-1800.jar and /dev/null differ
diff --git a/techniques/BLIA/lib/preferences-3.2.100-v20070522.jar b/techniques/BLIA/lib/preferences-3.2.100-v20070522.jar
deleted file mode 100644
index 8ca9b2f..0000000
Binary files a/techniques/BLIA/lib/preferences-3.2.100-v20070522.jar and /dev/null differ
diff --git a/techniques/BLIA/pom.xml b/techniques/BLIA/pom.xml
new file mode 100644
index 0000000..5e7cdff
--- /dev/null
+++ b/techniques/BLIA/pom.xml
@@ -0,0 +1,108 @@
+
+ 4.0.0
+ BLIA
+ BLIA
+ 0.0.1-SNAPSHOT
+
+ src
+ test
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ prepare-package
+
+ unpack-dependencies
+
+
+ ${project.build.directory}/classes
+ wvtool
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.1.1
+
+ BLIA
+ false
+
+ jar-with-dependencies
+
+
+
+ edu.skku.selab.blp.BLP
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+ openmind
+ OpenMind
+ http://repository.openmindonline.it/
+
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.apache.commons
+ commons-lang3
+ 3.9
+
+
+ com.h2database
+ h2
+ 1.4.200
+
+
+ org.eclipse.jgit
+ org.eclipse.jgit
+ 5.5.1.201910021850-r
+
+
+ edu.udo.cs
+ wvtool
+ 1.0.0
+ system
+ ${project.basedir}/lib/wvtool.jar
+
+
+ org.eclipse.jdt
+ org.eclipse.jdt.core
+ 3.4.2-20081006
+
+
+ org.eclipse.core
+ org.eclipse.core.runtime
+ 3.4.0-20081006
+
+
+
diff --git a/techniques/BLUiR/.classpath b/techniques/BLUiR/.classpath
deleted file mode 100644
index c03bc1b..0000000
--- a/techniques/BLUiR/.classpath
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/techniques/BLUiR/.project b/techniques/BLUiR/.project
deleted file mode 100644
index 2be0852..0000000
--- a/techniques/BLUiR/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- BLUiR
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/techniques/BLUiR/.settings/org.eclipse.jdt.core.prefs b/techniques/BLUiR/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d59e09c..0000000
--- a/techniques/BLUiR/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/techniques/BLUiR/bin/.gitignore b/techniques/BLUiR/bin/.gitignore
deleted file mode 100644
index 24d6437..0000000
--- a/techniques/BLUiR/bin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/techniques/BLUiR/bin/.project b/techniques/BLUiR/bin/.project
deleted file mode 100644
index 2be0852..0000000
--- a/techniques/BLUiR/bin/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- BLUiR
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/techniques/BLUiR/bin/Settings.txt b/techniques/BLUiR/bin/Settings.txt
deleted file mode 100644
index e5957da..0000000
--- a/techniques/BLUiR/bin/Settings.txt
+++ /dev/null
@@ -1 +0,0 @@
-indripath=C:\Program Files\Indri\Indri 5.11\bin\
\ No newline at end of file
diff --git a/techniques/BLUiR/bin/fields b/techniques/BLUiR/bin/fields
deleted file mode 100644
index f816c93..0000000
--- a/techniques/BLUiR/bin/fields
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- class
-
-
- method
-
-
- identifier
-
-
- comments
-
-
\ No newline at end of file
diff --git a/techniques/BLUiR/bin/pom.xml b/techniques/BLUiR/bin/pom.xml
deleted file mode 100644
index 599fed9..0000000
--- a/techniques/BLUiR/bin/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
- 4.0.0
- BLUiR
- BLUiR
- 0.0.1-SNAPSHOT
- BLUiR
- BLUiR
-
- src
-
-
- maven-compiler-plugin
- 3.5.1
-
- 1.8
- 1.8
-
-
-
-
-
-
- org.eclipse.jdt
- org.eclipse.jdt.core
- 3.10.0
-
-
- com.beust
- jcommander
- 1.58
-
-
-
-
-
-
\ No newline at end of file
diff --git a/techniques/BLUiR/bin/src/bluir/core/BLUiR.class b/techniques/BLUiR/bin/src/bluir/core/BLUiR.class
deleted file mode 100644
index 0fd0633..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/BLUiR.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/core/Core.class b/techniques/BLUiR/bin/src/bluir/core/Core.class
deleted file mode 100644
index fed3725..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/Core.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/core/GenericVisitorFact.class b/techniques/BLUiR/bin/src/bluir/core/GenericVisitorFact.class
deleted file mode 100644
index 6ac3d15..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/GenericVisitorFact.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/core/Parameters.class b/techniques/BLUiR/bin/src/bluir/core/Parameters.class
deleted file mode 100644
index 5acbe26..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/Parameters.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/core/Property.class b/techniques/BLUiR/bin/src/bluir/core/Property.class
deleted file mode 100644
index a2f2a7a..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/Property.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/core/Runner.class b/techniques/BLUiR/bin/src/bluir/core/Runner.class
deleted file mode 100644
index 6dc8fb3..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/core/Runner.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/entity/BugReport.class b/techniques/BLUiR/bin/src/bluir/entity/BugReport.class
deleted file mode 100644
index 41125c7..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/entity/BugReport.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/evaluation/Evaluation.class b/techniques/BLUiR/bin/src/bluir/evaluation/Evaluation.class
deleted file mode 100644
index 39e31a5..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/evaluation/Evaluation.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/evaluation/Rank.class b/techniques/BLUiR/bin/src/bluir/evaluation/Rank.class
deleted file mode 100644
index 735eccb..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/evaluation/Rank.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/extraction/FactExtractor.class b/techniques/BLUiR/bin/src/bluir/extraction/FactExtractor.class
deleted file mode 100644
index 0637827..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/extraction/FactExtractor.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/extraction/QueryExtractor.class b/techniques/BLUiR/bin/src/bluir/extraction/QueryExtractor.class
deleted file mode 100644
index 8731546..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/extraction/QueryExtractor.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/parser/XMLParser.class b/techniques/BLUiR/bin/src/bluir/parser/XMLParser.class
deleted file mode 100644
index 83d3d4d..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/parser/XMLParser.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/utility/FileDetector.class b/techniques/BLUiR/bin/src/bluir/utility/FileDetector.class
deleted file mode 100644
index cee2ef7..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/utility/FileDetector.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/utility/FileSystem.class b/techniques/BLUiR/bin/src/bluir/utility/FileSystem.class
deleted file mode 100644
index c693e31..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/utility/FileSystem.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/utility/PreProcessor.class b/techniques/BLUiR/bin/src/bluir/utility/PreProcessor.class
deleted file mode 100644
index 06dbb59..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/utility/PreProcessor.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/src/bluir/utility/StructureDiffUtils.class b/techniques/BLUiR/bin/src/bluir/utility/StructureDiffUtils.class
deleted file mode 100644
index 9361042..0000000
Binary files a/techniques/BLUiR/bin/src/bluir/utility/StructureDiffUtils.class and /dev/null differ
diff --git a/techniques/BLUiR/bin/stopwords b/techniques/BLUiR/bin/stopwords
deleted file mode 100644
index e14d537..0000000
--- a/techniques/BLUiR/bin/stopwords
+++ /dev/null
@@ -1,422 +0,0 @@
-
-
-a
-about
-above
-according
-across
-after
-afterwards
-again
-against
-albeit
-all
-almost
-alone
-along
-already
-also
-although
-always
-am
-among
-amongst
-an
-and
-another
-any
-anybody
-anyhow
-anyone
-anything
-anyway
-anywhere
-apart
-are
-around
-as
-at
-av
-be
-became
-because
-become
-becomes
-becoming
-been
-before
-beforehand
-behind
-being
-below
-beside
-besides
-between
-beyond
-both
-but
-by
-can
-cannot
-canst
-certain
-cf
-choose
-contrariwise
-cos
-could
-cu
-day
-do
-does
-doesn't
-doing
-dost
-doth
-double
-down
-dual
-during
-each
-either
-else
-elsewhere
-enough
-et
-etc
-even
-ever
-every
-everybody
-everyone
-everything
-everywhere
-except
-excepted
-excepting
-exception
-exclude
-excluding
-exclusive
-far
-farther
-farthest
-few
-ff
-first
-for
-formerly
-forth
-forward
-from
-front
-further
-furthermore
-furthest
-get
-go
-had
-halves
-hardly
-has
-hast
-hath
-have
-he
-hence
-henceforth
-her
-here
-hereabouts
-hereafter
-hereby
-herein
-hereto
-hereupon
-hers
-herself
-him
-himself
-hindmost
-his
-hither
-hitherto
-how
-however
-howsoever
-i
-ie
-if
-in
-inasmuch
-inc
-include
-included
-including
-indeed
-indoors
-inside
-insomuch
-instead
-into
-inward
-inwards
-is
-it
-its
-itself
-just
-kind
-kg
-km
-last
-latter
-latterly
-less
-lest
-let
-like
-little
-ltd
-many
-may
-maybe
-me
-meantime
-meanwhile
-might
-moreover
-most
-mostly
-more
-mr
-mrs
-ms
-much
-must
-my
-myself
-namely
-need
-neither
-never
-nevertheless
-next
-no
-nobody
-none
-nonetheless
-noone
-nope
-nor
-not
-nothing
-notwithstanding
-now
-nowadays
-nowhere
-of
-off
-often
-ok
-on
-once
-one
-only
-onto
-or
-other
-others
-otherwise
-ought
-our
-ours
-ourselves
-out
-outside
-over
-own
-per
-perhaps
-plenty
-provide
-quite
-rather
-really
-round
-said
-sake
-same
-sang
-save
-saw
-see
-seeing
-seem
-seemed
-seeming
-seems
-seen
-seldom
-selves
-sent
-several
-shalt
-she
-should
-shown
-sideways
-since
-slept
-slew
-slung
-slunk
-smote
-so
-some
-somebody
-somehow
-someone
-something
-sometime
-sometimes
-somewhat
-somewhere
-spake
-spat
-spoke
-spoken
-sprang
-sprung
-stave
-staves
-still
-such
-supposing
-than
-that
-the
-thee
-their
-them
-themselves
-then
-thence
-thenceforth
-there
-thereabout
-thereabouts
-thereafter
-thereby
-therefore
-therein
-thereof
-thereon
-thereto
-thereupon
-these
-they
-this
-those
-thou
-though
-thrice
-through
-throughout
-thru
-thus
-thy
-thyself
-till
-to
-together
-too
-toward
-towards
-ugh
-unable
-under
-underneath
-unless
-unlike
-until
-up
-upon
-upward
-upwards
-us
-use
-used
-using
-very
-via
-vs
-want
-was
-we
-week
-well
-were
-what
-whatever
-whatsoever
-when
-whence
-whenever
-whensoever
-where
-whereabouts
-whereafter
-whereas
-whereat
-whereby
-wherefore
-wherefrom
-wherein
-whereinto
-whereof
-whereon
-wheresoever
-whereto
-whereunto
-whereupon
-wherever
-wherewith
-whether
-whew
-which
-whichever
-whichsoever
-while
-whilst
-whither
-who
-whoa
-whoever
-whole
-whom
-whomever
-whomsoever
-whose
-whosoever
-why
-will
-wilt
-with
-within
-without
-worse
-worst
-would
-wow
-ye
-yet
-year
-yippee
-you
-your
-yours
-yourself
-yourselves
-
-
diff --git a/techniques/BLUiR/pom.xml b/techniques/BLUiR/pom.xml
index 599fed9..ab01a56 100644
--- a/techniques/BLUiR/pom.xml
+++ b/techniques/BLUiR/pom.xml
@@ -1,42 +1,57 @@
- 4.0.0
- BLUiR
- BLUiR
- 0.0.1-SNAPSHOT
- BLUiR
- BLUiR
-
- src
-
-
- maven-compiler-plugin
- 3.5.1
-
- 1.8
- 1.8
-
-
-
-
-
-
- org.eclipse.jdt
- org.eclipse.jdt.core
- 3.10.0
-
-
- com.beust
- jcommander
- 1.58
-
+ 4.0.0
+ BLUiR
+ BLUiR
+ 0.0.1-SNAPSHOT
+
+ src
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.1.1
+
+ BLUiR
+ false
+
+ jar-with-dependencies
+
+
+
+ bluir.core.BLUiR
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+ org.eclipse.jdt
+ org.eclipse.jdt.core
+ 3.10.0
+
+
+ com.beust
+ jcommander
+ 1.78
+
+
+
-
-
-
-
\ No newline at end of file
diff --git a/techniques/BRTracer/.classpath b/techniques/BRTracer/.classpath
deleted file mode 100644
index e87665d..0000000
--- a/techniques/BRTracer/.classpath
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/techniques/BRTracer/.project b/techniques/BRTracer/.project
deleted file mode 100644
index dffbc40..0000000
--- a/techniques/BRTracer/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- BRTracer
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/techniques/BRTracer/bin/META-INF/MANIFEST.MF b/techniques/BRTracer/bin/META-INF/MANIFEST.MF
deleted file mode 100644
index 50de719..0000000
--- a/techniques/BRTracer/bin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: org.eclipse.core.runtime_3.4.0.v20080512.jar org.eclipse.c
- ore.resources_3.4.2.R34x_v20090126.jar args4j-2.0.6.jar org.eclipse.o
- sgi_3.4.2.R34x_v20080826-1230.jar org.eclipse.core.jobs_3.4.1.R34x_v2
- 0081128.jar contenttype-3.2.0-v20060603.jar org.eclipse.equinox.commo
- n_3.4.0.v20080421-2006.jar preferences-3.2.100-v20070522.jar dom4j-1.
- 6.1.jar wvtool.jar org.eclipse.text_3.4.0.v20080605-1800.jar org.ecli
- pse.jdt.core_3.4.4.v_894_R34x.jar org.eclipse.jface_3.4.1.M20080827-2
- 000.jar mysql-connector-java-5.1.13-bin.jar lucene-core-2.9.4.jar
-Main-Class: BRTracer
-
diff --git a/techniques/BRTracer/bin/japa/parser/ASTHelper.class b/techniques/BRTracer/bin/japa/parser/ASTHelper.class
deleted file mode 100644
index 11abb80..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTHelper.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParser$GTToken.class b/techniques/BRTracer/bin/japa/parser/ASTParser$GTToken.class
deleted file mode 100644
index 83ec881..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParser$GTToken.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParser$JJCalls.class b/techniques/BRTracer/bin/japa/parser/ASTParser$JJCalls.class
deleted file mode 100644
index a03ad01..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParser$JJCalls.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParser$LookaheadSuccess.class b/techniques/BRTracer/bin/japa/parser/ASTParser$LookaheadSuccess.class
deleted file mode 100644
index f91c946..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParser$LookaheadSuccess.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParser$Modifier.class b/techniques/BRTracer/bin/japa/parser/ASTParser$Modifier.class
deleted file mode 100644
index ee7ac7e..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParser$Modifier.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParser.class b/techniques/BRTracer/bin/japa/parser/ASTParser.class
deleted file mode 100644
index ce15fc7..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParser.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParserConstants.class b/techniques/BRTracer/bin/japa/parser/ASTParserConstants.class
deleted file mode 100644
index 74ec9cc..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParserConstants.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ASTParserTokenManager.class b/techniques/BRTracer/bin/japa/parser/ASTParserTokenManager.class
deleted file mode 100644
index 53fe76a..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ASTParserTokenManager.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/JavaCharStream.class b/techniques/BRTracer/bin/japa/parser/JavaCharStream.class
deleted file mode 100644
index ab4df72..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/JavaCharStream.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/JavaParser.class b/techniques/BRTracer/bin/japa/parser/JavaParser.class
deleted file mode 100644
index 0790527..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/JavaParser.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ParseException.class b/techniques/BRTracer/bin/japa/parser/ParseException.class
deleted file mode 100644
index b86f3f8..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ParseException.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/Token.class b/techniques/BRTracer/bin/japa/parser/Token.class
deleted file mode 100644
index a742941..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/Token.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/TokenMgrError.class b/techniques/BRTracer/bin/japa/parser/TokenMgrError.class
deleted file mode 100644
index b9c9259..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/TokenMgrError.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/BlockComment.class b/techniques/BRTracer/bin/japa/parser/ast/BlockComment.class
deleted file mode 100644
index b2ec794..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/BlockComment.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/Comment.class b/techniques/BRTracer/bin/japa/parser/ast/Comment.class
deleted file mode 100644
index 45e7d54..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/Comment.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/CompilationUnit.class b/techniques/BRTracer/bin/japa/parser/ast/CompilationUnit.class
deleted file mode 100644
index aca0deb..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/CompilationUnit.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/ImportDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/ImportDeclaration.class
deleted file mode 100644
index ef9816e..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/ImportDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/LineComment.class b/techniques/BRTracer/bin/japa/parser/ast/LineComment.class
deleted file mode 100644
index 87b6c30..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/LineComment.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/Node.class b/techniques/BRTracer/bin/japa/parser/ast/Node.class
deleted file mode 100644
index b2b4fe1..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/Node.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/PackageDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/PackageDeclaration.class
deleted file mode 100644
index 077157e..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/PackageDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/TypeParameter.class b/techniques/BRTracer/bin/japa/parser/ast/TypeParameter.class
deleted file mode 100644
index 8b387db..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/TypeParameter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationDeclaration.class
deleted file mode 100644
index 2663d5f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationMemberDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationMemberDeclaration.class
deleted file mode 100644
index 8061843..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/AnnotationMemberDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/BodyDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/BodyDeclaration.class
deleted file mode 100644
index 9d11ae2..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/BodyDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/ClassOrInterfaceDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/ClassOrInterfaceDeclaration.class
deleted file mode 100644
index 24ac0b6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/ClassOrInterfaceDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/ConstructorDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/ConstructorDeclaration.class
deleted file mode 100644
index 7427e82..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/ConstructorDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/EmptyMemberDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/EmptyMemberDeclaration.class
deleted file mode 100644
index 7359cec..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/EmptyMemberDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/EmptyTypeDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/EmptyTypeDeclaration.class
deleted file mode 100644
index b860e57..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/EmptyTypeDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/EnumConstantDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/EnumConstantDeclaration.class
deleted file mode 100644
index abed269..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/EnumConstantDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/EnumDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/EnumDeclaration.class
deleted file mode 100644
index e09b47f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/EnumDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/FieldDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/FieldDeclaration.class
deleted file mode 100644
index 8f36b4d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/FieldDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/InitializerDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/InitializerDeclaration.class
deleted file mode 100644
index 67aa406..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/InitializerDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/JavadocComment.class b/techniques/BRTracer/bin/japa/parser/ast/body/JavadocComment.class
deleted file mode 100644
index 78402e5..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/JavadocComment.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/MethodDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/MethodDeclaration.class
deleted file mode 100644
index 72a2e82..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/MethodDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/ModifierSet.class b/techniques/BRTracer/bin/japa/parser/ast/body/ModifierSet.class
deleted file mode 100644
index 8f4046d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/ModifierSet.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/Parameter.class b/techniques/BRTracer/bin/japa/parser/ast/body/Parameter.class
deleted file mode 100644
index 4d740f5..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/Parameter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/TypeDeclaration.class b/techniques/BRTracer/bin/japa/parser/ast/body/TypeDeclaration.class
deleted file mode 100644
index f8c4809..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/TypeDeclaration.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclarator.class b/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclarator.class
deleted file mode 100644
index 662e7b6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclarator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclaratorId.class b/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclaratorId.class
deleted file mode 100644
index cda397f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/body/VariableDeclaratorId.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/AnnotationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/AnnotationExpr.class
deleted file mode 100644
index a86f309..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/AnnotationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayAccessExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayAccessExpr.class
deleted file mode 100644
index 75f2327..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayAccessExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayCreationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayCreationExpr.class
deleted file mode 100644
index a85c6ca..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayCreationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayInitializerExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayInitializerExpr.class
deleted file mode 100644
index 718368b..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ArrayInitializerExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr$Operator.class b/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr$Operator.class
deleted file mode 100644
index e673721..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr$Operator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr.class
deleted file mode 100644
index 4ad690d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/AssignExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr$Operator.class b/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr$Operator.class
deleted file mode 100644
index 257ae4d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr$Operator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr.class
deleted file mode 100644
index 885528f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/BinaryExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/BooleanLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/BooleanLiteralExpr.class
deleted file mode 100644
index 10010f6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/BooleanLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/CastExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/CastExpr.class
deleted file mode 100644
index 1db565f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/CastExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/CharLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/CharLiteralExpr.class
deleted file mode 100644
index 9ed8ebb..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/CharLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ClassExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ClassExpr.class
deleted file mode 100644
index 8db33df..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ClassExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ConditionalExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ConditionalExpr.class
deleted file mode 100644
index 6da99fa..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ConditionalExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/DoubleLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/DoubleLiteralExpr.class
deleted file mode 100644
index b24ba52..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/DoubleLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/EnclosedExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/EnclosedExpr.class
deleted file mode 100644
index 8bc2712..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/EnclosedExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/Expression.class b/techniques/BRTracer/bin/japa/parser/ast/expr/Expression.class
deleted file mode 100644
index e7a7b4f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/Expression.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/FieldAccessExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/FieldAccessExpr.class
deleted file mode 100644
index f1bc39b..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/FieldAccessExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/InstanceOfExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/InstanceOfExpr.class
deleted file mode 100644
index 2ce4e44..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/InstanceOfExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralExpr.class
deleted file mode 100644
index 9fac128..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralMinValueExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralMinValueExpr.class
deleted file mode 100644
index 223a617..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/IntegerLiteralMinValueExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/LiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/LiteralExpr.class
deleted file mode 100644
index 0fe7c36..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/LiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralExpr.class
deleted file mode 100644
index 45b1e5e..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralMinValueExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralMinValueExpr.class
deleted file mode 100644
index c6c7956..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/LongLiteralMinValueExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/MarkerAnnotationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/MarkerAnnotationExpr.class
deleted file mode 100644
index 4317870..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/MarkerAnnotationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/MemberValuePair.class b/techniques/BRTracer/bin/japa/parser/ast/expr/MemberValuePair.class
deleted file mode 100644
index 13d8650..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/MemberValuePair.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/MethodCallExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/MethodCallExpr.class
deleted file mode 100644
index f3f9410..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/MethodCallExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/NameExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/NameExpr.class
deleted file mode 100644
index d042460..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/NameExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/NormalAnnotationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/NormalAnnotationExpr.class
deleted file mode 100644
index b4c8470..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/NormalAnnotationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/NullLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/NullLiteralExpr.class
deleted file mode 100644
index 12c9a75..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/NullLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ObjectCreationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ObjectCreationExpr.class
deleted file mode 100644
index e592bd6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ObjectCreationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/QualifiedNameExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/QualifiedNameExpr.class
deleted file mode 100644
index c120b66..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/QualifiedNameExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/SingleMemberAnnotationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/SingleMemberAnnotationExpr.class
deleted file mode 100644
index b51aa90..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/SingleMemberAnnotationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/StringLiteralExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/StringLiteralExpr.class
deleted file mode 100644
index 59ce62d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/StringLiteralExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/SuperExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/SuperExpr.class
deleted file mode 100644
index 48ebaa9..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/SuperExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/ThisExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/ThisExpr.class
deleted file mode 100644
index 2aac7ca..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/ThisExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr$Operator.class b/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr$Operator.class
deleted file mode 100644
index cce8246..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr$Operator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr.class
deleted file mode 100644
index fa5ed6c..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/UnaryExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/expr/VariableDeclarationExpr.class b/techniques/BRTracer/bin/japa/parser/ast/expr/VariableDeclarationExpr.class
deleted file mode 100644
index 55cb400..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/expr/VariableDeclarationExpr.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/AssertStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/AssertStmt.class
deleted file mode 100644
index ec9ea13..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/AssertStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/BlockStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/BlockStmt.class
deleted file mode 100644
index 36d4868..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/BlockStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/BreakStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/BreakStmt.class
deleted file mode 100644
index 280c7a9..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/BreakStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/CatchClause.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/CatchClause.class
deleted file mode 100644
index 2141cda..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/CatchClause.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ContinueStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ContinueStmt.class
deleted file mode 100644
index 8dc8ed6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ContinueStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/DoStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/DoStmt.class
deleted file mode 100644
index 120f598..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/DoStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/EmptyStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/EmptyStmt.class
deleted file mode 100644
index 0f47997..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/EmptyStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.class
deleted file mode 100644
index ec09455..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ExpressionStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ExpressionStmt.class
deleted file mode 100644
index f834d91..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ExpressionStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ForStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ForStmt.class
deleted file mode 100644
index 6e84fb1..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ForStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ForeachStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ForeachStmt.class
deleted file mode 100644
index 083bb86..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ForeachStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/IfStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/IfStmt.class
deleted file mode 100644
index a00fe52..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/IfStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/LabeledStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/LabeledStmt.class
deleted file mode 100644
index 43ef944..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/LabeledStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ReturnStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ReturnStmt.class
deleted file mode 100644
index 58b4242..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ReturnStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/Statement.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/Statement.class
deleted file mode 100644
index 64525de..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/Statement.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchEntryStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchEntryStmt.class
deleted file mode 100644
index ba24ae6..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchEntryStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchStmt.class
deleted file mode 100644
index dddf0fc..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/SwitchStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/SynchronizedStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/SynchronizedStmt.class
deleted file mode 100644
index 9aa78a3..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/SynchronizedStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/ThrowStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/ThrowStmt.class
deleted file mode 100644
index 3636c00..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/ThrowStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/TryStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/TryStmt.class
deleted file mode 100644
index 2b8636b..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/TryStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/TypeDeclarationStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/TypeDeclarationStmt.class
deleted file mode 100644
index 219f9d1..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/TypeDeclarationStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/stmt/WhileStmt.class b/techniques/BRTracer/bin/japa/parser/ast/stmt/WhileStmt.class
deleted file mode 100644
index 740c3a5..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/stmt/WhileStmt.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/ClassOrInterfaceType.class b/techniques/BRTracer/bin/japa/parser/ast/type/ClassOrInterfaceType.class
deleted file mode 100644
index c320bb8..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/ClassOrInterfaceType.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType$Primitive.class b/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType$Primitive.class
deleted file mode 100644
index f6a9858..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType$Primitive.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType.class b/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType.class
deleted file mode 100644
index c9fb312..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/PrimitiveType.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/ReferenceType.class b/techniques/BRTracer/bin/japa/parser/ast/type/ReferenceType.class
deleted file mode 100644
index 1535408..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/ReferenceType.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/Type.class b/techniques/BRTracer/bin/japa/parser/ast/type/Type.class
deleted file mode 100644
index f7845a7..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/Type.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/VoidType.class b/techniques/BRTracer/bin/japa/parser/ast/type/VoidType.class
deleted file mode 100644
index 997ed5f..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/VoidType.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/type/WildcardType.class b/techniques/BRTracer/bin/japa/parser/ast/type/WildcardType.class
deleted file mode 100644
index 96f8139..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/type/WildcardType.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor$SourcePrinter.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor$SourcePrinter.class
deleted file mode 100644
index 8712615..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor$SourcePrinter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor.class
deleted file mode 100644
index 58f70a2..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/DumpVisitor.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/EqualsVisitor.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/EqualsVisitor.class
deleted file mode 100644
index dba22a7..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/EqualsVisitor.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitor.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitor.class
deleted file mode 100644
index 69bc68c..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitor.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitorAdapter.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitorAdapter.class
deleted file mode 100644
index 4bfcf27..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/GenericVisitorAdapter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/ModifierVisitorAdapter.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/ModifierVisitorAdapter.class
deleted file mode 100644
index 0e8e529..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/ModifierVisitorAdapter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitor.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitor.class
deleted file mode 100644
index 1fd7a3d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitor.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitorAdapter.class b/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitorAdapter.class
deleted file mode 100644
index 348ca8d..0000000
Binary files a/techniques/BRTracer/bin/japa/parser/ast/visitor/VoidVisitorAdapter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/japa/parser/java_1_5.jj b/techniques/BRTracer/bin/japa/parser/java_1_5.jj
deleted file mode 100644
index cb3ee81..0000000
--- a/techniques/BRTracer/bin/japa/parser/java_1_5.jj
+++ /dev/null
@@ -1,3000 +0,0 @@
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Java 1.5 parser and Abstract Syntax Tree is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-
-options {
- LOOKAHEAD=1;
- STATIC=false;
- JAVA_UNICODE_ESCAPE=true;
- COMMON_TOKEN_ACTION=true;
- //SUPPORT_CLASS_VISIBILITY_PUBLIC=false;
- JDK_VERSION = "1.5";
- TOKEN_FACTORY = "ASTParser.GTToken";
-}
-
-PARSER_BEGIN(ASTParser)
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Java 1.5 parser and Abstract Syntax Tree is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package japa.parser;
-
-import java.io.*;
-import java.util.*;
-import japa.parser.ast.*;
-import japa.parser.ast.body.*;
-import japa.parser.ast.expr.*;
-import japa.parser.ast.stmt.*;
-import japa.parser.ast.type.*;
-
-/**
- * This class was generated automatically by javacc, do not edit.
- * @author Júlio Vilmar Gesser
- */
-final class ASTParser {
-
- void reset(InputStream in, String encoding) {
- ReInit(in, encoding);
- token_source.clearComments();
- }
-
- private List add(List list, Object obj) {
- if (list == null) {
- list = new LinkedList();
- }
- list.add(obj);
- return list;
- }
-
- private List add(int pos, List list, Object obj) {
- if (list == null) {
- list = new LinkedList();
- }
- list.add(pos, obj);
- return list;
- }
-
- private class Modifier {
-
- final int modifiers;
- final List annotations;
- final int beginLine;
- final int beginColumn;
-
- public Modifier(int beginLine, int beginColumn, int modifiers, List annotations) {
- this.beginLine = beginLine;
- this.beginColumn = beginColumn;
- this.modifiers = modifiers;
- this.annotations = annotations;
- }
- }
-
- public int addModifier(int modifiers, int mod, Token token) throws ParseException {
- if ((ModifierSet.hasModifier(modifiers, mod))) {
- throwParseException(token, "Duplicated modifier");
- }
- return ModifierSet.addModifier(modifiers, mod);
- }
-
- private void pushJavadoc() {
- token_source.pushJavadoc();
- }
-
- private JavadocComment popJavadoc() {
- return token_source.popJavadoc();
- }
-
- private List getComments() {
- return token_source.getComments();
- }
-
- private void throwParseException(Token token, String message) throws ParseException {
- StringBuilder buf = new StringBuilder();
- buf.append(message);
- buf.append(": \"");
- buf.append(token.image);
- buf.append("\" at line ");
- buf.append(token.beginLine);
- buf.append(", column ");
- buf.append(token.beginColumn);
- ParseException e = new ParseException(buf.toString());
- e.currentToken = token;
- throw e;
- }
-
- static final class GTToken extends Token {
-
- int realKind = ASTParserConstants.GT;
-
- GTToken(int kind, String image) {
- this.kind = kind;
- this.image = image;
- }
-
- public static Token newToken(int kind, String image) {
- return new GTToken(kind, image);
- }
- }
-}
-
-PARSER_END(ASTParser)
-
-/* WHITE SPACE */
-
-SKIP :
-{
- " "
-| "\t"
-| "\n"
-| "\r"
-| "\f"
-}
-
-/* COMMENTS */
-
-TOKEN_MGR_DECLS :
-{
- private List comments;
- private final Stack javadocStack = new Stack();
- private JavadocComment lastJavadoc;
-
- void pushJavadoc() {
- javadocStack.push(lastJavadoc);
- }
-
- JavadocComment popJavadoc() {
- return javadocStack.pop();
- }
-
- List getComments() {
- return comments;
- }
-
- void clearComments() {
- comments = null;
- javadocStack.clear();
- lastJavadoc = null;
- }
-
- private void CommonTokenAction(Token token) {
- lastJavadoc = null;
- if (token.specialToken != null) {
- if(comments == null) {
- comments = new LinkedList();
- }
- Token special = token.specialToken;
- if(special.kind == JAVA_DOC_COMMENT) {
- lastJavadoc = new JavadocComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(3, special.image.length()-2));
- comments.add(lastJavadoc);
- } else if(special.kind == SINGLE_LINE_COMMENT) {
- LineComment comment = new LineComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2));
- comments.add(comment);
- } else if(special.kind == MULTI_LINE_COMMENT) {
- BlockComment comment = new BlockComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2, special.image.length()-2));
- comments.add(comment);
- }
- }
- }
-}
-
-SPECIAL_TOKEN :
-{
-
-}
-
-MORE :
-{
- <"/**" ~["/"]> { input_stream.backup(1); } : IN_JAVA_DOC_COMMENT
-|
- <"/*"> : IN_MULTI_LINE_COMMENT
-}
-
-
-SPECIAL_TOKEN :
-{
- : DEFAULT
-}
-
-
-SPECIAL_TOKEN :
-{
- : DEFAULT
-}
-
-
-MORE :
-{
- < ~[] >
-}
-
-/* RESERVED WORDS AND LITERALS */
-
-TOKEN :
-{
- < ABSTRACT: "abstract" >
-| < ASSERT: "assert" >
-| < BOOLEAN: "boolean" >
-| < BREAK: "break" >
-| < BYTE: "byte" >
-| < CASE: "case" >
-| < CATCH: "catch" >
-| < CHAR: "char" >
-| < CLASS: "class" >
-| < CONST: "const" >
-| < CONTINUE: "continue" >
-| < _DEFAULT: "default" >
-| < DO: "do" >
-| < DOUBLE: "double" >
-| < ELSE: "else" >
-| < ENUM: "enum" >
-| < EXTENDS: "extends" >
-| < FALSE: "false" >
-| < FINAL: "final" >
-| < FINALLY: "finally" >
-| < FLOAT: "float" >
-| < FOR: "for" >
-| < GOTO: "goto" >
-| < IF: "if" >
-| < IMPLEMENTS: "implements" >
-| < IMPORT: "import" >
-| < INSTANCEOF: "instanceof" >
-| < INT: "int" >
-| < INTERFACE: "interface" >
-| < LONG: "long" >
-| < NATIVE: "native" >
-| < NEW: "new" >
-| < NULL: "null" >
-| < PACKAGE: "package">
-| < PRIVATE: "private" >
-| < PROTECTED: "protected" >
-| < PUBLIC: "public" >
-| < RETURN: "return" >
-| < SHORT: "short" >
-| < STATIC: "static" >
-| < STRICTFP: "strictfp" >
-| < SUPER: "super" >
-| < SWITCH: "switch" >
-| < SYNCHRONIZED: "synchronized" >
-| < THIS: "this" >
-| < THROW: "throw" >
-| < THROWS: "throws" >
-| < TRANSIENT: "transient" >
-| < TRUE: "true" >
-| < TRY: "try" >
-| < VOID: "void" >
-| < VOLATILE: "volatile" >
-| < WHILE: "while" >
-}
-
-/* LITERALS */
-
-TOKEN :
-{
- < LONG_LITERAL:
- (["l","L"])
- | (["l","L"])
- | (["l","L"])
- >
-|
- < INTEGER_LITERAL:
-
- |
- |
- >
-|
- < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* >
-|
- < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ >
-|
- < #OCTAL_LITERAL: "0" (["0"-"7"])* >
-|
- < FLOATING_POINT_LITERAL:
-
- |
- >
-|
- < #DECIMAL_FLOATING_POINT_LITERAL:
- (["0"-"9"])+ "." (["0"-"9"])* ()? (["f","F","d","D"])?
- | "." (["0"-"9"])+ ()? (["f","F","d","D"])?
- | (["0"-"9"])+ (["f","F","d","D"])?
- | (["0"-"9"])+ ()? ["f","F","d","D"]
- >
-|
- < #DECIMAL_EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
-|
- < #HEXADECIMAL_FLOATING_POINT_LITERAL:
- "0" ["x", "X"] (["0"-"9","a"-"f","A"-"F"])+ (".")? (["f","F","d","D"])?
- | "0" ["x", "X"] (["0"-"9","a"-"f","A"-"F"])* "." (["0"-"9","a"-"f","A"-"F"])+ (["f","F","d","D"])?
- >
-|
- < #HEXADECIMAL_EXPONENT: ["p","P"] (["+","-"])? (["0"-"9"])+ >
-|
- < CHARACTER_LITERAL:
- "'"
- ( (~["'","\\","\n","\r"])
- | ("\\"
- ( ["n","t","b","r","f","\\","'","\""]
- | ["0"-"7"] ( ["0"-"7"] )?
- | ["0"-"3"] ["0"-"7"] ["0"-"7"]
- )
- )
- | ("\\u"
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- )
- )
- "'"
- >
-|
- < STRING_LITERAL:
- "\""
- ( (~["\"","\\","\n","\r"])
- | ("\\"
- ( ["n","t","b","r","f","\\","'","\""]
- | ["0"-"7"] ( ["0"-"7"] )?
- | ["0"-"3"] ["0"-"7"] ["0"-"7"]
- )
- )
- | ("\\u"
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- ["0"-"9","A"-"F","a"-"f"]
- )
- )*
- "\""
- >
-}
-
-/* IDENTIFIERS */
-
-TOKEN :
-{
- < IDENTIFIER: ()* >
-|
- < #LETTER:
- [ // all chars for which Character.isIdentifierStart is true
- "\u0024", // "$"
- "\u0041"-"\u005a", // "A"-"Z"
- "\u005f", // "_"
- "\u0061"-"\u007a", // "a"-"z"
- "\u00a2"-"\u00a5",
- "\u00aa",
- "\u00b5",
- "\u00ba",
- "\u00c0"-"\u00d6",
- "\u00d8"-"\u00f6",
- "\u00f8"-"\u0236",
- "\u0250"-"\u02c1",
- "\u02c6"-"\u02d1",
- "\u02e0"-"\u02e4",
- "\u02ee",
- "\u037a",
- "\u0386",
- "\u0388"-"\u038a",
- "\u038c",
- "\u038e"-"\u03a1",
- "\u03a3"-"\u03ce",
- "\u03d0"-"\u03f5",
- "\u03f7"-"\u03fb",
- "\u0400"-"\u0481",
- "\u048a"-"\u04ce",
- "\u04d0"-"\u04f5",
- "\u04f8"-"\u04f9",
- "\u0500"-"\u050f",
- "\u0531"-"\u0556",
- "\u0559",
- "\u0561"-"\u0587",
- "\u05d0"-"\u05ea",
- "\u05f0"-"\u05f2",
- "\u0621"-"\u063a",
- "\u0640"-"\u064a",
- "\u066e"-"\u066f",
- "\u0671"-"\u06d3",
- "\u06d5",
- "\u06e5"-"\u06e6",
- "\u06ee"-"\u06ef",
- "\u06fa"-"\u06fc",
- "\u06ff",
- "\u0710",
- "\u0712"-"\u072f",
- "\u074d"-"\u074f",
- "\u0780"-"\u07a5",
- "\u07b1",
- "\u0904"-"\u0939",
- "\u093d",
- "\u0950",
- "\u0958"-"\u0961",
- "\u0985"-"\u098c",
- "\u098f"-"\u0990",
- "\u0993"-"\u09a8",
- "\u09aa"-"\u09b0",
- "\u09b2",
- "\u09b6"-"\u09b9",
- "\u09bd",
- "\u09dc"-"\u09dd",
- "\u09df"-"\u09e1",
- "\u09f0"-"\u09f3",
- "\u0a05"-"\u0a0a",
- "\u0a0f"-"\u0a10",
- "\u0a13"-"\u0a28",
- "\u0a2a"-"\u0a30",
- "\u0a32"-"\u0a33",
- "\u0a35"-"\u0a36",
- "\u0a38"-"\u0a39",
- "\u0a59"-"\u0a5c",
- "\u0a5e",
- "\u0a72"-"\u0a74",
- "\u0a85"-"\u0a8d",
- "\u0a8f"-"\u0a91",
- "\u0a93"-"\u0aa8",
- "\u0aaa"-"\u0ab0",
- "\u0ab2"-"\u0ab3",
- "\u0ab5"-"\u0ab9",
- "\u0abd",
- "\u0ad0",
- "\u0ae0"-"\u0ae1",
- "\u0af1",
- "\u0b05"-"\u0b0c",
- "\u0b0f"-"\u0b10",
- "\u0b13"-"\u0b28",
- "\u0b2a"-"\u0b30",
- "\u0b32"-"\u0b33",
- "\u0b35"-"\u0b39",
- "\u0b3d",
- "\u0b5c"-"\u0b5d",
- "\u0b5f"-"\u0b61",
- "\u0b71",
- "\u0b83",
- "\u0b85"-"\u0b8a",
- "\u0b8e"-"\u0b90",
- "\u0b92"-"\u0b95",
- "\u0b99"-"\u0b9a",
- "\u0b9c",
- "\u0b9e"-"\u0b9f",
- "\u0ba3"-"\u0ba4",
- "\u0ba8"-"\u0baa",
- "\u0bae"-"\u0bb5",
- "\u0bb7"-"\u0bb9",
- "\u0bf9",
- "\u0c05"-"\u0c0c",
- "\u0c0e"-"\u0c10",
- "\u0c12"-"\u0c28",
- "\u0c2a"-"\u0c33",
- "\u0c35"-"\u0c39",
- "\u0c60"-"\u0c61",
- "\u0c85"-"\u0c8c",
- "\u0c8e"-"\u0c90",
- "\u0c92"-"\u0ca8",
- "\u0caa"-"\u0cb3",
- "\u0cb5"-"\u0cb9",
- "\u0cbd",
- "\u0cde",
- "\u0ce0"-"\u0ce1",
- "\u0d05"-"\u0d0c",
- "\u0d0e"-"\u0d10",
- "\u0d12"-"\u0d28",
- "\u0d2a"-"\u0d39",
- "\u0d60"-"\u0d61",
- "\u0d85"-"\u0d96",
- "\u0d9a"-"\u0db1",
- "\u0db3"-"\u0dbb",
- "\u0dbd",
- "\u0dc0"-"\u0dc6",
- "\u0e01"-"\u0e30",
- "\u0e32"-"\u0e33",
- "\u0e3f"-"\u0e46",
- "\u0e81"-"\u0e82",
- "\u0e84",
- "\u0e87"-"\u0e88",
- "\u0e8a",
- "\u0e8d",
- "\u0e94"-"\u0e97",
- "\u0e99"-"\u0e9f",
- "\u0ea1"-"\u0ea3",
- "\u0ea5",
- "\u0ea7",
- "\u0eaa"-"\u0eab",
- "\u0ead"-"\u0eb0",
- "\u0eb2"-"\u0eb3",
- "\u0ebd",
- "\u0ec0"-"\u0ec4",
- "\u0ec6",
- "\u0edc"-"\u0edd",
- "\u0f00",
- "\u0f40"-"\u0f47",
- "\u0f49"-"\u0f6a",
- "\u0f88"-"\u0f8b",
- "\u1000"-"\u1021",
- "\u1023"-"\u1027",
- "\u1029"-"\u102a",
- "\u1050"-"\u1055",
- "\u10a0"-"\u10c5",
- "\u10d0"-"\u10f8",
- "\u1100"-"\u1159",
- "\u115f"-"\u11a2",
- "\u11a8"-"\u11f9",
- "\u1200"-"\u1206",
- "\u1208"-"\u1246",
- "\u1248",
- "\u124a"-"\u124d",
- "\u1250"-"\u1256",
- "\u1258",
- "\u125a"-"\u125d",
- "\u1260"-"\u1286",
- "\u1288",
- "\u128a"-"\u128d",
- "\u1290"-"\u12ae",
- "\u12b0",
- "\u12b2"-"\u12b5",
- "\u12b8"-"\u12be",
- "\u12c0",
- "\u12c2"-"\u12c5",
- "\u12c8"-"\u12ce",
- "\u12d0"-"\u12d6",
- "\u12d8"-"\u12ee",
- "\u12f0"-"\u130e",
- "\u1310",
- "\u1312"-"\u1315",
- "\u1318"-"\u131e",
- "\u1320"-"\u1346",
- "\u1348"-"\u135a",
- "\u13a0"-"\u13f4",
- "\u1401"-"\u166c",
- "\u166f"-"\u1676",
- "\u1681"-"\u169a",
- "\u16a0"-"\u16ea",
- "\u16ee"-"\u16f0",
- "\u1700"-"\u170c",
- "\u170e"-"\u1711",
- "\u1720"-"\u1731",
- "\u1740"-"\u1751",
- "\u1760"-"\u176c",
- "\u176e"-"\u1770",
- "\u1780"-"\u17b3",
- "\u17d7",
- "\u17db"-"\u17dc",
- "\u1820"-"\u1877",
- "\u1880"-"\u18a8",
- "\u1900"-"\u191c",
- "\u1950"-"\u196d",
- "\u1970"-"\u1974",
- "\u1d00"-"\u1d6b",
- "\u1e00"-"\u1e9b",
- "\u1ea0"-"\u1ef9",
- "\u1f00"-"\u1f15",
- "\u1f18"-"\u1f1d",
- "\u1f20"-"\u1f45",
- "\u1f48"-"\u1f4d",
- "\u1f50"-"\u1f57",
- "\u1f59",
- "\u1f5b",
- "\u1f5d",
- "\u1f5f"-"\u1f7d",
- "\u1f80"-"\u1fb4",
- "\u1fb6"-"\u1fbc",
- "\u1fbe",
- "\u1fc2"-"\u1fc4",
- "\u1fc6"-"\u1fcc",
- "\u1fd0"-"\u1fd3",
- "\u1fd6"-"\u1fdb",
- "\u1fe0"-"\u1fec",
- "\u1ff2"-"\u1ff4",
- "\u1ff6"-"\u1ffc",
- "\u203f"-"\u2040",
- "\u2054",
- "\u2071",
- "\u207f",
- "\u20a0"-"\u20b1",
- "\u2102",
- "\u2107",
- "\u210a"-"\u2113",
- "\u2115",
- "\u2119"-"\u211d",
- "\u2124",
- "\u2126",
- "\u2128",
- "\u212a"-"\u212d",
- "\u212f"-"\u2131",
- "\u2133"-"\u2139",
- "\u213d"-"\u213f",
- "\u2145"-"\u2149",
- "\u2160"-"\u2183",
- "\u3005"-"\u3007",
- "\u3021"-"\u3029",
- "\u3031"-"\u3035",
- "\u3038"-"\u303c",
- "\u3041"-"\u3096",
- "\u309d"-"\u309f",
- "\u30a1"-"\u30ff",
- "\u3105"-"\u312c",
- "\u3131"-"\u318e",
- "\u31a0"-"\u31b7",
- "\u31f0"-"\u31ff",
- "\u3400"-"\u4db5",
- "\u4e00"-"\u9fa5",
- "\ua000"-"\ua48c",
- "\uac00"-"\ud7a3",
- "\ud801", //for supplementary characters suport
- "\ud802", //for supplementary characters suport
- "\uf900"-"\ufa2d",
- "\ufa30"-"\ufa6a",
- "\ufb00"-"\ufb06",
- "\ufb13"-"\ufb17",
- "\ufb1d",
- "\ufb1f"-"\ufb28",
- "\ufb2a"-"\ufb36",
- "\ufb38"-"\ufb3c",
- "\ufb3e",
- "\ufb40"-"\ufb41",
- "\ufb43"-"\ufb44",
- "\ufb46"-"\ufbb1",
- "\ufbd3"-"\ufd3d",
- "\ufd50"-"\ufd8f",
- "\ufd92"-"\ufdc7",
- "\ufdf0"-"\ufdfc",
- "\ufe33"-"\ufe34",
- "\ufe4d"-"\ufe4f",
- "\ufe69",
- "\ufe70"-"\ufe74",
- "\ufe76"-"\ufefc",
- "\uff04",
- "\uff21"-"\uff3a",
- "\uff3f",
- "\uff41"-"\uff5a",
- "\uff65"-"\uffbe",
- "\uffc2"-"\uffc7",
- "\uffca"-"\uffcf",
- "\uffd2"-"\uffd7",
- "\uffda"-"\uffdc",
- "\uffe0"-"\uffe1",
- "\uffe5"-"\uffe6"
- ]
- >
-|
- < #PART_LETTER:
- [ // all chars for which Character.isIdentifierPart is true
- "\u0000"-"\u0008",
- "\u000e"-"\u001b",
- "\u0024", // "$"
- "\u0030"-"\u0039", // "0"-"9"
- "\u0041"-"\u005a", // "A"-"Z"
- "\u005f", // "_"
- "\u0061"-"\u007a", // "a"-"z"
- "\u007f"-"\u009f",
- "\u00a2"-"\u00a5",
- "\u00aa",
- "\u00ad",
- "\u00b5",
- "\u00ba",
- "\u00c0"-"\u00d6",
- "\u00d8"-"\u00f6",
- "\u00f8"-"\u0236",
- "\u0250"-"\u02c1",
- "\u02c6"-"\u02d1",
- "\u02e0"-"\u02e4",
- "\u02ee",
- "\u0300"-"\u0357",
- "\u035d"-"\u036f",
- "\u037a",
- "\u0386",
- "\u0388"-"\u038a",
- "\u038c",
- "\u038e"-"\u03a1",
- "\u03a3"-"\u03ce",
- "\u03d0"-"\u03f5",
- "\u03f7"-"\u03fb",
- "\u0400"-"\u0481",
- "\u0483"-"\u0486",
- "\u048a"-"\u04ce",
- "\u04d0"-"\u04f5",
- "\u04f8"-"\u04f9",
- "\u0500"-"\u050f",
- "\u0531"-"\u0556",
- "\u0559",
- "\u0561"-"\u0587",
- "\u0591"-"\u05a1",
- "\u05a3"-"\u05b9",
- "\u05bb"-"\u05bd",
- "\u05bf",
- "\u05c1"-"\u05c2",
- "\u05c4",
- "\u05d0"-"\u05ea",
- "\u05f0"-"\u05f2",
- "\u0600"-"\u0603",
- "\u0610"-"\u0615",
- "\u0621"-"\u063a",
- "\u0640"-"\u0658",
- "\u0660"-"\u0669",
- "\u066e"-"\u06d3",
- "\u06d5"-"\u06dd",
- "\u06df"-"\u06e8",
- "\u06ea"-"\u06fc",
- "\u06ff",
- "\u070f"-"\u074a",
- "\u074d"-"\u074f",
- "\u0780"-"\u07b1",
- "\u0901"-"\u0939",
- "\u093c"-"\u094d",
- "\u0950"-"\u0954",
- "\u0958"-"\u0963",
- "\u0966"-"\u096f",
- "\u0981"-"\u0983",
- "\u0985"-"\u098c",
- "\u098f"-"\u0990",
- "\u0993"-"\u09a8",
- "\u09aa"-"\u09b0",
- "\u09b2",
- "\u09b6"-"\u09b9",
- "\u09bc"-"\u09c4",
- "\u09c7"-"\u09c8",
- "\u09cb"-"\u09cd",
- "\u09d7",
- "\u09dc"-"\u09dd",
- "\u09df"-"\u09e3",
- "\u09e6"-"\u09f3",
- "\u0a01"-"\u0a03",
- "\u0a05"-"\u0a0a",
- "\u0a0f"-"\u0a10",
- "\u0a13"-"\u0a28",
- "\u0a2a"-"\u0a30",
- "\u0a32"-"\u0a33",
- "\u0a35"-"\u0a36",
- "\u0a38"-"\u0a39",
- "\u0a3c",
- "\u0a3e"-"\u0a42",
- "\u0a47"-"\u0a48",
- "\u0a4b"-"\u0a4d",
- "\u0a59"-"\u0a5c",
- "\u0a5e",
- "\u0a66"-"\u0a74",
- "\u0a81"-"\u0a83",
- "\u0a85"-"\u0a8d",
- "\u0a8f"-"\u0a91",
- "\u0a93"-"\u0aa8",
- "\u0aaa"-"\u0ab0",
- "\u0ab2"-"\u0ab3",
- "\u0ab5"-"\u0ab9",
- "\u0abc"-"\u0ac5",
- "\u0ac7"-"\u0ac9",
- "\u0acb"-"\u0acd",
- "\u0ad0",
- "\u0ae0"-"\u0ae3",
- "\u0ae6"-"\u0aef",
- "\u0af1",
- "\u0b01"-"\u0b03",
- "\u0b05"-"\u0b0c",
- "\u0b0f"-"\u0b10",
- "\u0b13"-"\u0b28",
- "\u0b2a"-"\u0b30",
- "\u0b32"-"\u0b33",
- "\u0b35"-"\u0b39",
- "\u0b3c"-"\u0b43",
- "\u0b47"-"\u0b48",
- "\u0b4b"-"\u0b4d",
- "\u0b56"-"\u0b57",
- "\u0b5c"-"\u0b5d",
- "\u0b5f"-"\u0b61",
- "\u0b66"-"\u0b6f",
- "\u0b71",
- "\u0b82"-"\u0b83",
- "\u0b85"-"\u0b8a",
- "\u0b8e"-"\u0b90",
- "\u0b92"-"\u0b95",
- "\u0b99"-"\u0b9a",
- "\u0b9c",
- "\u0b9e"-"\u0b9f",
- "\u0ba3"-"\u0ba4",
- "\u0ba8"-"\u0baa",
- "\u0bae"-"\u0bb5",
- "\u0bb7"-"\u0bb9",
- "\u0bbe"-"\u0bc2",
- "\u0bc6"-"\u0bc8",
- "\u0bca"-"\u0bcd",
- "\u0bd7",
- "\u0be7"-"\u0bef",
- "\u0bf9",
- "\u0c01"-"\u0c03",
- "\u0c05"-"\u0c0c",
- "\u0c0e"-"\u0c10",
- "\u0c12"-"\u0c28",
- "\u0c2a"-"\u0c33",
- "\u0c35"-"\u0c39",
- "\u0c3e"-"\u0c44",
- "\u0c46"-"\u0c48",
- "\u0c4a"-"\u0c4d",
- "\u0c55"-"\u0c56",
- "\u0c60"-"\u0c61",
- "\u0c66"-"\u0c6f",
- "\u0c82"-"\u0c83",
- "\u0c85"-"\u0c8c",
- "\u0c8e"-"\u0c90",
- "\u0c92"-"\u0ca8",
- "\u0caa"-"\u0cb3",
- "\u0cb5"-"\u0cb9",
- "\u0cbc"-"\u0cc4",
- "\u0cc6"-"\u0cc8",
- "\u0cca"-"\u0ccd",
- "\u0cd5"-"\u0cd6",
- "\u0cde",
- "\u0ce0"-"\u0ce1",
- "\u0ce6"-"\u0cef",
- "\u0d02"-"\u0d03",
- "\u0d05"-"\u0d0c",
- "\u0d0e"-"\u0d10",
- "\u0d12"-"\u0d28",
- "\u0d2a"-"\u0d39",
- "\u0d3e"-"\u0d43",
- "\u0d46"-"\u0d48",
- "\u0d4a"-"\u0d4d",
- "\u0d57",
- "\u0d60"-"\u0d61",
- "\u0d66"-"\u0d6f",
- "\u0d82"-"\u0d83",
- "\u0d85"-"\u0d96",
- "\u0d9a"-"\u0db1",
- "\u0db3"-"\u0dbb",
- "\u0dbd",
- "\u0dc0"-"\u0dc6",
- "\u0dca",
- "\u0dcf"-"\u0dd4",
- "\u0dd6",
- "\u0dd8"-"\u0ddf",
- "\u0df2"-"\u0df3",
- "\u0e01"-"\u0e3a",
- "\u0e3f"-"\u0e4e",
- "\u0e50"-"\u0e59",
- "\u0e81"-"\u0e82",
- "\u0e84",
- "\u0e87"-"\u0e88",
- "\u0e8a",
- "\u0e8d",
- "\u0e94"-"\u0e97",
- "\u0e99"-"\u0e9f",
- "\u0ea1"-"\u0ea3",
- "\u0ea5",
- "\u0ea7",
- "\u0eaa"-"\u0eab",
- "\u0ead"-"\u0eb9",
- "\u0ebb"-"\u0ebd",
- "\u0ec0"-"\u0ec4",
- "\u0ec6",
- "\u0ec8"-"\u0ecd",
- "\u0ed0"-"\u0ed9",
- "\u0edc"-"\u0edd",
- "\u0f00",
- "\u0f18"-"\u0f19",
- "\u0f20"-"\u0f29",
- "\u0f35",
- "\u0f37",
- "\u0f39",
- "\u0f3e"-"\u0f47",
- "\u0f49"-"\u0f6a",
- "\u0f71"-"\u0f84",
- "\u0f86"-"\u0f8b",
- "\u0f90"-"\u0f97",
- "\u0f99"-"\u0fbc",
- "\u0fc6",
- "\u1000"-"\u1021",
- "\u1023"-"\u1027",
- "\u1029"-"\u102a",
- "\u102c"-"\u1032",
- "\u1036"-"\u1039",
- "\u1040"-"\u1049",
- "\u1050"-"\u1059",
- "\u10a0"-"\u10c5",
- "\u10d0"-"\u10f8",
- "\u1100"-"\u1159",
- "\u115f"-"\u11a2",
- "\u11a8"-"\u11f9",
- "\u1200"-"\u1206",
- "\u1208"-"\u1246",
- "\u1248",
- "\u124a"-"\u124d",
- "\u1250"-"\u1256",
- "\u1258",
- "\u125a"-"\u125d",
- "\u1260"-"\u1286",
- "\u1288",
- "\u128a"-"\u128d",
- "\u1290"-"\u12ae",
- "\u12b0",
- "\u12b2"-"\u12b5",
- "\u12b8"-"\u12be",
- "\u12c0",
- "\u12c2"-"\u12c5",
- "\u12c8"-"\u12ce",
- "\u12d0"-"\u12d6",
- "\u12d8"-"\u12ee",
- "\u12f0"-"\u130e",
- "\u1310",
- "\u1312"-"\u1315",
- "\u1318"-"\u131e",
- "\u1320"-"\u1346",
- "\u1348"-"\u135a",
- "\u1369"-"\u1371",
- "\u13a0"-"\u13f4",
- "\u1401"-"\u166c",
- "\u166f"-"\u1676",
- "\u1681"-"\u169a",
- "\u16a0"-"\u16ea",
- "\u16ee"-"\u16f0",
- "\u1700"-"\u170c",
- "\u170e"-"\u1714",
- "\u1720"-"\u1734",
- "\u1740"-"\u1753",
- "\u1760"-"\u176c",
- "\u176e"-"\u1770",
- "\u1772"-"\u1773",
- "\u1780"-"\u17d3",
- "\u17d7",
- "\u17db"-"\u17dd",
- "\u17e0"-"\u17e9",
- "\u180b"-"\u180d",
- "\u1810"-"\u1819",
- "\u1820"-"\u1877",
- "\u1880"-"\u18a9",
- "\u1900"-"\u191c",
- "\u1920"-"\u192b",
- "\u1930"-"\u193b",
- "\u1946"-"\u196d",
- "\u1970"-"\u1974",
- "\u1d00"-"\u1d6b",
- "\u1e00"-"\u1e9b",
- "\u1ea0"-"\u1ef9",
- "\u1f00"-"\u1f15",
- "\u1f18"-"\u1f1d",
- "\u1f20"-"\u1f45",
- "\u1f48"-"\u1f4d",
- "\u1f50"-"\u1f57",
- "\u1f59",
- "\u1f5b",
- "\u1f5d",
- "\u1f5f"-"\u1f7d",
- "\u1f80"-"\u1fb4",
- "\u1fb6"-"\u1fbc",
- "\u1fbe",
- "\u1fc2"-"\u1fc4",
- "\u1fc6"-"\u1fcc",
- "\u1fd0"-"\u1fd3",
- "\u1fd6"-"\u1fdb",
- "\u1fe0"-"\u1fec",
- "\u1ff2"-"\u1ff4",
- "\u1ff6"-"\u1ffc",
- "\u200c"-"\u200f",
- "\u202a"-"\u202e",
- "\u203f"-"\u2040",
- "\u2054",
- "\u2060"-"\u2063",
- "\u206a"-"\u206f",
- "\u2071",
- "\u207f",
- "\u20a0"-"\u20b1",
- "\u20d0"-"\u20dc",
- "\u20e1",
- "\u20e5"-"\u20ea",
- "\u2102",
- "\u2107",
- "\u210a"-"\u2113",
- "\u2115",
- "\u2119"-"\u211d",
- "\u2124",
- "\u2126",
- "\u2128",
- "\u212a"-"\u212d",
- "\u212f"-"\u2131",
- "\u2133"-"\u2139",
- "\u213d"-"\u213f",
- "\u2145"-"\u2149",
- "\u2160"-"\u2183",
- "\u3005"-"\u3007",
- "\u3021"-"\u302f",
- "\u3031"-"\u3035",
- "\u3038"-"\u303c",
- "\u3041"-"\u3096",
- "\u3099"-"\u309a",
- "\u309d"-"\u309f",
- "\u30a1"-"\u30ff",
- "\u3105"-"\u312c",
- "\u3131"-"\u318e",
- "\u31a0"-"\u31b7",
- "\u31f0"-"\u31ff",
- "\u3400"-"\u4db5",
- "\u4e00"-"\u9fa5",
- "\ua000"-"\ua48c",
- "\uac00"-"\ud7a3",
- "\ud801", //for supplementary characters suport
- "\ud802", //for supplementary characters suport
- "\ud834", //for supplementary characters suport
- "\udc00", //for supplementary characters suport
- "\udc01", //for supplementary characters suport
- "\udd7b", //for supplementary characters suport
- "\uf900"-"\ufa2d",
- "\ufa30"-"\ufa6a",
- "\ufb00"-"\ufb06",
- "\ufb13"-"\ufb17",
- "\ufb1d"-"\ufb28",
- "\ufb2a"-"\ufb36",
- "\ufb38"-"\ufb3c",
- "\ufb3e",
- "\ufb40"-"\ufb41",
- "\ufb43"-"\ufb44",
- "\ufb46"-"\ufbb1",
- "\ufbd3"-"\ufd3d",
- "\ufd50"-"\ufd8f",
- "\ufd92"-"\ufdc7",
- "\ufdf0"-"\ufdfc",
- "\ufe00"-"\ufe0f",
- "\ufe20"-"\ufe23",
- "\ufe33"-"\ufe34",
- "\ufe4d"-"\ufe4f",
- "\ufe69",
- "\ufe70"-"\ufe74",
- "\ufe76"-"\ufefc",
- "\ufeff",
- "\uff04",
- "\uff10"-"\uff19",
- "\uff21"-"\uff3a",
- "\uff3f",
- "\uff41"-"\uff5a",
- "\uff65"-"\uffbe",
- "\uffc2"-"\uffc7",
- "\uffca"-"\uffcf",
- "\uffd2"-"\uffd7",
- "\uffda"-"\uffdc",
- "\uffe0"-"\uffe1",
- "\uffe5"-"\uffe6",
- "\ufff9"-"\ufffb"
- ]
- >
-}
-
-/* SEPARATORS */
-
-TOKEN :
-{
- < LPAREN: "(" >
-| < RPAREN: ")" >
-| < LBRACE: "{" >
-| < RBRACE: "}" >
-| < LBRACKET: "[" >
-| < RBRACKET: "]" >
-| < SEMICOLON: ";" >
-| < COMMA: "," >
-| < DOT: "." >
-| < AT: "@" >
-}
-
-/* OPERATORS */
-
-TOKEN :
-{
- < ASSIGN: "=" >
-| < LT: "<" >
-| < BANG: "!" >
-| < TILDE: "~" >
-| < HOOK: "?" >
-| < COLON: ":" >
-| < EQ: "==" >
-| < LE: "<=" >
-| < GE: ">=" >
-| < NE: "!=" >
-| < SC_OR: "||" >
-| < SC_AND: "&&" >
-| < INCR: "++" >
-| < DECR: "--" >
-| < PLUS: "+" >
-| < MINUS: "-" >
-| < STAR: "*" >
-| < SLASH: "/" >
-| < BIT_AND: "&" >
-| < BIT_OR: "|" >
-| < XOR: "^" >
-| < REM: "%" >
-| < LSHIFT: "<<" >
-| < PLUSASSIGN: "+=" >
-| < MINUSASSIGN: "-=" >
-| < STARASSIGN: "*=" >
-| < SLASHASSIGN: "/=" >
-| < ANDASSIGN: "&=" >
-| < ORASSIGN: "|=" >
-| < XORASSIGN: "^=" >
-| < REMASSIGN: "%=" >
-| < LSHIFTASSIGN: "<<=" >
-| < RSIGNEDSHIFTASSIGN: ">>=" >
-| < RUNSIGNEDSHIFTASSIGN: ">>>=" >
-| < ELLIPSIS: "..." >
-}
-
-/* >'s need special attention due to generics syntax. */
-TOKEN :
-{
- < RUNSIGNEDSHIFT: ">>>" >
- {
- matchedToken.kind = GT;
- ((ASTParser.GTToken)matchedToken).realKind = RUNSIGNEDSHIFT;
- input_stream.backup(2);
- }
-| < RSIGNEDSHIFT: ">>" >
- {
- matchedToken.kind = GT;
- ((ASTParser.GTToken)matchedToken).realKind = RSIGNEDSHIFT;
- input_stream.backup(1);
- }
-| < GT: ">" >
-}
-
-
-/*****************************************
- * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
- *****************************************/
-
-/*
- * Program structuring syntax follows.
- */
-
-CompilationUnit CompilationUnit():
-{
- PackageDeclaration pakage = null;
- List imports = null;
- ImportDeclaration in = null;
- List types = null;
- TypeDeclaration tn = null;
- int line = -1;
- int column = 0;
-}
-{
- [ LOOKAHEAD(PackageDeclaration()) pakage = PackageDeclaration() {line = pakage.getBeginLine(); column = pakage.getBeginColumn();} ]
- ( in = ImportDeclaration() { if(line==-1){line = in.getBeginLine(); column = in.getBeginColumn();} imports = add(imports, in); } )*
- ( tn = TypeDeclaration() { if(line==-1){line = tn.getBeginLine(); column = tn.getBeginColumn();} types = add(types, tn); } )*
- ( | "\u001A" /** ctrl+z char **/)
- { return new CompilationUnit(line == -1 ? 0 : line, column, token.endLine, token.endColumn,pakage, imports, types, getComments()); }
-}
-
-PackageDeclaration PackageDeclaration():
-{
- List annotations = null;
- AnnotationExpr ann;
- NameExpr name;
- int line;
- int column;
-}
-{
-( ann = Annotation() { annotations = add(annotations, ann); } )*
- "package" {line=token.beginLine; column=token.beginColumn;} name = Name() ";"
- { return new PackageDeclaration(line, column, token.endLine, token.endColumn,annotations, name); }
-}
-
-ImportDeclaration ImportDeclaration():
-{
- NameExpr name;
- boolean isStatic = false;
- boolean isAsterisk = false;
- int line;
- int column;
-}
-{
- "import" {line=token.beginLine; column=token.beginColumn;} [ "static" { isStatic = true; } ] name = Name() [ "." "*" { isAsterisk = true; } ] ";"
- { return new ImportDeclaration(line, column, token.endLine, token.endColumn,name, isStatic, isAsterisk); }
-}
-
-/*
- * Modifiers. We match all modifiers in a single rule to reduce the chances of
- * syntax errors for simple modifier mistakes. It will also enable us to give
- * better error messages.
- */
-
-Modifier Modifiers():
-{
- int beginLine = -1;
- int beginColumn = -1;
- int modifiers = 0;
- List annotations = null;
- AnnotationExpr ann;
-}
-{
- (
- LOOKAHEAD(2)
- (
- "public" { modifiers = addModifier(modifiers, ModifierSet.PUBLIC, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "static" { modifiers = addModifier(modifiers, ModifierSet.STATIC, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "protected" { modifiers = addModifier(modifiers, ModifierSet.PROTECTED, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "private" { modifiers = addModifier(modifiers, ModifierSet.PRIVATE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "final" { modifiers = addModifier(modifiers, ModifierSet.FINAL, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "abstract" { modifiers = addModifier(modifiers, ModifierSet.ABSTRACT, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "synchronized" { modifiers = addModifier(modifiers, ModifierSet.SYNCHRONIZED, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "native" { modifiers = addModifier(modifiers, ModifierSet.NATIVE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "transient" { modifiers = addModifier(modifiers, ModifierSet.TRANSIENT, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "volatile" { modifiers = addModifier(modifiers, ModifierSet.VOLATILE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- "strictfp" { modifiers = addModifier(modifiers, ModifierSet.STRICTFP, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} }
- |
- ann = Annotation() { annotations = add(annotations, ann); if(beginLine==-1) {beginLine=ann.getBeginLine(); beginColumn=ann.getBeginColumn();} }
- )
- )*
-
- {
- return new Modifier(beginLine, beginColumn, modifiers, annotations);
- }
-}
-
-/*
- * Declaration syntax follows.
- */
-TypeDeclaration TypeDeclaration():
-{
- Modifier modifier;
- TypeDeclaration ret;
-}
-{
- { pushJavadoc(); }
- (
- ";" { ret = new EmptyTypeDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn, popJavadoc()); }
- |
- modifier = Modifiers()
- (
- ret = ClassOrInterfaceDeclaration(modifier)
- |
- ret = EnumDeclaration(modifier)
- |
- ret = AnnotationTypeDeclaration(modifier)
- )
- )
- { return ret; }
-}
-
-
-ClassOrInterfaceDeclaration ClassOrInterfaceDeclaration(Modifier modifier):
-{
- boolean isInterface = false;
- String name;
- List typePar = null;
- List extList = null;
- List impList = null;
- List members;
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
-}
-{
- ( "class" | "interface" { isInterface = true; } ) { if (line == -1) {line=token.beginLine; column=token.beginColumn;} }
- { name = token.image; }
- [ typePar = TypeParameters() {typePar.remove(0);} ]
- [ extList = ExtendsList(isInterface) ]
- [ impList = ImplementsList(isInterface) ]
- members = ClassOrInterfaceBody(isInterface)
-
- { return new ClassOrInterfaceDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, isInterface, name, typePar, extList, impList, members); }
-}
-
-List ExtendsList(boolean isInterface):
-{
- boolean extendsMoreThanOne = false;
- List ret = new LinkedList();
- ClassOrInterfaceType cit;
-}
-{
- "extends" cit = ClassOrInterfaceType() { ret.add(cit); }
- ( "," cit = ClassOrInterfaceType() { ret.add(cit); extendsMoreThanOne = true; } )*
- {
- if (extendsMoreThanOne && !isInterface)
- throwParseException(token, "A class cannot extend more than one other class");
- }
- { return ret; }
-}
-
-List ImplementsList(boolean isInterface):
-{
- List ret = new LinkedList();
- ClassOrInterfaceType cit;
-}
-{
- "implements" cit = ClassOrInterfaceType() { ret.add(cit); }
- ( "," cit = ClassOrInterfaceType() { ret.add(cit); } )*
- {
- if (isInterface)
- throwParseException(token, "An interface cannot implement other interfaces");
- }
- { return ret; }
-}
-
-EnumDeclaration EnumDeclaration(Modifier modifier):
-{
- String name;
- List impList = null;
- EnumConstantDeclaration entry;
- List entries = null;
- BodyDeclaration member;
- List members = null;
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
-}
-{
- "enum" { if (line == -1) {line=token.beginLine; column=token.beginColumn;} }
- { name = token.image; }
- [ impList = ImplementsList(false) ]
- "{"
- [
- { entries = new LinkedList(); }
- entry = EnumConstantDeclaration() { entries.add(entry); } ( LOOKAHEAD(2) "," entry = EnumConstantDeclaration() { entries.add(entry); } )*
- ]
- [ "," ]
- [
- ( ";" ( member = ClassOrInterfaceBodyDeclaration(false) { members = add(members, member); } )* )
- ]
- "}"
-
- { return new EnumDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, name, impList, entries, members); }
-}
-
-
-EnumConstantDeclaration EnumConstantDeclaration():
-{
- List annotations = null;
- AnnotationExpr ann;
- String name;
- List args = null;
- List classBody = null;
- int line = -1;
- int column = -1;
-}
-{
- { pushJavadoc(); }
- ( ann = Annotation() { annotations = add(annotations, ann); if(line==-1){line=ann.getBeginLine(); column=ann.getBeginColumn();} } )*
- { name = token.image; if(line==-1){line=token.beginLine; column=token.beginColumn;} }
- [ args = Arguments() ] [ classBody = ClassOrInterfaceBody(false) ]
- { return new EnumConstantDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), annotations, name, args, classBody); }
-}
-
-List TypeParameters():
-{
- List ret = new LinkedList();
- TypeParameter tp;
-}
-{
- "<" { ret.add(new int[]{token.beginLine, token.beginColumn}); }
- tp = TypeParameter() { ret.add(tp); }
- ( "," tp = TypeParameter() { ret.add(tp); } )*
- ">"
- { return ret; }
-}
-
-TypeParameter TypeParameter():
-{
- String name;
- List typeBound = null;
- int line;
- int column;
-}
-{
- { name = token.image; line=token.beginLine; column=token.beginColumn;} [ typeBound = TypeBound() ]
- { return new TypeParameter(line, column, token.endLine, token.endColumn,name, typeBound); }
-}
-
-List TypeBound():
-{
- List ret = new LinkedList();
- ClassOrInterfaceType cit;
-}
-{
- "extends" cit = ClassOrInterfaceType() { ret.add(cit); }
- ( "&" cit = ClassOrInterfaceType() { ret.add(cit); } )*
- { return ret; }
-}
-
-List ClassOrInterfaceBody(boolean isInterface):
-{
- List ret = new LinkedList();
- BodyDeclaration member;
-}
-{
- "{" ( member = ClassOrInterfaceBodyDeclaration(isInterface) { ret.add(member); } )* "}"
- { return ret; }
-}
-
-BodyDeclaration ClassOrInterfaceBodyDeclaration(boolean isInterface):
-{
- boolean isNestedInterface = false;
- Modifier modifier;
- BodyDeclaration ret;
-}
-{
- { pushJavadoc(); }
- (
- LOOKAHEAD(2)
- ret = InitializerDeclaration()
- {
- if (isInterface)
- throwParseException(token, "An interface cannot have initializers");
- }
- |
- modifier = Modifiers() // Just get all the modifiers out of the way. If you want to do
- // more checks, pass the modifiers down to the member
- (
- ret = ClassOrInterfaceDeclaration(modifier)
- |
- ret = EnumDeclaration(modifier)
- |
- ret = AnnotationTypeDeclaration(modifier)
- |
- LOOKAHEAD( [ TypeParameters() ] "(" )
- ret = ConstructorDeclaration(modifier)
- |
- LOOKAHEAD( Type() ( "[" "]" )* ( "," | "=" | ";" ) )
- ret = FieldDeclaration(modifier)
- |
- ret = MethodDeclaration(modifier)
- )
- |
- ";" { ret = new EmptyMemberDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn, popJavadoc()); }
- )
- { return ret; }
-}
-
-FieldDeclaration FieldDeclaration(Modifier modifier):
-{
- Type type;
- List variables = new LinkedList();
- VariableDeclarator val;
-}
-{
- // Modifiers are already matched in the caller
- type = Type()
- val = VariableDeclarator() { variables.add(val); }
- ( "," val = VariableDeclarator() { variables.add(val); } )* ";"
-
- {
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- if (line == -1) { line=type.getBeginLine(); column=type.getBeginColumn(); }
- return new FieldDeclaration(line, column, token.endLine, token.endColumn, popJavadoc(), modifier.modifiers, modifier.annotations, type, variables);
- }
-}
-
-VariableDeclarator VariableDeclarator():
-{
- VariableDeclaratorId id;
- Expression init = null;
-}
-{
- id = VariableDeclaratorId() [ "=" init = VariableInitializer() ]
- { return new VariableDeclarator(id.getBeginLine(), id.getBeginColumn(), token.endLine, token.endColumn, id, init); }
-}
-
-VariableDeclaratorId VariableDeclaratorId():
-{
- String name;
- int arrayCount = 0;
- int line;
- int column;
-}
-{
- { name = token.image; line=token.beginLine; column=token.beginColumn;} ( "[" "]" { arrayCount++; } )*
- { return new VariableDeclaratorId(line, column, token.endLine, token.endColumn,name, arrayCount); }
-}
-
-Expression VariableInitializer():
-{
- Expression ret;
-}
-{
- (
- ret = ArrayInitializer()
- |
- ret = Expression()
- )
- { return ret;}
-}
-
-ArrayInitializerExpr ArrayInitializer():
-{
- List values = null;
- Expression val;
- int line;
- int column;
-}
-{
- "{" {line=token.beginLine; column=token.beginColumn;} [ val = VariableInitializer() { values = add(values, val); } ( LOOKAHEAD(2) "," val = VariableInitializer() { values = add(values, val); } )* ] [ "," ] "}"
- { return new ArrayInitializerExpr(line, column, token.endLine, token.endColumn,values); }
-}
-
-MethodDeclaration MethodDeclaration(Modifier modifier):
-{
- List typeParameters = null;
- Type type;
- String name;
- List parameters;
- int arrayCount = 0;
- List throws_ = null;
- BlockStmt block = null;
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
-}
-{
- // Modifiers already matched in the caller!
- [ typeParameters = TypeParameters() { int[] lineCol=(int[])typeParameters.remove(0); if(line==-1){ line=lineCol[0]; column=lineCol[1];} } ]
- type = ResultType() { if(line==-1){line=type.getBeginLine(); column=type.getBeginColumn();}}
- { name = token.image; } parameters = FormalParameters() ( "[" "]" { arrayCount++; } )*
- [ "throws" throws_ = NameList() ]
- ( block = Block() | ";" )
-
- { return new MethodDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, typeParameters, type, name, parameters, arrayCount, throws_, block); }
-}
-
-List FormalParameters():
-{
- List ret = null;
- Parameter par;
-}
-{
- "(" [ par = FormalParameter() { ret = add(ret, par); } ( "," par = FormalParameter() { ret = add(ret, par); } )* ] ")"
-
- { return ret; }
-}
-
-Parameter FormalParameter():
-{
- Modifier modifier;
- Type type;
- boolean isVarArg = false;
- VariableDeclaratorId id;
-}
-{
- modifier = Modifiers() type = Type() [ "..." { isVarArg = true;} ] id = VariableDeclaratorId()
-
- {
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- if(line==-1){ line=type.getBeginLine(); column=type.getBeginColumn(); }
- return new Parameter(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, isVarArg, id);
- }
-}
-
-ConstructorDeclaration ConstructorDeclaration(Modifier modifier):
-{
- List typeParameters = null;
- String name;
- List parameters;
- List throws_ = null;
- ExplicitConstructorInvocationStmt exConsInv = null;
- List stmts;
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- int bbLine = 0;
- int bbColumn = 0;
- int beLine = 0;
- int beColumn = 0;
-}
-{
- [ typeParameters = TypeParameters() { int[] lineCol=(int[])typeParameters.remove(0); if(line==-1){ line=lineCol[0]; column=lineCol[1];} } ]
- // Modifiers matched in the caller
- { name = token.image; if(line==-1){line=token.beginLine; column=token.beginColumn;}} parameters = FormalParameters() [ "throws" throws_ = NameList() ]
- "{" { bbLine=token.beginLine; bbColumn=token.beginColumn; }
- [ LOOKAHEAD(ExplicitConstructorInvocation()) exConsInv = ExplicitConstructorInvocation() ]
- stmts = Statements()
- "}"
-
- {
- if (exConsInv != null) {
- stmts = add(0, stmts, exConsInv);
- }
- return new ConstructorDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, typeParameters, name, parameters, throws_, new BlockStmt(bbLine, bbColumn, token.endLine, token.endColumn, stmts));
- }
-}
-
-ExplicitConstructorInvocationStmt ExplicitConstructorInvocation():
-{
- boolean isThis = false;
- List args;
- Expression expr = null;
- List typeArgs = null;
- int line = -1;
- int column = 0;
-}
-{
- (
- LOOKAHEAD([ TypeArguments() ] "this" "(")
- [ typeArgs = TypeArguments() { int[] lineCol=(int[])typeArgs.remove(0); line=lineCol[0]; column=lineCol[1]; } ]
- "this" { if (line == -1) {line=token.beginLine; column=token.beginColumn;} isThis = true; }
- args = Arguments() ";"
- |
- [
- LOOKAHEAD( PrimaryExpressionWithoutSuperSuffix() "." )
- expr = PrimaryExpressionWithoutSuperSuffix() "."
- { line=expr.getBeginLine(); column=expr.getBeginColumn(); }
- ]
- [ typeArgs = TypeArguments() {int[] lineCol=(int[])typeArgs.remove(0); if (line == -1) {line=lineCol[0]; column=lineCol[1];}} ]
- "super" {if (line == -1) {line=token.beginLine; column=token.beginColumn;}}
- args = Arguments() ";"
- )
- { return new ExplicitConstructorInvocationStmt(line, column, token.endLine, token.endColumn,typeArgs, isThis, expr, args); }
-}
-
-List Statements():
-{
- List ret = null;
- Statement stmt;
-}
-{
- ( stmt = BlockStatement() { ret = add(ret, stmt); } )*
- { return ret; }
-}
-
-InitializerDeclaration InitializerDeclaration():
-{
- BlockStmt block;
- int line = -1;
- int column = 0;
- boolean isStatic = false;
-}
-{
- [ "static" { isStatic = true; line=token.beginLine; column=token.beginColumn;} ] block = Block() {if(line==-1){line=block.getBeginLine(); column=block.getBeginColumn();}}
- { return new InitializerDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), isStatic, block); }
-}
-
-
-/*
- * Type, name and expression syntax follows.
- */
-
-Type Type():
-{
- Type ret;
-}
-{
- (
- LOOKAHEAD(2) ret = ReferenceType()
- |
- ret = PrimitiveType()
- )
- { return ret; }
-}
-
-ReferenceType ReferenceType():
-{
- Type type;
- int arrayCount = 0;
-}
-{
- (
- type = PrimitiveType() ( LOOKAHEAD(2) "[" "]" { arrayCount++; } )+
- |
- type = ClassOrInterfaceType() ( LOOKAHEAD(2) "[" "]" { arrayCount++; } )*
- )
- { return new ReferenceType(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type, arrayCount); }
-}
-
-ClassOrInterfaceType ClassOrInterfaceType():
-{
- ClassOrInterfaceType ret;
- String name;
- List typeArgs = null;
- int line;
- int column;
-}
-{
- {line=token.beginLine; column=token.beginColumn;} { name = token.image; }
- [ LOOKAHEAD(2) typeArgs = TypeArguments() {typeArgs.remove(0);} ]
- { ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,null, name, typeArgs); }
- (
- LOOKAHEAD(2) "." { name = token.image; }
- [ LOOKAHEAD(2) typeArgs = TypeArguments() {typeArgs.remove(0);} ] { ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,ret, name, typeArgs); }
- )*
- { return ret; }
-}
-
-List TypeArguments():
-{
- List ret = new LinkedList();
- Type type;
-}
-{
- "<" { ret.add(new int[]{token.beginLine, token.beginColumn}); }
- type = TypeArgument() { ret.add(type); } ( "," type = TypeArgument() { ret.add(type); } )*
- ">"
- { return ret; }
-}
-
-Type TypeArgument():
-{
- Type ret;
-}
-{
- (
- ret = ReferenceType()
- |
- ret = Wildcard()
- )
- { return ret; }
-}
-
-WildcardType Wildcard():
-{
- ReferenceType ext = null;
- ReferenceType sup = null;
- int line;
- int column;
-}
-{
- "?" {line=token.beginLine; column=token.beginColumn;}
- [
- "extends" ext = ReferenceType()
- |
- "super" sup = ReferenceType()
- ]
- { return new WildcardType(line, column, token.endLine, token.endColumn,ext, sup); }
-}
-
-PrimitiveType PrimitiveType():
-{
- PrimitiveType ret;
-}
-{
-(
- "boolean" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Boolean); }
-|
- "char" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Char); }
-|
- "byte" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Byte); }
-|
- "short" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Short); }
-|
- "int" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Int); }
-|
- "long" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Long); }
-|
- "float" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Float); }
-|
- "double" { ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Double); }
-)
-{ return ret; }
-}
-
-Type ResultType():
-{
- Type ret;
-}
-{
- (
- "void" { ret = new VoidType(token.beginLine, token.beginColumn, token.endLine, token.endColumn); }
- |
- ret = Type()
- )
- { return ret; }
-}
-
-NameExpr Name():
-/*
- * A lookahead of 2 is required below since "Name" can be followed
- * by a ".*" when used in the context of an "ImportDeclaration".
- */
-{
- NameExpr ret;
-}
-{
- { ret = new NameExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); }
- ( LOOKAHEAD(2) "." { ret = new QualifiedNameExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, token.image); } )*
- { return ret; }
-}
-
-List NameList():
-{
- List ret = new LinkedList();
- NameExpr name;
-}
-{
- name = Name() { ret.add(name); } ( "," name = Name() { ret.add(name); } )*
-
- { return ret; }
-}
-
-
-/*
- * Expression syntax follows.
- */
-
-Expression Expression():
-/*
- * This expansion has been written this way instead of:
- * Assignment() | ConditionalExpression()
- * for performance reasons.
- * However, it is a weakening of the grammar for it allows the LHS of
- * assignments to be any conditional expression whereas it can only be
- * a primary expression. Consider adding a semantic predicate to work
- * around this.
- */
-{
- Expression ret;
- AssignExpr.Operator op;
- Expression value;
-}
-{
- ret = ConditionalExpression()
- [
- LOOKAHEAD(2)
- op = AssignmentOperator() value = Expression() { ret = new AssignExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, value, op); }
- ]
- { return ret; }
-}
-
-AssignExpr.Operator AssignmentOperator():
-{
- AssignExpr.Operator ret;
-}
-{
- (
- "=" { ret = AssignExpr.Operator.assign; }
- | "*=" { ret = AssignExpr.Operator.star; }
- | "/=" { ret = AssignExpr.Operator.slash; }
- | "%=" { ret = AssignExpr.Operator.rem; }
- | "+=" { ret = AssignExpr.Operator.plus; }
- | "-=" { ret = AssignExpr.Operator.minus; }
- | "<<=" { ret = AssignExpr.Operator.lShift; }
- | ">>=" { ret = AssignExpr.Operator.rSignedShift; }
- | ">>>=" { ret = AssignExpr.Operator.rUnsignedShift; }
- | "&=" { ret = AssignExpr.Operator.and; }
- | "^=" { ret = AssignExpr.Operator.xor; }
- | "|=" { ret = AssignExpr.Operator.or; }
- )
- { return ret; }
-}
-
-Expression ConditionalExpression():
-{
- Expression ret;
- Expression left;
- Expression right;
-}
-{
- ret = ConditionalOrExpression()
- [ "?" left = Expression() ":" right = ConditionalExpression() { ret = new ConditionalExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, left, right); } ]
- { return ret; }
-}
-
-Expression ConditionalOrExpression():
-{
- Expression ret;
- Expression right;
-}
-{
- ret = ConditionalAndExpression() ( "||" right = ConditionalAndExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.or); } )*
- { return ret; }
-}
-
-Expression ConditionalAndExpression():
-{
- Expression ret;
- Expression right;
-}
-{
- ret = InclusiveOrExpression() ( "&&" right = InclusiveOrExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.and); } )*
- { return ret; }
-}
-
-Expression InclusiveOrExpression():
-{
- Expression ret;
- Expression right;
-}
-{
- ret = ExclusiveOrExpression() ( "|" right = ExclusiveOrExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.binOr); } )*
- { return ret; }
-}
-
-Expression ExclusiveOrExpression():
-{
- Expression ret;
- Expression right;
-}
-{
- ret = AndExpression() ( "^" right = AndExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.xor); } )*
- { return ret; }
-}
-
-Expression AndExpression():
-{
- Expression ret;
- Expression right;
-}
-{
- ret = EqualityExpression() ( "&" right = EqualityExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.binAnd); } )*
- { return ret; }
-}
-
-Expression EqualityExpression():
-{
- Expression ret;
- Expression right;
- BinaryExpr.Operator op;
-}
-{
- ret = InstanceOfExpression()
- (
- ( "==" { op = BinaryExpr.Operator.equals; } |
- "!=" { op = BinaryExpr.Operator.notEquals; }
- ) right = InstanceOfExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); }
- )*
- { return ret; }
-}
-
-Expression InstanceOfExpression():
-{
- Expression ret;
- Type type;
-}
-{
- ret = RelationalExpression() [ "instanceof" type = Type() { ret = new InstanceOfExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, type); } ]
- { return ret; }
-}
-
-Expression RelationalExpression():
-{
- Expression ret;
- Expression right;
- BinaryExpr.Operator op;
-}
-{
- ret = ShiftExpression()
- (
- ( "<" { op = BinaryExpr.Operator.less; } |
- ">" { op = BinaryExpr.Operator.greater; } |
- "<=" { op = BinaryExpr.Operator.lessEquals; } |
- ">=" { op = BinaryExpr.Operator.greaterEquals; }
- ) right = ShiftExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); }
- )*
- { return ret; }
-}
-
-Expression ShiftExpression():
-{
- Expression ret;
- Expression right;
- BinaryExpr.Operator op;
-}
-{
- ret = AdditiveExpression()
- (
- ( "<<" { op = BinaryExpr.Operator.lShift; } |
- RSIGNEDSHIFT() { op = BinaryExpr.Operator.rSignedShift; } |
- RUNSIGNEDSHIFT() { op = BinaryExpr.Operator.rUnsignedShift; }
- ) right = AdditiveExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); }
- )*
- { return ret; }
-}
-
-Expression AdditiveExpression():
-{
- Expression ret;
- Expression right;
- BinaryExpr.Operator op;
-}
-{
- ret = MultiplicativeExpression()
- (
- ( "+" { op = BinaryExpr.Operator.plus; } |
- "-" { op = BinaryExpr.Operator.minus; }
- ) right = MultiplicativeExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); }
- )*
- { return ret; }
-}
-
-Expression MultiplicativeExpression():
-{
- Expression ret;
- Expression right;
- BinaryExpr.Operator op;
-}
-{
- ret = UnaryExpression()
- (
- ( "*" { op = BinaryExpr.Operator.times; } |
- "/" { op = BinaryExpr.Operator.divide; } |
- "%" { op = BinaryExpr.Operator.remainder; }
- ) right = UnaryExpression() { ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); }
- )*
- { return ret; }
-}
-
-Expression UnaryExpression():
-{
- Expression ret;
- UnaryExpr.Operator op;
- int line = 0;
- int column = 0;
-}
-{
- (
- ret = PreIncrementExpression()
- |
- ret = PreDecrementExpression()
- |
- ( "+" { op = UnaryExpr.Operator.positive; line=token.beginLine; column=token.beginColumn;} |
- "-" { op = UnaryExpr.Operator.negative; line=token.beginLine; column=token.beginColumn;}
- ) ret = UnaryExpression()
- {
- if(op == UnaryExpr.Operator.negative) {
- if (ret instanceof IntegerLiteralExpr && ((IntegerLiteralExpr)ret).isMinValue()) {
- ret = new IntegerLiteralMinValueExpr(line, column, token.endLine, token.endColumn);
- } else if (ret instanceof LongLiteralExpr && ((LongLiteralExpr)ret).isMinValue()) {
- ret = new LongLiteralMinValueExpr(line, column, token.endLine, token.endColumn);
- } else {
- ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op);
- }
- } else {
- ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op);
- }
- }
- |
- ret = UnaryExpressionNotPlusMinus()
- )
- { return ret; }
-}
-
-Expression PreIncrementExpression():
-{
- Expression ret;
- int line;
- int column;
-}
-{
- "++" {line=token.beginLine; column=token.beginColumn;} ret = UnaryExpression() { ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, UnaryExpr.Operator.preIncrement); }
- { return ret; }
-}
-
-Expression PreDecrementExpression():
-{
- Expression ret;
- int line;
- int column;
-}
-{
- "--" {line=token.beginLine; column=token.beginColumn;} ret = UnaryExpression() { ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, UnaryExpr.Operator.preDecrement); }
- { return ret; }
-}
-
-Expression UnaryExpressionNotPlusMinus():
-{
- Expression ret;
- UnaryExpr.Operator op;
- int line = 0;
- int column = 0;
-}
-{
- (
- ( "~" { op = UnaryExpr.Operator.inverse; line=token.beginLine; column=token.beginColumn;} |
- "!" { op = UnaryExpr.Operator.not; line=token.beginLine; column=token.beginColumn;}
- ) ret = UnaryExpression() { ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op); }
- |
- LOOKAHEAD( CastExpression() )
- ret = CastExpression()
- |
- ret = PostfixExpression()
- )
- { return ret; }
-}
-
-Expression PostfixExpression():
-{
- Expression ret;
- UnaryExpr.Operator op;
-}
-{
- ret = PrimaryExpression()
- [
- LOOKAHEAD(2)
- ( "++" { op = UnaryExpr.Operator.posIncrement; } |
- "--" { op = UnaryExpr.Operator.posDecrement; }
- ) { ret = new UnaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, op); }
- ]
- { return ret; }
-}
-
-Expression CastExpression():
-{
- Expression ret;
- Type type;
- int line;
- int column;
-}
-{
- "(" {line=token.beginLine; column=token.beginColumn;}
- (
- LOOKAHEAD(2)
- type = PrimitiveType() ")" ret = UnaryExpression() { ret = new CastExpr(line, column, token.endLine, token.endColumn,type, ret); }
- |
- type = ReferenceType() ")" ret = UnaryExpressionNotPlusMinus() { ret = new CastExpr(line, column, token.endLine, token.endColumn,type, ret); }
- )
- { return ret; }
-}
-
-Expression PrimaryExpression():
-{
- Expression ret;
- Expression inner;
-}
-{
- ret = PrimaryPrefix() ( LOOKAHEAD(2) ret = PrimarySuffix(ret) )*
- { return ret; }
-}
-
-Expression PrimaryExpressionWithoutSuperSuffix():
-{
- Expression ret;
- Expression inner;
-}
-{
- ret = PrimaryPrefix() ( LOOKAHEAD( PrimarySuffixWithoutSuper(null) ) ret = PrimarySuffixWithoutSuper(ret) )*
- { return ret; }
-}
-
-Expression PrimaryPrefix():
-{
- Expression ret;
- String name;
- List typeArgs = null;
- List args = null;
- boolean hasArgs = false;
- Type type;
- int line;
- int column;
-}
-{
- (
- ret = Literal()
- |
- "this" { ret = new ThisExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, null); }
- |
- "super" { ret = new SuperExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, null); }
- "."
- [ typeArgs = TypeArguments() {typeArgs.remove(0);} ]
- { name = token.image; }
- [ args = Arguments() {hasArgs=true;} ]
- {
- ret = hasArgs
- ? new MethodCallExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, name, args)
- : new FieldAccessExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, null, name);
- }
- |
- "(" {line=token.beginLine; column=token.beginColumn;} ret = Expression() ")" { ret = new EnclosedExpr(line, column, token.endLine, token.endColumn,ret); }
- |
- ret = AllocationExpression(null)
- |
- LOOKAHEAD( ResultType() "." "class" )
- type = ResultType() "." "class" { ret = new ClassExpr(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type); }
- |
- { name = token.image; line=token.beginLine; column=token.beginColumn; }
- [ args = Arguments() {hasArgs=true;} ]
- {
- ret = hasArgs
- ? new MethodCallExpr(line, column, token.endLine, token.endColumn, null, null, name, args)
- : new NameExpr(line, column, token.endLine, token.endColumn, name);
- }
- )
- { return ret; }
-}
-
-Expression PrimarySuffix(Expression scope):
-{
- Expression ret;
-}
-{
- (
- LOOKAHEAD(2)
- ret = PrimarySuffixWithoutSuper(scope)
- |
- "." "super" { ret = new SuperExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope); }
- )
- { return ret; }
-}
-
-Expression PrimarySuffixWithoutSuper(Expression scope):
-{
- Expression ret;
- List typeArgs = null;
- List args = null;
- boolean hasArgs = false;
- String name;
-}
-{
- (
- "."
- (
- // TODO: está deixando passar "this.this", verificar na JLS se é possível
- "this" { ret = new ThisExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope); }
- |
- ret = AllocationExpression(scope)
- |
- LOOKAHEAD( [ TypeArguments() ] )
- [ typeArgs = TypeArguments() {typeArgs.remove(0);} ]
- { name = token.image; }
- [ args = Arguments() {hasArgs=true;} ]
- {
- ret = hasArgs
- ? new MethodCallExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, name, args)
- : new FieldAccessExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, name);
- }
- )
- |
- "["ret = Expression() "]" { ret = new ArrayAccessExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, ret); }
- )
- { return ret; }
-}
-
-Expression Literal():
-{
- Expression ret;
-}
-{
- (
- {
- ret = new IntegerLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image);
- }
- |
- {
- ret = new LongLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image);
- }
- |
- {
- ret = new DoubleLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image);
- }
- |
- {
- ret = new CharLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image.substring(1, token.image.length()-1));
- }
- |
- {
- ret = new StringLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image.substring(1, token.image.length()-1));
- }
- |
- ret = BooleanLiteral()
- |
- ret = NullLiteral()
- )
- { return ret; }
-}
-
-Expression BooleanLiteral():
-{
- Expression ret;
-}
-{
- (
- "true" { ret = new BooleanLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, true); }
- |
- "false" { ret = new BooleanLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, false); }
- )
- { return ret; }
-}
-
-Expression NullLiteral():
-{}
-{
- "null"
- { return new NullLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn); }
-}
-
-List Arguments():
-{
- List ret = null;
-}
-{
- "(" [ ret = ArgumentList() ] ")"
- { return ret; }
-}
-
-List ArgumentList():
-{
- List ret = new LinkedList();
- Expression expr;
-}
-{
- expr = Expression() { ret.add(expr); } ( "," expr = Expression() { ret.add(expr); } )*
- { return ret; }
-}
-
-Expression AllocationExpression(Expression scope):
-{
- Expression ret;
- Type type;
- Object[] arr = null;
- List typeArgs = null;
- List anonymousBody = null;
- List args;
- int line;
- int column;
-}
-{
- "new" { if(scope==null) {line=token.beginLine; column=token.beginColumn;} else {line=scope.getBeginLine(); column=scope.getBeginColumn();} }
- (
- type = PrimitiveType()
- arr = ArrayDimsAndInits()
- {
- if (arr[0] instanceof Integer) {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, ((Integer)arr[0]).intValue(), (ArrayInitializerExpr)arr[1]);
- } else {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, (List)arr[0], ((Integer)arr[1]).intValue());
- }
- }
- |
- LOOKAHEAD(ClassOrInterfaceType() ArrayDimsAndInits())
- type = ClassOrInterfaceType()
- arr = ArrayDimsAndInits()
- {
- if (arr[0] instanceof Integer) {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, ((Integer)arr[0]).intValue(), (ArrayInitializerExpr)arr[1]);
- } else {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, (List)arr[0], ((Integer)arr[1]).intValue());
- }
- }
- |
- [ typeArgs = TypeArguments() {typeArgs.remove(0);} ]
- type = ClassOrInterfaceType()
- args = Arguments() [ LOOKAHEAD(2) anonymousBody = ClassOrInterfaceBody(false) ]
- { ret = new ObjectCreationExpr(line, column, token.endLine, token.endColumn, scope, (ClassOrInterfaceType) type, typeArgs, args, anonymousBody); }
- )
- { return ret; }
-}
-
-/*
- * The third LOOKAHEAD specification below is to parse to PrimarySuffix
- * if there is an expression between the "[...]".
- */
-Object[] ArrayDimsAndInits():
-{
- Object[] ret = new Object[2];
- Expression expr;
- List inits = null;
- int i = 0;
-}
-{
- (
- LOOKAHEAD(2)
- ( LOOKAHEAD(2) "[" expr = Expression() { inits = add(inits, expr); } "]" )+ ( LOOKAHEAD(2) "[" "]" { i++; } )* { ret[0] = inits; ret[1] = new Integer(i); }
- |
- ( "[" "]" { i++; } )+ expr = ArrayInitializer() { ret[0] = new Integer(i); ret[1] = expr; }
- )
- { return ret; }
-}
-
-
-/*
- * Statement syntax follows.
- */
-
-Statement Statement():
-{
- Statement ret;
-}
-{
- (
- LOOKAHEAD(2)
- ret = LabeledStatement()
- |
- ret = AssertStatement()
- |
- ret = Block()
- |
- ret = EmptyStatement()
- |
- ret = StatementExpression()
- |
- ret = SwitchStatement()
- |
- ret = IfStatement()
- |
- ret = WhileStatement()
- |
- ret = DoStatement()
- |
- ret = ForStatement()
- |
- ret = BreakStatement()
- |
- ret = ContinueStatement()
- |
- ret = ReturnStatement()
- |
- ret = ThrowStatement()
- |
- ret = SynchronizedStatement()
- |
- ret = TryStatement()
- )
- { return ret; }
-}
-
-AssertStmt AssertStatement():
-{
- Expression check;
- Expression msg = null;
- int line;
- int column;
-}
-{
- "assert" {line=token.beginLine; column=token.beginColumn;} check = Expression() [ ":" msg = Expression() ] ";"
- { return new AssertStmt(line, column, token.endLine, token.endColumn,check, msg); }
-}
-
-LabeledStmt LabeledStatement():
-{
- String label;
- Statement stmt;
- int line;
- int column;
-}
-{
- {line=token.beginLine; column=token.beginColumn;} { label = token.image; } ":" stmt = Statement()
- { return new LabeledStmt(line, column, token.endLine, token.endColumn,label, stmt); }
-}
-
-BlockStmt Block():
-{
- List stmts;
- int beginLine;
- int beginColumn;
-}
-{
- "{" {beginLine=token.beginLine; beginColumn=token.beginColumn;}
- stmts = Statements()
- "}"
- { return new BlockStmt(beginLine, beginColumn, token.endLine, token.endColumn, stmts); }
-}
-
-/*
- * Classes inside block stametents can only be abstract or final. The semantic must check it.
- */
-Statement BlockStatement():
-{
- Statement ret;
- Expression expr;
- ClassOrInterfaceDeclaration typeDecl;
- Modifier modifier;
-}
-{
- (
- LOOKAHEAD( Modifiers() ("class" | "interface") )
- { pushJavadoc(); }
- modifier = Modifiers()
- typeDecl = ClassOrInterfaceDeclaration(modifier) { ret = new TypeDeclarationStmt(typeDecl.getBeginLine(), typeDecl.getBeginColumn(), token.endLine, token.endColumn, typeDecl); }
- |
- LOOKAHEAD(VariableDeclarationExpression() )
- expr = VariableDeclarationExpression() ";"
- { ret = new ExpressionStmt(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr); }
- |
- ret = Statement()
- )
- { return ret; }
-}
-
-VariableDeclarationExpr VariableDeclarationExpression():
-{
- Modifier modifier;
- Type type;
- List vars = new LinkedList();
- VariableDeclarator var;
-}
-{
- modifier = Modifiers() type = Type() var = VariableDeclarator() { vars.add(var); } ( "," var = VariableDeclarator() { vars.add(var); } )*
- {
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- if(line==-1) {line=type.getBeginLine(); column=type.getBeginColumn(); }
- return new VariableDeclarationExpr(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, vars);
- }
-}
-
-EmptyStmt EmptyStatement():
-{}
-{
- ";"
- { return new EmptyStmt(token.beginLine, token.beginColumn, token.endLine, token.endColumn); }
-}
-
-ExpressionStmt StatementExpression():
-/*
- * The last expansion of this production accepts more than the legal
- * Java expansions for StatementExpression. This expansion does not
- * use PostfixExpression for performance reasons.
- */
-{
- Expression expr;
- AssignExpr.Operator op;
- Expression value;
-}
-{
- (
- expr = PreIncrementExpression()
- |
- expr = PreDecrementExpression()
- |
- expr = PrimaryExpression()
- [
- "++" { expr = new UnaryExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, UnaryExpr.Operator.posIncrement); }
- |
- "--" { expr = new UnaryExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, UnaryExpr.Operator.posDecrement); }
- |
- op = AssignmentOperator() value = Expression() { expr = new AssignExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, value, op); }
- ]
- )
- ";"
- { return new ExpressionStmt(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr); }
-}
-
-SwitchStmt SwitchStatement():
-{
- Expression selector;
- SwitchEntryStmt entry;
- List entries = null;
- int line;
- int column;
-}
-{
- "switch" {line=token.beginLine; column=token.beginColumn;} "(" selector = Expression() ")" "{"
- ( entry = SwitchEntry() { entries = add(entries, entry); } )*
- "}"
-
- { return new SwitchStmt(line, column, token.endLine, token.endColumn,selector, entries); }
-}
-
-SwitchEntryStmt SwitchEntry():
-{
- Expression label = null;
- List stmts;
- int line;
- int column;
-}
-{
- (
- "case" {line=token.beginLine; column=token.beginColumn;} label = Expression()
- |
- "default" {line=token.beginLine; column=token.beginColumn;}
- )
- ":" stmts = Statements()
-
- { return new SwitchEntryStmt(line, column, token.endLine, token.endColumn,label, stmts); }
-}
-
-IfStmt IfStatement():
-/*
- * The disambiguating algorithm of JavaCC automatically binds dangling
- * else's to the innermost if statement. The LOOKAHEAD specification
- * is to tell JavaCC that we know what we are doing.
- */
-{
- Expression condition;
- Statement thenStmt;
- Statement elseStmt = null;
- int line;
- int column;
-}
-{
- "if" {line=token.beginLine; column=token.beginColumn;} "(" condition = Expression() ")" thenStmt = Statement() [ LOOKAHEAD(1) "else" elseStmt = Statement() ]
- { return new IfStmt(line, column, token.endLine, token.endColumn,condition, thenStmt, elseStmt); }
-}
-
-WhileStmt WhileStatement():
-{
- Expression condition;
- Statement body;
- int line;
- int column;
-}
-{
- "while" {line=token.beginLine; column=token.beginColumn;} "(" condition = Expression() ")" body = Statement()
- { return new WhileStmt(line, column, token.endLine, token.endColumn,condition, body); }
-}
-
-DoStmt DoStatement():
-{
- Expression condition;
- Statement body;
- int line;
- int column;
-}
-{
- "do" {line=token.beginLine; column=token.beginColumn;} body = Statement() "while" "(" condition = Expression() ")" ";"
- { return new DoStmt(line, column, token.endLine, token.endColumn,body, condition); }
-}
-
-Statement ForStatement():
-{
- String id = null;
- VariableDeclarationExpr varExpr = null;
- Expression expr = null;
- List init = null;
- List update = null;
- Statement body;
- int line;
- int column;
-}
-{
- "for" {line=token.beginLine; column=token.beginColumn;} "("
-
- (
- LOOKAHEAD(VariableDeclarationExpression() ":")
- varExpr = VariableDeclarationExpression() ":" expr = Expression()
- |
- [ init = ForInit() ] ";" [ expr = Expression() ] ";" [ update = ForUpdate() ]
- )
-
- ")" body = Statement()
-
- {
- if (varExpr != null) {
- return new ForeachStmt(line, column, token.endLine, token.endColumn,varExpr, expr, body);
- }
- return new ForStmt(line, column, token.endLine, token.endColumn,init, expr, update, body);
- }
-}
-
-List ForInit():
-{
- List ret;
- Expression expr;
-}
-{
- (
- LOOKAHEAD( Modifiers() Type() )
- expr = VariableDeclarationExpression() { ret = new LinkedList(); ret.add(expr); }
- |
- ret = ExpressionList()
- )
- { return ret; }
-}
-
-List ExpressionList():
-{
- List ret = new LinkedList();
- Expression expr;
-}
-{
- expr = Expression() { ret.add(expr); } ( "," expr = Expression() { ret.add(expr); } )*
-
- { return ret; }
-}
-
-List ForUpdate():
-{
- List ret;
-}
-{
- ret = ExpressionList()
-
- { return ret; }
-}
-
-BreakStmt BreakStatement():
-{
- String id = null;
- int line;
- int column;
-}
-{
- "break" {line=token.beginLine; column=token.beginColumn;} [ { id = token.image; } ] ";"
- { return new BreakStmt(line, column, token.endLine, token.endColumn,id); }
-}
-
-ContinueStmt ContinueStatement():
-{
- String id = null;
- int line;
- int column;
-}
-{
- "continue" {line=token.beginLine; column=token.beginColumn;} [ { id = token.image; } ] ";"
- { return new ContinueStmt(line, column, token.endLine, token.endColumn,id); }
-}
-
-ReturnStmt ReturnStatement():
-{
- Expression expr = null;
- int line;
- int column;
-}
-{
- "return" {line=token.beginLine; column=token.beginColumn;} [ expr = Expression() ] ";"
- { return new ReturnStmt(line, column, token.endLine, token.endColumn,expr); }
-}
-
-ThrowStmt ThrowStatement():
-{
- Expression expr;
- int line;
- int column;
-}
-{
- "throw" {line=token.beginLine; column=token.beginColumn;} expr = Expression() ";"
- { return new ThrowStmt(line, column, token.endLine, token.endColumn,expr); }
-}
-
-SynchronizedStmt SynchronizedStatement():
-{
- Expression expr;
- BlockStmt block;
- int line;
- int column;
-}
-{
- "synchronized" {line=token.beginLine; column=token.beginColumn;} "(" expr = Expression() ")" block = Block()
- { return new SynchronizedStmt(line, column, token.endLine, token.endColumn,expr, block); }
-}
-
-TryStmt TryStatement():
-/*
- * Semantic check required here to make sure that at least one
- * finally/catch is present.
- */
-{
- BlockStmt tryBlock;
- BlockStmt finallyBlock = null;
- List catchs = null;
- Parameter except;
- BlockStmt catchBlock;
- int line;
- int column;
- int cLine;
- int cColumn;
-}
-{
- "try" {line=token.beginLine; column=token.beginColumn;} tryBlock = Block()
- (
- (
- "catch" {cLine=token.beginLine; cColumn=token.beginColumn;}
- "(" except = FormalParameter() ")" catchBlock = Block()
- { catchs = add(catchs, new CatchClause(cLine, cColumn, token.endLine, token.endColumn, except, catchBlock)); }
- )+
- [ "finally" finallyBlock = Block() ]
- |
- "finally" finallyBlock = Block()
- )
- { return new TryStmt(line, column, token.endLine, token.endColumn,tryBlock, catchs, finallyBlock); }
-}
-
-
-
-/* We use productions to match >>>, >> and > so that we can keep the
- * type declaration syntax with generics clean
- */
-
-void RUNSIGNEDSHIFT():
-{}
-{
- ( LOOKAHEAD({ getToken(1).kind == GT &&
- ((GTToken)getToken(1)).realKind == RUNSIGNEDSHIFT} )
- ">" ">" ">"
- )
-}
-
-void RSIGNEDSHIFT():
-{}
-{
- ( LOOKAHEAD({ getToken(1).kind == GT &&
- ((GTToken)getToken(1)).realKind == RSIGNEDSHIFT} )
- ">" ">"
- )
-}
-
-/* Annotation syntax follows. */
-
-AnnotationExpr Annotation():
-{
- AnnotationExpr ret;
-}
-{
- (
- LOOKAHEAD( "@" Name() "(" ( "=" | ")" ))
- ret = NormalAnnotation()
- |
- LOOKAHEAD( "@" Name() "(" )
- ret = SingleMemberAnnotation()
- |
- ret = MarkerAnnotation()
- )
- { return ret; }
-}
-
-NormalAnnotationExpr NormalAnnotation():
-{
- NameExpr name;
- List pairs = null;
- int line;
- int column;
-}
-{
- "@" {line=token.beginLine; column=token.beginColumn;} name = Name() "(" [ pairs = MemberValuePairs() ] ")"
- { return new NormalAnnotationExpr(line, column, token.endLine, token.endColumn,name, pairs); }
-}
-
-MarkerAnnotationExpr MarkerAnnotation():
-{
- NameExpr name;
- int line;
- int column;
-}
-{
- "@" {line=token.beginLine; column=token.beginColumn;} name = Name()
- { return new MarkerAnnotationExpr(line, column, token.endLine, token.endColumn,name); }
-}
-
-SingleMemberAnnotationExpr SingleMemberAnnotation():
-{
- NameExpr name;
- Expression memberVal;
- int line;
- int column;
-}
-{
- "@" {line=token.beginLine; column=token.beginColumn;} name = Name() "(" memberVal = MemberValue() ")"
- { return new SingleMemberAnnotationExpr(line, column, token.endLine, token.endColumn,name, memberVal); }
-}
-
-List MemberValuePairs():
-{
- List ret = new LinkedList();
- MemberValuePair pair;
-}
-{
- pair = MemberValuePair() { ret.add(pair); } ( "," pair = MemberValuePair() { ret.add(pair); } )*
- { return ret; }
-}
-
-MemberValuePair MemberValuePair():
-{
- String name;
- Expression value;
- int line;
- int column;
-}
-{
- { name = token.image; line=token.beginLine; column=token.beginColumn;} "=" value = MemberValue()
- { return new MemberValuePair(line, column, token.endLine, token.endColumn,name, value); }
-}
-
-Expression MemberValue():
-{
- Expression ret;
-}
-{
- (
- ret = Annotation()
- |
- ret = MemberValueArrayInitializer()
- |
- ret = ConditionalExpression()
- )
- { return ret; }
-}
-
-Expression MemberValueArrayInitializer():
-{
- List ret = new LinkedList();
- Expression member;
- int line;
- int column;
-}
-{
- "{" {line=token.beginLine; column=token.beginColumn;}
- ( member = MemberValue() { ret.add(member); } ( LOOKAHEAD(2) "," member = MemberValue() { ret.add(member); } )* )? [ "," ]
- "}"
- { return new ArrayInitializerExpr(line, column, token.endLine, token.endColumn,ret); }
-}
-
-
-/* Annotation Types. */
-
-AnnotationDeclaration AnnotationTypeDeclaration(Modifier modifier):
-{
- String name;
- List members;
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
-}
-{
- "@" { if (line == -1) {line=token.beginLine; column=token.beginColumn;} }
- "interface" { name = token.image; } members = AnnotationTypeBody()
-
- { return new AnnotationDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, name, members); }
-}
-
-List AnnotationTypeBody():
-{
- List ret = null;
- BodyDeclaration member;
-}
-{
- "{" ( member = AnnotationBodyDeclaration() { ret = add(ret, member); } )* "}"
-
- { return ret; }
-}
-
-BodyDeclaration AnnotationBodyDeclaration():
-{
- Modifier modifier;
- BodyDeclaration ret;
-}
-{
- { pushJavadoc(); }
- (
- ";" { ret = new EmptyTypeDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn, popJavadoc()); }
- |
- modifier = Modifiers()
- (
- LOOKAHEAD(Type() "(")
- ret = AnnotationTypeMemberDeclaration(modifier)
- |
- ret = ClassOrInterfaceDeclaration(modifier)
- |
- ret = EnumDeclaration(modifier)
- |
- ret = AnnotationTypeDeclaration(modifier)
- |
- ret = FieldDeclaration(modifier)
- )
- )
- { return ret; }
-}
-
-AnnotationMemberDeclaration AnnotationTypeMemberDeclaration(Modifier modifier):
-{
- Type type;
- String name;
- Expression defaultVal = null;
-}
-{
- type = Type() { name = token.image; } "(" ")" [ defaultVal = DefaultValue() ] ";"
-
- {
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- { if (line == -1) {line=type.getBeginLine(); column=type.getBeginColumn();} }
- return new AnnotationMemberDeclaration(line, column, token.endLine, token.endColumn, popJavadoc(), modifier.modifiers, modifier.annotations, type, name, defaultVal);
- }
-}
-
-Expression DefaultValue():
-{
- Expression ret;
-}
-{
- "default" ret = MemberValue()
- { return ret; }
-}
diff --git a/techniques/BRTracer/bin/org/brtracer/BRTracer.class b/techniques/BRTracer/bin/org/brtracer/BRTracer.class
deleted file mode 100644
index 4e83a08..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/BRTracer.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/Bug.class b/techniques/BRTracer/bin/org/brtracer/Bug.class
deleted file mode 100644
index e3fc783..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/Bug.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/Core.class b/techniques/BRTracer/bin/org/brtracer/Core.class
deleted file mode 100644
index 7da4eca..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/Core.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/XMLCreator.class b/techniques/BRTracer/bin/org/brtracer/XMLCreator.class
deleted file mode 100644
index 4291384..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/XMLCreator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/Bug.class b/techniques/BRTracer/bin/org/brtracer/bug/Bug.class
deleted file mode 100644
index f854f29..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/Bug.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/BugCorpusCreator.class b/techniques/BRTracer/bin/org/brtracer/bug/BugCorpusCreator.class
deleted file mode 100644
index 592d183..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/BugCorpusCreator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/BugSimilarity.class b/techniques/BRTracer/bin/org/brtracer/bug/BugSimilarity.class
deleted file mode 100644
index 407a970..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/BugSimilarity.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/BugVector$1.class b/techniques/BRTracer/bin/org/brtracer/bug/BugVector$1.class
deleted file mode 100644
index 1ba9ccb..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/BugVector$1.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/BugVector.class b/techniques/BRTracer/bin/org/brtracer/bug/BugVector.class
deleted file mode 100644
index 8c4c5ce..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/BugVector.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/bug/SimilarityDistribution.class b/techniques/BRTracer/bin/org/brtracer/bug/SimilarityDistribution.class
deleted file mode 100644
index aba3e3b..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/bug/SimilarityDistribution.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/evaluation/Evaluation.class b/techniques/BRTracer/bin/org/brtracer/evaluation/Evaluation.class
deleted file mode 100644
index a2a93da..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/evaluation/Evaluation.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/evaluation/MAP.class b/techniques/BRTracer/bin/org/brtracer/evaluation/MAP.class
deleted file mode 100644
index 05bb622..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/evaluation/MAP.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/evaluation/Rank.class b/techniques/BRTracer/bin/org/brtracer/evaluation/Rank.class
deleted file mode 100644
index dbed0f0..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/evaluation/Rank.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/property/Property.class b/techniques/BRTracer/bin/org/brtracer/property/Property.class
deleted file mode 100644
index 5415c66..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/property/Property.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeCorpusCreator.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeCorpusCreator.class
deleted file mode 100644
index db9e824..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeCorpusCreator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeVectorCreator.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeVectorCreator.class
deleted file mode 100644
index eb8035e..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/CodeVectorCreator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer.class
deleted file mode 100644
index a685e58..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer_OriginClass.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer_OriginClass.class
deleted file mode 100644
index 2e2c12f..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/Indexer_OriginClass.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore.class
deleted file mode 100644
index d7ff65d..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore_OriginClass.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore_OriginClass.class
deleted file mode 100644
index 3f8d444..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/LenScore_OriginClass.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/LineofCode.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/LineofCode.class
deleted file mode 100644
index 2392f43..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/LineofCode.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/Similarity.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/Similarity.class
deleted file mode 100644
index 47c93ca..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/Similarity.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/ASTCreator.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/ASTCreator.class
deleted file mode 100644
index bf5422f..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/ASTCreator.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/Corpus.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/Corpus.class
deleted file mode 100644
index b4a6314..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/Corpus.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileDetector.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileDetector.class
deleted file mode 100644
index 0abdae0..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileDetector.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$1.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$1.class
deleted file mode 100644
index cac22a0..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$1.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$2.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$2.class
deleted file mode 100644
index 62d5770..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$2.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$3.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$3.class
deleted file mode 100644
index 179f139..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$3.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$4.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$4.class
deleted file mode 100644
index 01de264..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser$4.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser.class b/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser.class
deleted file mode 100644
index 86a58a4..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/sourcecode/ast/FileParser.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/utils/PorterStemmer.class b/techniques/BRTracer/bin/org/brtracer/utils/PorterStemmer.class
deleted file mode 100644
index 73b7674..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/utils/PorterStemmer.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/utils/Splitter.class b/techniques/BRTracer/bin/org/brtracer/utils/Splitter.class
deleted file mode 100644
index 8228ee5..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/utils/Splitter.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/utils/Stem.class b/techniques/BRTracer/bin/org/brtracer/utils/Stem.class
deleted file mode 100644
index 8af5e19..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/utils/Stem.class and /dev/null differ
diff --git a/techniques/BRTracer/bin/org/brtracer/utils/Stopword.class b/techniques/BRTracer/bin/org/brtracer/utils/Stopword.class
deleted file mode 100644
index ae5d101..0000000
Binary files a/techniques/BRTracer/bin/org/brtracer/utils/Stopword.class and /dev/null differ
diff --git a/techniques/BRTracer/libs/args4j-2.0.6.jar b/techniques/BRTracer/libs/args4j-2.0.6.jar
deleted file mode 100644
index fe8aa60..0000000
Binary files a/techniques/BRTracer/libs/args4j-2.0.6.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/contenttype-3.2.0-v20060603.jar b/techniques/BRTracer/libs/contenttype-3.2.0-v20060603.jar
deleted file mode 100644
index 816e3fc..0000000
Binary files a/techniques/BRTracer/libs/contenttype-3.2.0-v20060603.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/dom4j-1.6.1.jar b/techniques/BRTracer/libs/dom4j-1.6.1.jar
deleted file mode 100644
index c8c4dbb..0000000
Binary files a/techniques/BRTracer/libs/dom4j-1.6.1.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/lucene-core-2.9.4.jar b/techniques/BRTracer/libs/lucene-core-2.9.4.jar
deleted file mode 100644
index 898d400..0000000
Binary files a/techniques/BRTracer/libs/lucene-core-2.9.4.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/mysql-connector-java-5.1.13-bin.jar b/techniques/BRTracer/libs/mysql-connector-java-5.1.13-bin.jar
deleted file mode 100644
index ef5d71e..0000000
Binary files a/techniques/BRTracer/libs/mysql-connector-java-5.1.13-bin.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar b/techniques/BRTracer/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar
deleted file mode 100644
index cfce073..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar b/techniques/BRTracer/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar
deleted file mode 100644
index 89131bb..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar b/techniques/BRTracer/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar
deleted file mode 100644
index 49bbc18..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar b/techniques/BRTracer/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
deleted file mode 100644
index ecac7a8..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar b/techniques/BRTracer/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
deleted file mode 100644
index 1cd6ea2..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar b/techniques/BRTracer/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar
deleted file mode 100644
index ad1c58f..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar b/techniques/BRTracer/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
deleted file mode 100644
index 673f3f5..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/org.eclipse.text_3.4.0.v20080605-1800.jar b/techniques/BRTracer/libs/org.eclipse.text_3.4.0.v20080605-1800.jar
deleted file mode 100644
index 5eaefd0..0000000
Binary files a/techniques/BRTracer/libs/org.eclipse.text_3.4.0.v20080605-1800.jar and /dev/null differ
diff --git a/techniques/BRTracer/libs/preferences-3.2.100-v20070522.jar b/techniques/BRTracer/libs/preferences-3.2.100-v20070522.jar
deleted file mode 100644
index 8ca9b2f..0000000
Binary files a/techniques/BRTracer/libs/preferences-3.2.100-v20070522.jar and /dev/null differ
diff --git a/techniques/BRTracer/pom.xml b/techniques/BRTracer/pom.xml
new file mode 100644
index 0000000..599a954
--- /dev/null
+++ b/techniques/BRTracer/pom.xml
@@ -0,0 +1,91 @@
+
+ 4.0.0
+ BRTracer
+ BRTracer
+ 0.0.1-SNAPSHOT
+
+ src
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ prepare-package
+
+ unpack-dependencies
+
+
+ ${project.build.directory}/classes
+ wvtool
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.1.1
+
+ BRTracer
+ false
+
+ jar-with-dependencies
+
+
+
+ org.brtracer.BRTracer
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+ openmind
+ OpenMind
+ http://repository.openmindonline.it/
+
+
+
+
+ org.dom4j
+ dom4j
+ 2.1.1
+
+
+ edu.udo.cs
+ wvtool
+ 1.0.0
+ system
+ ${project.basedir}/libs/wvtool.jar
+
+
+ org.eclipse.jdt
+ org.eclipse.jdt.core
+ 3.4.2-20081006
+
+
+ org.eclipse.core
+ org.eclipse.core.runtime
+ 3.4.0-20081006
+
+
+
diff --git a/techniques/BugLocator/.classpath b/techniques/BugLocator/.classpath
deleted file mode 100644
index e87665d..0000000
--- a/techniques/BugLocator/.classpath
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/techniques/BugLocator/.project b/techniques/BugLocator/.project
deleted file mode 100644
index 522b38c..0000000
--- a/techniques/BugLocator/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- BugLocator
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/techniques/BugLocator/bin/org/buglocator/Bug.class b/techniques/BugLocator/bin/org/buglocator/Bug.class
deleted file mode 100644
index 4f2a8b6..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/Bug.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/BugLocator.class b/techniques/BugLocator/bin/org/buglocator/BugLocator.class
deleted file mode 100644
index 1ba9ed6..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/BugLocator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/Core.class b/techniques/BugLocator/bin/org/buglocator/Core.class
deleted file mode 100644
index a213d1a..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/Core.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/XMLCreator.class b/techniques/BugLocator/bin/org/buglocator/XMLCreator.class
deleted file mode 100644
index dead8ec..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/XMLCreator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/Bug.class b/techniques/BugLocator/bin/org/buglocator/bug/Bug.class
deleted file mode 100644
index b25cbd4..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/Bug.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/BugCorpusCreator.class b/techniques/BugLocator/bin/org/buglocator/bug/BugCorpusCreator.class
deleted file mode 100644
index 40e8c97..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/BugCorpusCreator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/BugSimilarity.class b/techniques/BugLocator/bin/org/buglocator/bug/BugSimilarity.class
deleted file mode 100644
index b5f6a50..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/BugSimilarity.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/BugVector$1.class b/techniques/BugLocator/bin/org/buglocator/bug/BugVector$1.class
deleted file mode 100644
index dca563b..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/BugVector$1.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/BugVector.class b/techniques/BugLocator/bin/org/buglocator/bug/BugVector.class
deleted file mode 100644
index f1e7f74..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/BugVector.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/bug/SimilarityDistribution.class b/techniques/BugLocator/bin/org/buglocator/bug/SimilarityDistribution.class
deleted file mode 100644
index 5af9ed2..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/bug/SimilarityDistribution.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/evaluation/Evaluation.class b/techniques/BugLocator/bin/org/buglocator/evaluation/Evaluation.class
deleted file mode 100644
index 76c506b..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/evaluation/Evaluation.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/evaluation/Rank.class b/techniques/BugLocator/bin/org/buglocator/evaluation/Rank.class
deleted file mode 100644
index 4c32f54..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/evaluation/Rank.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/property/Property.class b/techniques/BugLocator/bin/org/buglocator/property/Property.class
deleted file mode 100644
index ad8686f..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/property/Property.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeCorpusCreator.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeCorpusCreator.class
deleted file mode 100644
index 8aa1586..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeCorpusCreator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeVectorCreator.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeVectorCreator.class
deleted file mode 100644
index 207a4d2..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/CodeVectorCreator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/Indexer.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/Indexer.class
deleted file mode 100644
index 82d3b3b..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/Indexer.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/LenScore.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/LenScore.class
deleted file mode 100644
index fcc5eb2..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/LenScore.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/Similarity.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/Similarity.class
deleted file mode 100644
index a67c51e..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/Similarity.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/ASTCreator.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/ASTCreator.class
deleted file mode 100644
index d6daa48..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/ASTCreator.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/Corpus.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/Corpus.class
deleted file mode 100644
index 5fb61a6..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/Corpus.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileDetector.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileDetector.class
deleted file mode 100644
index d07c579..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileDetector.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$1.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$1.class
deleted file mode 100644
index ad2fcd5..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$1.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$2.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$2.class
deleted file mode 100644
index 41fc65c..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$2.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$3.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$3.class
deleted file mode 100644
index 9380175..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser$3.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser.class b/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser.class
deleted file mode 100644
index 93e97bd..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/sourcecode/ast/FileParser.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/utils/PorterStemmer.class b/techniques/BugLocator/bin/org/buglocator/utils/PorterStemmer.class
deleted file mode 100644
index 3cbfef6..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/utils/PorterStemmer.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/utils/Splitter.class b/techniques/BugLocator/bin/org/buglocator/utils/Splitter.class
deleted file mode 100644
index 9cb6487..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/utils/Splitter.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/utils/Stem.class b/techniques/BugLocator/bin/org/buglocator/utils/Stem.class
deleted file mode 100644
index 21a25d7..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/utils/Stem.class and /dev/null differ
diff --git a/techniques/BugLocator/bin/org/buglocator/utils/Stopword.class b/techniques/BugLocator/bin/org/buglocator/utils/Stopword.class
deleted file mode 100644
index e2c37d8..0000000
Binary files a/techniques/BugLocator/bin/org/buglocator/utils/Stopword.class and /dev/null differ
diff --git a/techniques/BugLocator/libs/args4j-2.0.6.jar b/techniques/BugLocator/libs/args4j-2.0.6.jar
deleted file mode 100644
index fe8aa60..0000000
Binary files a/techniques/BugLocator/libs/args4j-2.0.6.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/contenttype-3.2.0-v20060603.jar b/techniques/BugLocator/libs/contenttype-3.2.0-v20060603.jar
deleted file mode 100644
index 816e3fc..0000000
Binary files a/techniques/BugLocator/libs/contenttype-3.2.0-v20060603.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/dom4j-1.6.1.jar b/techniques/BugLocator/libs/dom4j-1.6.1.jar
deleted file mode 100644
index c8c4dbb..0000000
Binary files a/techniques/BugLocator/libs/dom4j-1.6.1.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/lucene-core-2.9.4.jar b/techniques/BugLocator/libs/lucene-core-2.9.4.jar
deleted file mode 100644
index 898d400..0000000
Binary files a/techniques/BugLocator/libs/lucene-core-2.9.4.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/mysql-connector-java-5.1.13-bin.jar b/techniques/BugLocator/libs/mysql-connector-java-5.1.13-bin.jar
deleted file mode 100644
index ef5d71e..0000000
Binary files a/techniques/BugLocator/libs/mysql-connector-java-5.1.13-bin.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar b/techniques/BugLocator/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar
deleted file mode 100644
index cfce073..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar b/techniques/BugLocator/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar
deleted file mode 100644
index 89131bb..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.core.resources_3.4.2.R34x_v20090126.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar b/techniques/BugLocator/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar
deleted file mode 100644
index 49bbc18..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.core.runtime_3.4.0.v20080512.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar b/techniques/BugLocator/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
deleted file mode 100644
index ecac7a8..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar b/techniques/BugLocator/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
deleted file mode 100644
index 1cd6ea2..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar b/techniques/BugLocator/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar
deleted file mode 100644
index ad1c58f..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.jface_3.4.1.M20080827-2000.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar b/techniques/BugLocator/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
deleted file mode 100644
index 673f3f5..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/org.eclipse.text_3.4.0.v20080605-1800.jar b/techniques/BugLocator/libs/org.eclipse.text_3.4.0.v20080605-1800.jar
deleted file mode 100644
index 5eaefd0..0000000
Binary files a/techniques/BugLocator/libs/org.eclipse.text_3.4.0.v20080605-1800.jar and /dev/null differ
diff --git a/techniques/BugLocator/libs/preferences-3.2.100-v20070522.jar b/techniques/BugLocator/libs/preferences-3.2.100-v20070522.jar
deleted file mode 100644
index 8ca9b2f..0000000
Binary files a/techniques/BugLocator/libs/preferences-3.2.100-v20070522.jar and /dev/null differ
diff --git a/techniques/BugLocator/pom.xml b/techniques/BugLocator/pom.xml
new file mode 100644
index 0000000..b1dadc1
--- /dev/null
+++ b/techniques/BugLocator/pom.xml
@@ -0,0 +1,91 @@
+
+ 4.0.0
+ BugLocator
+ BugLocator
+ 0.0.1-SNAPSHOT
+
+ src
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ prepare-package
+
+ unpack-dependencies
+
+
+ ${project.build.directory}/classes
+ wvtool
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.1.1
+
+ BugLocator
+ false
+
+ jar-with-dependencies
+
+
+
+ org.buglocator.BugLocator
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+ openmind
+ OpenMind
+ http://repository.openmindonline.it/
+
+
+
+
+ org.dom4j
+ dom4j
+ 2.1.1
+
+
+ edu.udo.cs
+ wvtool
+ 1.0.0
+ system
+ ${project.basedir}/libs/wvtool.jar
+
+
+ org.eclipse.jdt
+ org.eclipse.jdt.core
+ 3.4.2-20081006
+
+
+ org.eclipse.core
+ org.eclipse.core.runtime
+ 3.4.0-20081006
+
+
+
diff --git a/techniques/Locus/.classpath b/techniques/Locus/.classpath
deleted file mode 100644
index 59673b1..0000000
--- a/techniques/Locus/.classpath
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/techniques/Locus/.project b/techniques/Locus/.project
deleted file mode 100644
index 7e29456..0000000
--- a/techniques/Locus/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- Locus
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/techniques/Locus/lib/commons-math3-3.5.jar b/techniques/Locus/lib/commons-math3-3.5.jar
deleted file mode 100644
index db99f8c..0000000
Binary files a/techniques/Locus/lib/commons-math3-3.5.jar and /dev/null differ
diff --git a/techniques/Locus/lib/dom4j-1.6.jar b/techniques/Locus/lib/dom4j-1.6.jar
deleted file mode 100644
index e19f4ce..0000000
Binary files a/techniques/Locus/lib/dom4j-1.6.jar and /dev/null differ
diff --git a/techniques/Locus/lib/jsoup-1.8.2.jar b/techniques/Locus/lib/jsoup-1.8.2.jar
deleted file mode 100644
index 74ea084..0000000
Binary files a/techniques/Locus/lib/jsoup-1.8.2.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.core.contenttype_3.4.200.v20140207-1251.jar b/techniques/Locus/lib/org.eclipse.core.contenttype_3.4.200.v20140207-1251.jar
deleted file mode 100644
index 602bb9f..0000000
Binary files a/techniques/Locus/lib/org.eclipse.core.contenttype_3.4.200.v20140207-1251.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.core.jobs_3.6.1.v20141014-1248.jar b/techniques/Locus/lib/org.eclipse.core.jobs_3.6.1.v20141014-1248.jar
deleted file mode 100644
index f165abb..0000000
Binary files a/techniques/Locus/lib/org.eclipse.core.jobs_3.6.1.v20141014-1248.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.core.resources_3.9.1.v20140825-1431.jar b/techniques/Locus/lib/org.eclipse.core.resources_3.9.1.v20140825-1431.jar
deleted file mode 100644
index c4cac5a..0000000
Binary files a/techniques/Locus/lib/org.eclipse.core.resources_3.9.1.v20140825-1431.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.core.runtime_3.10.0.v20140318-2214.jar b/techniques/Locus/lib/org.eclipse.core.runtime_3.10.0.v20140318-2214.jar
deleted file mode 100644
index ef56d1e..0000000
Binary files a/techniques/Locus/lib/org.eclipse.core.runtime_3.10.0.v20140318-2214.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar b/techniques/Locus/lib/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar
deleted file mode 100644
index fee382e..0000000
Binary files a/techniques/Locus/lib/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.equinox.preferences_3.5.200.v20140224-1527.jar b/techniques/Locus/lib/org.eclipse.equinox.preferences_3.5.200.v20140224-1527.jar
deleted file mode 100644
index 02dbb68..0000000
Binary files a/techniques/Locus/lib/org.eclipse.equinox.preferences_3.5.200.v20140224-1527.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.jdt.compiler.apt_1.1.0.v20150122-0735.jar b/techniques/Locus/lib/org.eclipse.jdt.compiler.apt_1.1.0.v20150122-0735.jar
deleted file mode 100644
index cb55538..0000000
Binary files a/techniques/Locus/lib/org.eclipse.jdt.compiler.apt_1.1.0.v20150122-0735.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.jdt.compiler.tool_1.0.300.v20150114-1827.jar b/techniques/Locus/lib/org.eclipse.jdt.compiler.tool_1.0.300.v20150114-1827.jar
deleted file mode 100644
index 63a8e5f..0000000
Binary files a/techniques/Locus/lib/org.eclipse.jdt.compiler.tool_1.0.300.v20150114-1827.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.jdt.core_3.10.2.v20150120-1634.jar b/techniques/Locus/lib/org.eclipse.jdt.core_3.10.2.v20150120-1634.jar
deleted file mode 100644
index 6a1749d..0000000
Binary files a/techniques/Locus/lib/org.eclipse.jdt.core_3.10.2.v20150120-1634.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.jface_3.10.2.v20141021-1035.jar b/techniques/Locus/lib/org.eclipse.jface_3.10.2.v20141021-1035.jar
deleted file mode 100644
index 78ecaf3..0000000
Binary files a/techniques/Locus/lib/org.eclipse.jface_3.10.2.v20141021-1035.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.osgi.source_3.8.2.v20130124-134944.jar b/techniques/Locus/lib/org.eclipse.osgi.source_3.8.2.v20130124-134944.jar
deleted file mode 100644
index 1a03df3..0000000
Binary files a/techniques/Locus/lib/org.eclipse.osgi.source_3.8.2.v20130124-134944.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.osgi.util_3.3.0.v20131023-1243.jar b/techniques/Locus/lib/org.eclipse.osgi.util_3.3.0.v20131023-1243.jar
deleted file mode 100644
index 6d8cfb0..0000000
Binary files a/techniques/Locus/lib/org.eclipse.osgi.util_3.3.0.v20131023-1243.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.osgi_3.8.2.v20130124-134944.jar b/techniques/Locus/lib/org.eclipse.osgi_3.8.2.v20130124-134944.jar
deleted file mode 100644
index 47b3653..0000000
Binary files a/techniques/Locus/lib/org.eclipse.osgi_3.8.2.v20130124-134944.jar and /dev/null differ
diff --git a/techniques/Locus/lib/org.eclipse.text_3.5.300.v20130515-1451.jar b/techniques/Locus/lib/org.eclipse.text_3.5.300.v20130515-1451.jar
deleted file mode 100644
index 6170fbf..0000000
Binary files a/techniques/Locus/lib/org.eclipse.text_3.5.300.v20130515-1451.jar and /dev/null differ
diff --git a/techniques/Locus/pom.xml b/techniques/Locus/pom.xml
new file mode 100644
index 0000000..e2ffbca
--- /dev/null
+++ b/techniques/Locus/pom.xml
@@ -0,0 +1,79 @@
+
+ 4.0.0
+ Locus
+ Locus
+ 0.0.1-SNAPSHOT
+
+ src
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ prepare-package
+
+ unpack-dependencies
+
+
+ ${project.build.directory}/classes
+ changedistiller
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.1.1
+
+ Locus
+ false
+
+ jar-with-dependencies
+
+
+
+ main.Main
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+ org.dom4j
+ dom4j
+ 2.1.1
+
+
+ ch.uzh.ifi.seal
+ changedistiller
+ 0.0.1
+ system
+ ${project.basedir}/lib/changedistiller-0.0.1-SNAPSHOT-jar-with-dependencies.jar
+
+
+ org.eclipse.jdt
+ org.eclipse.jdt.core
+ 3.10.0
+
+
+
diff --git a/techniques/Locus/src/miningChanges/CorpusCreation.java b/techniques/Locus/src/miningChanges/CorpusCreation.java
index 538737f..276bbac 100644
--- a/techniques/Locus/src/miningChanges/CorpusCreation.java
+++ b/techniques/Locus/src/miningChanges/CorpusCreation.java
@@ -22,7 +22,7 @@ public class CorpusCreation {
public static String loc = main.Main.settings.get("workingLoc");
public static String repo = main.Main.settings.get("repoDir");
public static HashSet concernedCommits;
- public static HashMap changeMap;
+ public static HashSet changeMap;
public static HashMap sourceFileIndex;
public static void getCommitsOneLine() throws Exception{
@@ -176,16 +176,15 @@ public static boolean processHunks() throws Exception {
count++;
//System.out.println(count + ":" + concernedCommits.size());
- if (!changeMap.containsKey(hash)) continue;
+ if (!changeMap.contains(hash)) continue;
//System.out.println(fullHash);
// adaptpr for project ChangeLocator
- String fullHash = changeMap.get(hash);
- String parentPath = revisionLoc + File.separator + fullHash.substring(0,2)+ File.separator +fullHash.substring(2,4);
- String commitFile = parentPath + File.separator + fullHash + ".txt";
+ String parentPath = revisionLoc + File.separator + hash.substring(0,2)+ File.separator +hash.substring(2,4);
+ String commitFile = parentPath + File.separator + hash + ".txt";
file = new File(parentPath);
- if (!file.exists()) file.mkdir();
+ if (!file.exists()) file.mkdirs();
file = new File(commitFile);
if (!file.exists() || file.length() == 0) {
diff --git a/techniques/Locus/src/miningChanges/EvaluationMetric.java b/techniques/Locus/src/miningChanges/EvaluationMetric.java
index 7f4b88d..cdf4144 100644
--- a/techniques/Locus/src/miningChanges/EvaluationMetric.java
+++ b/techniques/Locus/src/miningChanges/EvaluationMetric.java
@@ -14,6 +14,7 @@ public static double MRR(List> ranks) {
if (ranks.get(i).size() > 0)
size++;
}
+ if (size == 0) return 0;
return ans / size;
}
@@ -43,6 +44,7 @@ public static double MAP(List> ranks) {
if (ranks.get(i).size() > 0)
size++;
}
+ if (size == 0) return 0;
return ans / size;
}
@@ -71,6 +73,7 @@ public static double[] topN(List> ranks, int N) {
}
}
}
+ if (size == 0) size = 1; // to avoid NaN score
int tot = 0;
for (int i = 0; i < N; i++) {
results[i] = (rank[i] + tot) * 1.0 / size;
diff --git a/techniques/Locus/src/miningChanges/ProduceChangeLevelResults.java b/techniques/Locus/src/miningChanges/ProduceChangeLevelResults.java
index a80da3c..77cca55 100644
--- a/techniques/Locus/src/miningChanges/ProduceChangeLevelResults.java
+++ b/techniques/Locus/src/miningChanges/ProduceChangeLevelResults.java
@@ -80,7 +80,7 @@ public void loadRevisionTime() throws ParseException {
String[] splits = line.split("\t");
String revisionNO = splits[0];
Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy Z", Locale.ENGLISH).parse(splits[2]);
- revisionTime.put(revisionNO.substring(0,7), date.getTime());
+ revisionTime.put(revisionNO, date.getTime());
}
}
diff --git a/techniques/Locus/src/miningChanges/ProduceFileLevelResults.java b/techniques/Locus/src/miningChanges/ProduceFileLevelResults.java
index 1dca94f..7ab30bc 100644
--- a/techniques/Locus/src/miningChanges/ProduceFileLevelResults.java
+++ b/techniques/Locus/src/miningChanges/ProduceFileLevelResults.java
@@ -124,10 +124,10 @@ public void loadFileSuspiciousScore() throws Exception {
if (description.contains("bug") || description.contains("patch") ||
description.contains("fix") || description.contains("issue")) {
// if (description.contains("fix") || description.contains("bug")) {
- isCommitFix.put(hash.substring(0, 7), true);
+ isCommitFix.put(hash, true);
lines.add(hash + "\t1");
} else {
- isCommitFix.put(hash.substring(0, 7), false);
+ isCommitFix.put(hash, false);
lines.add(hash + "\t0");
}
}
@@ -136,7 +136,7 @@ public void loadFileSuspiciousScore() throws Exception {
lines = FileToLines.fileToLines(commitFix);
for (String line : lines) {
String[] split = line.split("\t");
- isCommitFix.put(split[0].substring(0,7), split[1].equals("1"));
+ isCommitFix.put(split[0], split[1].equals("1"));
}
}
@@ -214,7 +214,8 @@ public void integrateResults() {
max = fixSuspicious.get(sid);
for (int sid : fixSuspicious.keySet())
- fixSuspicious.put(sid, fixSuspicious.get(sid) / max);
+ if (max > 0.0)
+ fixSuspicious.put(sid, fixSuspicious.get(sid) / max);
//calculate finalResults
for (String change : results.keySet()) {
@@ -242,10 +243,10 @@ public void integrateResults() {
double score = finalRanks.get(r).getValue();
String filename = sourceFileIndex.get(sid);
- // Àüü ·©Å·Á¤º¸ ÀúÀå
+ // ��ü ��ŷ���� ����
fullRanks.add(r + "\t" + score + "\t" + filename);
- // answer¿¡ ´ëÇÑ °á°ú¸¸ ÀúÀå.
+ // answer�� ���� ����� ����.
if (!ansFileIndices.contains(sid)) continue;
rawRanks.add(bid + "\t" +filename + "\t" + r + "\t" + score );
rank.add(r);
diff --git a/techniques/Locus/src/preprocess/ExtractCommits.java b/techniques/Locus/src/preprocess/ExtractCommits.java
index 25754b3..609bcac 100644
--- a/techniques/Locus/src/preprocess/ExtractCommits.java
+++ b/techniques/Locus/src/preprocess/ExtractCommits.java
@@ -20,7 +20,7 @@ public class ExtractCommits {
public static String loc = main.Main.settings.get("workingLoc");
public static String repo = main.Main.settings.get("repoDir");
public static HashSet concernedCommits;
- public static HashMap changeMap;
+ public static HashSet changeMap;
public static HashMap changeTime;
public static void indexHunks() throws Exception {
getCommitsOneLine();
@@ -91,17 +91,14 @@ public static void extractHunks() throws Exception {
int max = concernedCommits.size();
for (String hash : concernedCommits) {
count++;
- if (!changeMap.containsKey(hash)) continue;
+ if (!changeMap.contains(hash)) continue;
-
- String fullHash = changeMap.get(hash);
-
- File parentPath = new File(revisionLoc + File.separator + fullHash.substring(0,2)+ File.separator +fullHash.substring(2,4));
+ File parentPath = new File(revisionLoc + File.separator + hash.substring(0,2) + File.separator + hash.substring(2,4));
//file = new File(revisionLoc + File.separator + fullHash);
if (!parentPath.exists())
parentPath.mkdirs();
- String commitFile = parentPath.getAbsolutePath() + File.separator + fullHash + ".txt";
+ String commitFile = parentPath.getAbsolutePath() + File.separator + hash + ".txt";
file = new File(commitFile);
if (!file.exists()) {
String content = GitHelp.gitShow(hash, repo);
diff --git a/techniques/Locus/src/utils/ChangeLocator.java b/techniques/Locus/src/utils/ChangeLocator.java
index bdbd057..e518515 100644
--- a/techniques/Locus/src/utils/ChangeLocator.java
+++ b/techniques/Locus/src/utils/ChangeLocator.java
@@ -5,13 +5,14 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Locale;
public class ChangeLocator {
- public static HashMap shortChangeMap = null;
+ public static HashSet shortChangeMap = null;
- public static HashMap getShortChangeMap() {
+ public static HashSet getShortChangeMap() {
if (shortChangeMap == null) {
shortChangeMap = readShortChangeMap();
}
@@ -30,12 +31,12 @@ public static HashMap getChangeTime() throws ParseException {
return changeTime;
}
- public static HashMap readShortChangeMap() {
- HashMap changeMap = new HashMap();
+ public static HashSet readShortChangeMap() {
+ HashSet changeMap = new HashSet();
List lines = FileToLines.fileToLines(main.Main.settings.get("workingLoc") + File.separator + "logOneline.txt");
for (String line : lines) {
String[] split = line.split("\t");
- changeMap.put(split[0].substring(0, 7), split[0]);
+ changeMap.add(split[0]);
}
return changeMap;
}
diff --git a/techniques/Locus/src/utils/GitHelp.java b/techniques/Locus/src/utils/GitHelp.java
index 27c1cd7..a661b05 100644
--- a/techniques/Locus/src/utils/GitHelp.java
+++ b/techniques/Locus/src/utils/GitHelp.java
@@ -103,7 +103,7 @@ public static List readFromTextGIT(String filename) {
BufferedReader bw = new BufferedReader(new FileReader(new File(filename)));
line = bw.readLine();
while ( line != null) {
- hashId = line.substring(7);
+ hashId = line.substring(8, 19);
line = bw.readLine();
if (!line.startsWith("Author")) line = bw.readLine();
int nameStart = line.indexOf(":") + 1;
diff --git a/techniques/releases/AmaLgam.jar b/techniques/releases/AmaLgam.jar
index 7e0f899..61050b7 100644
Binary files a/techniques/releases/AmaLgam.jar and b/techniques/releases/AmaLgam.jar differ
diff --git a/techniques/releases/BLIA.jar b/techniques/releases/BLIA.jar
index 4e7bc99..f6dfdfb 100644
Binary files a/techniques/releases/BLIA.jar and b/techniques/releases/BLIA.jar differ
diff --git a/techniques/releases/BLUiR.jar b/techniques/releases/BLUiR.jar
index b6d3992..a0cafb6 100644
Binary files a/techniques/releases/BLUiR.jar and b/techniques/releases/BLUiR.jar differ
diff --git a/techniques/releases/BRTracer.jar b/techniques/releases/BRTracer.jar
index a4be207..0b3bb50 100644
Binary files a/techniques/releases/BRTracer.jar and b/techniques/releases/BRTracer.jar differ
diff --git a/techniques/releases/BugLocator.jar b/techniques/releases/BugLocator.jar
index f416c38..3460c6e 100644
Binary files a/techniques/releases/BugLocator.jar and b/techniques/releases/BugLocator.jar differ
diff --git a/techniques/releases/Locus.jar b/techniques/releases/Locus.jar
index 46d25d1..b94d06b 100644
Binary files a/techniques/releases/Locus.jar and b/techniques/releases/Locus.jar differ
diff --git a/techniques/releases/indri/indri-5.10.tar.gz b/techniques/releases/indri/indri-5.10.tar.gz
deleted file mode 100644
index b2c3510..0000000
Binary files a/techniques/releases/indri/indri-5.10.tar.gz and /dev/null differ
diff --git a/techniques/releases/indri/indri-5.11.tar.gz b/techniques/releases/indri/indri-5.15.tar.gz
similarity index 64%
rename from techniques/releases/indri/indri-5.11.tar.gz
rename to techniques/releases/indri/indri-5.15.tar.gz
index 92f7ca8..c6674e6 100644
Binary files a/techniques/releases/indri/indri-5.11.tar.gz and b/techniques/releases/indri/indri-5.15.tar.gz differ
diff --git a/techniques/releases/indri/indri-5.6.tar.gz b/techniques/releases/indri/indri-5.6.tar.gz
deleted file mode 100644
index 7fae02e..0000000
Binary files a/techniques/releases/indri/indri-5.6.tar.gz and /dev/null differ