From 6fad9eea84800b72c07b5032960be55b5cbd5079 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Mon, 6 Nov 2017 18:49:29 +0100 Subject: [PATCH] logic: added all previous java version to Java language standard selection --- bin/test/data/log/test_log.txt | 210 ++++++++++++++++++ .../java/com/sourcetrail/JavaIndexer.java | 41 +++- .../shared_types/SharedIndexerCommand.cpp | 2 + src/lib/settings/SourceGroupSettingsJava.cpp | 2 +- .../data/indexer/IndexerCommandJava.cpp | 7 + .../data/indexer/IndexerCommandJava.h | 4 + .../data/parser/java/JavaEnvironment.cpp | 9 +- .../data/parser/java/JavaEnvironment.h | 2 +- src/lib_java/data/parser/java/JavaParser.cpp | 6 +- src/lib_java/data/parser/java/JavaParser.h | 5 +- src/lib_java/project/SourceGroupJava.cpp | 4 +- src/test/JavaIndexSampleProjectsTestSuite.h | 2 +- 12 files changed, 279 insertions(+), 15 deletions(-) diff --git a/bin/test/data/log/test_log.txt b/bin/test/data/log/test_log.txt index 451050b7..f96b041c 100644 --- a/bin/test/data/log/test_log.txt +++ b/bin/test/data/log/test_log.txt @@ -40,212 +40,422 @@ TextAccess.cpp WARNING: Tried to access index 10. Maximum index is 8 TextAccess.cpp WARNING: Line numbers start with one, is 0 TextAccess.cpp WARNING: Line numbers start with one, is 0 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: input.cc + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/SourceFileInfoExtractor.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/core/resolution/Context.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/core/resolution/ContextHelper.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/declarations/common/MethodDeclarationCommonLogic.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparser/Navigator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparser/package-info.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/DefaultVisitorAdapter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFacade.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/LambdaArgumentTypePlaceholder.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/package-info.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/TypeExtractor.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/UnsolvedSymbolException.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/AbstractJavaParserContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/AbstractMethodLikeDeclarationContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/AnonymousClassDeclarationContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/CatchClauseContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ClassOrInterfaceDeclarationContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/CompilationUnitContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ConstructorContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ContextHelper.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/EnumDeclarationContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ForechStatementContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ForStatementContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/JavaParserTypeDeclarationAdapter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/LambdaExprContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/StatementContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/SwitchEntryContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/TryWithResourceContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/DefaultConstructorDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/Helper.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserAnnotationDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserAnonymousClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserConstructorDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserEnumConstantDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserEnumDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserFieldDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserInterfaceDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserMethodDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserParameterDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserSymbolDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserTypeAdapter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserTypeVariableDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarators/AbstractSymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarators/FieldSymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarators/NoSymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarators/ParameterSymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/declarators/VariableSymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistConstructorDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistEnumDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistFactory.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistFieldDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistInterfaceDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistMethodDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistParameterDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistTypeDeclarationAdapter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistTypeParameter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/JavassistUtils.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javassistmodel/package-info.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/model/typesystem/LazyType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/model/typesystem/ReferenceTypeImpl.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/package-info.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionClassAdapter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionConstructorDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionEnumDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionFactory.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionFieldDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionInterfaceDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionMethodDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionMethodResolutionLogic.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionParameterDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionTypeParameter.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/comparators/ClassComparator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/comparators/MethodComparator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/reflectionmodel/comparators/ParameterComparator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/ConstructorResolutionLogic.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/MethodResolutionLogic.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/SymbolDeclarator.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/SymbolSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/typesolvers/CombinedTypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/typesolvers/JarTypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/typesolvers/JavaParserTypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/typesolvers/MemoryTypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/resolution/typesolvers/ReflectionTypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/AbstractClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/AbstractTypeDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/ConfilictingGenericTypesException.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/FunctionalInterfaceLogic.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/InferenceContext.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/InferenceVariableType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-logic/com/github/javaparser/symbolsolver/logic/ObjectProvider.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/AccessLevel.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/AnnotationDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/ClassDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/ConstructorDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/Declaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/EnumDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/FieldDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/HasAccessLevel.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/InterfaceDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/MethodAmbiguityException.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/MethodDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/MethodLikeDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/ParameterDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/ReferenceTypeDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/TypeDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/TypeParameterDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/TypeParametrizable.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/declarations/ValueDeclaration.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/methods/MethodUsage.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/resolution/SymbolReference.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/resolution/TypeSolver.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/resolution/UnsolvedSymbolException.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/resolution/Value.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/ArrayType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/LambdaConstraintType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/NullType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/PrimitiveType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/ReferenceType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/Type.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/TypeTransformer.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/TypeVariable.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/VoidType.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/Wildcard.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/parametrization/TypeParametersMap.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/parametrization/TypeParameterValueProvider.java + INFO: Indexer - using language standard 1.8 INFO: Indexer - indexing source file: data/JavaIndexSampleProjectsTestSuite/JavaSymbolSolver060/src/java-symbol-solver-model/com/github/javaparser/symbolsolver/model/typesystem/parametrization/TypeParametrized.java + INFO: Indexer - using language standard 1.8 diff --git a/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java b/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java index f98caabc..66f9308a 100644 --- a/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java +++ b/java_indexer/src/main/java/com/sourcetrail/JavaIndexer.java @@ -19,12 +19,12 @@ import org.eclipse.jdt.core.dom.PackageDeclaration; public class JavaIndexer { - public static void processFile(int address, String filePath, String fileContent, String classPath, int verbose) + public static void processFile(int address, String filePath, String fileContent, String languageStandard, String classPath, int verbose) { - processFile(new JavaIndexerAstVisitorClient(address), filePath, fileContent, classPath, verbose); + processFile(new JavaIndexerAstVisitorClient(address), filePath, fileContent, languageStandard, classPath, verbose); } - public static void processFile(AstVisitorClient astVisitorClient, String filePath, String fileContent, String classPath, int verbose) + public static void processFile(AstVisitorClient astVisitorClient, String filePath, String fileContent, String languageStandard, String classPath, int verbose) { astVisitorClient.logInfo("indexing source file: " + filePath); @@ -38,7 +38,40 @@ public class JavaIndexer parser.setStatementsRecovery(true); Hashtable options = JavaCore.getOptions(); - JavaCore.setComplianceOptions(JavaCore.VERSION_1_8, options); + + String convertedLanguageStandard; + switch (languageStandard) + { + case "1": + convertedLanguageStandard = JavaCore.VERSION_1_1; + break; + case "2": + convertedLanguageStandard = JavaCore.VERSION_1_2; + break; + case "3": + convertedLanguageStandard = JavaCore.VERSION_1_3; + break; + case "4": + convertedLanguageStandard = JavaCore.VERSION_1_4; + break; + case "5": + convertedLanguageStandard = JavaCore.VERSION_1_5; + break; + case "6": + convertedLanguageStandard = JavaCore.VERSION_1_6; + break; + case "7": + convertedLanguageStandard = JavaCore.VERSION_1_7; + break; + case "8": + default: + convertedLanguageStandard = JavaCore.VERSION_1_8; + break; + } + + astVisitorClient.logInfo("using language standard " + convertedLanguageStandard); + + JavaCore.setComplianceOptions(convertedLanguageStandard, options); parser.setCompilerOptions(options); parser.setUnitName(path.getFileName().toString()); diff --git a/src/lib/data/indexer/interprocess/shared_types/SharedIndexerCommand.cpp b/src/lib/data/indexer/interprocess/shared_types/SharedIndexerCommand.cpp index e5f5e8d7..5cfd50cd 100644 --- a/src/lib/data/indexer/interprocess/shared_types/SharedIndexerCommand.cpp +++ b/src/lib/data/indexer/interprocess/shared_types/SharedIndexerCommand.cpp @@ -39,6 +39,7 @@ void SharedIndexerCommand::fromLocal(IndexerCommand* indexerCommand) IndexerCommandJava* cmd = dynamic_cast(indexerCommand); setType(JAVA); + setLanguageStandard(cmd->getLanguageStandard()); setClassPaths(cmd->getClassPath()); } else @@ -85,6 +86,7 @@ std::shared_ptr SharedIndexerCommand::fromShared(const SharedInd indexerCommand.getSourceFilePath(), indexerCommand.getIndexedPaths(), indexerCommand.getExcludedPaths(), + indexerCommand.getLanguageStandard(), indexerCommand.getClassPaths() ); } diff --git a/src/lib/settings/SourceGroupSettingsJava.cpp b/src/lib/settings/SourceGroupSettingsJava.cpp index 743345a5..ce361aeb 100644 --- a/src/lib/settings/SourceGroupSettingsJava.cpp +++ b/src/lib/settings/SourceGroupSettingsJava.cpp @@ -47,7 +47,7 @@ bool SourceGroupSettingsJava::equals(std::shared_ptr other) std::vector SourceGroupSettingsJava::getAvailableLanguageStandards() const { - return std::vector(1, "8"); + return std::vector{"1", "2", "3", "4", "5", "6", "7", "8"}; } bool SourceGroupSettingsJava::getUseJreSystemLibrary() const diff --git a/src/lib_java/data/indexer/IndexerCommandJava.cpp b/src/lib_java/data/indexer/IndexerCommandJava.cpp index f08eab21..6f6940b9 100644 --- a/src/lib_java/data/indexer/IndexerCommandJava.cpp +++ b/src/lib_java/data/indexer/IndexerCommandJava.cpp @@ -9,9 +9,11 @@ IndexerCommandJava::IndexerCommandJava( const FilePath& sourceFilePath, const std::set& indexedPaths, const std::set& excludedPaths, + const std::string& languageStandard, const std::vector& classPath ) : IndexerCommand(sourceFilePath, indexedPaths, excludedPaths) + , m_languageStandard(languageStandard) , m_classPath(classPath) { } @@ -37,6 +39,11 @@ size_t IndexerCommandJava::getByteSize(size_t stringSize) const return size; } +std::string IndexerCommandJava::getLanguageStandard() const +{ + return m_languageStandard; +} + std::vector IndexerCommandJava::getClassPath() const { return m_classPath; diff --git a/src/lib_java/data/indexer/IndexerCommandJava.h b/src/lib_java/data/indexer/IndexerCommandJava.h index 799aa9e0..fbf369fb 100644 --- a/src/lib_java/data/indexer/IndexerCommandJava.h +++ b/src/lib_java/data/indexer/IndexerCommandJava.h @@ -17,15 +17,19 @@ public: const FilePath& sourceFilePath, const std::set& indexedPaths, const std::set& excludedPaths, + const std::string& languageStandard, const std::vector& classPath); virtual ~IndexerCommandJava(); virtual IndexerCommandType getIndexerCommandType() const override; virtual size_t getByteSize(size_t stringSize) const override; + std::string getLanguageStandard() const; + std::vector getClassPath() const; private: + const std::string m_languageStandard; std::vector m_classPath; }; diff --git a/src/lib_java/data/parser/java/JavaEnvironment.cpp b/src/lib_java/data/parser/java/JavaEnvironment.cpp index df541eea..b00a763a 100644 --- a/src/lib_java/data/parser/java/JavaEnvironment.cpp +++ b/src/lib_java/data/parser/java/JavaEnvironment.cpp @@ -37,18 +37,19 @@ bool JavaEnvironment::callStaticVoidMethod(std::string className, std::string me return false; } -bool JavaEnvironment::callStaticVoidMethod(std::string className, std::string methodName, int arg1, std::string arg2, std::string arg3, std::string arg4, int arg5) +bool JavaEnvironment::callStaticVoidMethod(std::string className, std::string methodName, int arg1, std::string arg2, std::string arg3, std::string arg4, std::string arg5, int arg6) { jclass javaClass = getJavaClass(className); - jmethodID javaMethodId = getJavaStaticMethod(javaClass, methodName, "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V"); + jmethodID javaMethodId = getJavaStaticMethod(javaClass, methodName, "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V"); if(javaMethodId != nullptr) { jint jarg1 = arg1; jstring jarg2 = m_env->NewStringUTF(arg2.c_str()); jstring jarg3 = m_env->NewStringUTF(arg3.c_str()); jstring jarg4 = m_env->NewStringUTF(arg4.c_str()); - jint jarg5 = arg5; - m_env->CallStaticVoidMethod(javaClass, javaMethodId, jarg1, jarg2, jarg3, jarg4, jarg5); + jstring jarg5 = m_env->NewStringUTF(arg5.c_str()); + jint jarg6 = arg6; + m_env->CallStaticVoidMethod(javaClass, javaMethodId, jarg1, jarg2, jarg3, jarg4, jarg5, jarg6); return true; } return false; diff --git a/src/lib_java/data/parser/java/JavaEnvironment.h b/src/lib_java/data/parser/java/JavaEnvironment.h index 6e8647ca..cf75554c 100644 --- a/src/lib_java/data/parser/java/JavaEnvironment.h +++ b/src/lib_java/data/parser/java/JavaEnvironment.h @@ -34,7 +34,7 @@ public: ~JavaEnvironment(); bool callStaticVoidMethod(std::string className, std::string methodName); bool callStaticVoidMethod(std::string className, std::string methodName, const std::string& arg1, const std::string& arg2, const std::string& arg3); - bool callStaticVoidMethod(std::string className, std::string methodName, int arg1, std::string arg2, std::string arg3, std::string arg4, int arg5); + bool callStaticVoidMethod(std::string className, std::string methodName, int arg1, std::string arg2, std::string arg3, std::string arg4, std::string arg5, int arg6); bool callStaticStringMethod(std::string className, std::string methodName, std::string& ret, const std::string& arg1); bool callStaticStringMethod(std::string className, std::string methodName, std::string& ret, const std::string& arg1, const std::string& arg2); diff --git a/src/lib_java/data/parser/java/JavaParser.cpp b/src/lib_java/data/parser/java/JavaParser.cpp index a5de51f3..15a1b55b 100644 --- a/src/lib_java/data/parser/java/JavaParser.cpp +++ b/src/lib_java/data/parser/java/JavaParser.cpp @@ -82,16 +82,17 @@ void JavaParser::buildIndex(std::shared_ptr indexerCommand) classPath += path.str() + ";"; } - buildIndex(indexerCommand->getSourceFilePath(), classPath, TextAccess::createFromFile(indexerCommand->getSourceFilePath())); + buildIndex(indexerCommand->getSourceFilePath(), indexerCommand->getLanguageStandard(), classPath, TextAccess::createFromFile(indexerCommand->getSourceFilePath())); } void JavaParser::buildIndex(const FilePath& filePath, std::shared_ptr textAccess) { - buildIndex(filePath, "", textAccess); + buildIndex(filePath, "8", "", textAccess); } void JavaParser::buildIndex( const FilePath& sourceFilePath, + const std::string& languageStandard, const std::string& classPath, std::shared_ptr textAccess) { @@ -113,6 +114,7 @@ void JavaParser::buildIndex( m_id, m_currentFilePath.str(), fileContent, + languageStandard, classPath, verbose ); diff --git a/src/lib_java/data/parser/java/JavaParser.h b/src/lib_java/data/parser/java/JavaParser.h index ff90b57f..186f214c 100644 --- a/src/lib_java/data/parser/java/JavaParser.h +++ b/src/lib_java/data/parser/java/JavaParser.h @@ -42,7 +42,10 @@ public: private: void buildIndex( - const FilePath& sourceFilePath, const std::string& classPath, std::shared_ptr textAccess); + const FilePath& sourceFilePath, + const std::string& languageStandard, + const std::string& classPath, + std::shared_ptr textAccess); // This macro makes available a variable T, the passed-in t. blablabla TODO: write somethign real here #define MAKE_PARAMS_0() diff --git a/src/lib_java/project/SourceGroupJava.cpp b/src/lib_java/project/SourceGroupJava.cpp index 184a168c..9d975f52 100644 --- a/src/lib_java/project/SourceGroupJava.cpp +++ b/src/lib_java/project/SourceGroupJava.cpp @@ -33,6 +33,8 @@ bool SourceGroupJava::prepareIndexing() std::vector> SourceGroupJava::getIndexerCommands( std::set* filesToIndex, bool fullRefresh) { + const std::string languageStandard = getSourceGroupSettingsJava()->getStandard(); + std::vector classPath = getClassPath(); std::set indexedPaths; @@ -61,7 +63,7 @@ std::vector> SourceGroupJava::getIndexerCommands if (filesToIndex->find(sourcePath) != filesToIndex->end()) { indexerCommands.push_back( - std::make_shared(sourcePath, indexedPaths, excludedPaths, classPath)); + std::make_shared(sourcePath, indexedPaths, excludedPaths, languageStandard, classPath)); filesToIndex->erase(sourcePath); } diff --git a/src/test/JavaIndexSampleProjectsTestSuite.h b/src/test/JavaIndexSampleProjectsTestSuite.h index b1bfa85c..915a596f 100644 --- a/src/test/JavaIndexSampleProjectsTestSuite.h +++ b/src/test/JavaIndexSampleProjectsTestSuite.h @@ -260,7 +260,7 @@ private: std::shared_ptr parserClient = std::make_shared(); JavaParser parser(parserClient, fileRegister); - std::shared_ptr command = std::make_shared(sourceFilePath, indexedPaths, excludedPaths, classpath); + std::shared_ptr command = std::make_shared(sourceFilePath, indexedPaths, excludedPaths, "8", classpath); parser.buildIndex(command);