From e6cbf802f2977d06854a65036a860740e24d3151 Mon Sep 17 00:00:00 2001 From: Mark Spruiell Date: Tue, 23 Aug 2016 17:28:35 -0700 Subject: Major changes in Java: - Moved existing Java mapping sources to java-compat subdirectory - Added new "Java 8" mapping in java subdirectory - Significant features of Java 8 mapping: - All classes in com.zeroc package (e.g., com.zeroc.Ice.Communicator) - New AMI mapping that uses java.util.concurrent.CompletableFuture - New AMD mapping that uses java.util.concurrent.CompletionStage - New mapping for out parameters - "holder" types have been eliminated - New mapping for optional types that uses JDK classes from java.util (e.g., java.util.Optional) - "TIE" classes are no longer supported or necessary; servant classes now only need to implement a generated interface - Moved IceGrid GUI to new mapping - The "Java Compat" mapping is provided only for backward compatibility to ease migration to Ice 3.7. The Slice compiler supports a new --compat option to generate code for this mapping. However, users are encouraged to migrate to the new mapping as soon as possible. --- cpp/src/Slice/Preprocessor.cpp | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'cpp/src/Slice/Preprocessor.cpp') diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp index 26f4bee7db1..dc7c4abdf77 100644 --- a/cpp/src/Slice/Preprocessor.cpp +++ b/cpp/src/Slice/Preprocessor.cpp @@ -140,7 +140,7 @@ namespace { vector -baseArgs(vector args, bool keepComments, const string& extraArgs, const string& fileName) +baseArgs(vector args, bool keepComments, const vector& extraArgs, const string& fileName) { if(keepComments) { @@ -161,10 +161,7 @@ baseArgs(vector args, bool keepComments, const string& extraArgs, const args.push_back(os.str()); } - if(!extraArgs.empty()) - { - args.push_back(extraArgs); - } + copy(extraArgs.begin(), extraArgs.end(), back_inserter(args)); args.push_back(fileName); return args; } @@ -172,7 +169,15 @@ baseArgs(vector args, bool keepComments, const string& extraArgs, const } FILE* -Slice::Preprocessor::preprocess(bool keepComments, const string& extraArgs) +Slice::Preprocessor::preprocess(bool keepComments, const string& extraArg) +{ + vector args; + args.push_back(extraArg); + return preprocess(keepComments, args); +} + +FILE* +Slice::Preprocessor::preprocess(bool keepComments, const vector& extraArgs) { if(!checkInputFile()) { @@ -287,7 +292,17 @@ Slice::Preprocessor::preprocess(bool keepComments, const string& extraArgs) bool Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, const vector& includePaths, - const string& extraArgs, const string& cppSourceExt, + const string& extraArg, const string& cppSourceExt, + const string& optValue) +{ + vector extraArgs; + extraArgs.push_back(extraArg); + return printMakefileDependencies(out, lang, includePaths, extraArgs, cppSourceExt, optValue); +} + +bool +Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, const vector& includePaths, + const vector& extraArgs, const string& cppSourceExt, const string& optValue) { if(!checkInputFile()) -- cgit v1.2.3