< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java

Print this page




  24  */
  25 
  26 package com.sun.tools.javac.main;
  27 
  28 import java.io.FileWriter;
  29 import java.io.PrintWriter;
  30 import java.lang.module.ModuleDescriptor;
  31 import java.nio.file.Files;
  32 import java.nio.file.Path;
  33 import java.nio.file.Paths;
  34 import java.text.Collator;
  35 import java.util.Arrays;
  36 import java.util.Collections;
  37 import java.util.Comparator;
  38 import java.util.EnumSet;
  39 import java.util.Iterator;
  40 import java.util.LinkedHashSet;
  41 import java.util.Locale;
  42 import java.util.ServiceLoader;
  43 import java.util.Set;

  44 import java.util.TreeSet;
  45 import java.util.regex.Pattern;
  46 import java.util.stream.Collectors;
  47 import java.util.stream.StreamSupport;
  48 
  49 import javax.lang.model.SourceVersion;
  50 
  51 import jdk.internal.misc.VM;
  52 
  53 import com.sun.tools.doclint.DocLint;
  54 import com.sun.tools.javac.code.Lint;
  55 import com.sun.tools.javac.code.Lint.LintCategory;
  56 import com.sun.tools.javac.code.Source;
  57 import com.sun.tools.javac.code.Type;
  58 import com.sun.tools.javac.jvm.Profile;
  59 import com.sun.tools.javac.jvm.Target;
  60 import com.sun.tools.javac.platform.PlatformProvider;
  61 import com.sun.tools.javac.processing.JavacProcessingEnvironment;
  62 import com.sun.tools.javac.resources.CompilerProperties.Errors;
  63 import com.sun.tools.javac.util.Assert;


 278 
 279     D("-d", "opt.arg.directory", "opt.d", STANDARD, FILEMANAGER),
 280 
 281     S("-s", "opt.arg.directory", "opt.sourceDest", STANDARD, FILEMANAGER),
 282 
 283     H("-h", "opt.arg.directory", "opt.headerDest", STANDARD, FILEMANAGER),
 284 
 285     IMPLICIT("-implicit:", "opt.implicit", STANDARD, BASIC, ONEOF, "none", "class"),
 286 
 287     ENCODING("-encoding", "opt.arg.encoding", "opt.encoding", STANDARD, FILEMANAGER),
 288 
 289     SOURCE("-source", "opt.arg.release", "opt.source", STANDARD, BASIC) {
 290         @Override
 291         public void process(OptionHelper helper, String option, String operand) throws InvalidValueException {
 292             Source source = Source.lookup(operand);
 293             if (source == null) {
 294                 throw helper.newInvalidValueException(Errors.InvalidSource(operand));
 295             }
 296             super.process(helper, option, operand);
 297         }










 298     },
 299 
 300     TARGET("-target", "opt.arg.release", "opt.target", STANDARD, BASIC) {
 301         @Override
 302         public void process(OptionHelper helper, String option, String operand) throws InvalidValueException {
 303             Target target = Target.lookup(operand);
 304             if (target == null) {
 305                 throw helper.newInvalidValueException(Errors.InvalidTarget(operand));
 306             }
 307             super.process(helper, option, operand);










 308         }
 309     },
 310 
 311     RELEASE("--release", "opt.arg.release", "opt.release", STANDARD, BASIC) {
 312         @Override
 313         protected void help(Log log) {
 314             Iterable<PlatformProvider> providers =
 315                     ServiceLoader.load(PlatformProvider.class, Arguments.class.getClassLoader());
 316             Set<String> platforms = StreamSupport.stream(providers.spliterator(), false)
 317                                                  .flatMap(provider -> StreamSupport.stream(provider.getSupportedPlatformNames()
 318                                                                                                    .spliterator(),
 319                                                                                            false))
 320                                                  .collect(Collectors.toCollection(LinkedHashSet :: new));
 321 
 322             StringBuilder targets = new StringBuilder();
 323             String delim = "";
 324             for (String platform : platforms) {
 325                 targets.append(delim);
 326                 targets.append(platform);
 327                 delim = ", ";




  24  */
  25 
  26 package com.sun.tools.javac.main;
  27 
  28 import java.io.FileWriter;
  29 import java.io.PrintWriter;
  30 import java.lang.module.ModuleDescriptor;
  31 import java.nio.file.Files;
  32 import java.nio.file.Path;
  33 import java.nio.file.Paths;
  34 import java.text.Collator;
  35 import java.util.Arrays;
  36 import java.util.Collections;
  37 import java.util.Comparator;
  38 import java.util.EnumSet;
  39 import java.util.Iterator;
  40 import java.util.LinkedHashSet;
  41 import java.util.Locale;
  42 import java.util.ServiceLoader;
  43 import java.util.Set;
  44 import java.util.StringJoiner;
  45 import java.util.TreeSet;
  46 import java.util.regex.Pattern;
  47 import java.util.stream.Collectors;
  48 import java.util.stream.StreamSupport;
  49 
  50 import javax.lang.model.SourceVersion;
  51 
  52 import jdk.internal.misc.VM;
  53 
  54 import com.sun.tools.doclint.DocLint;
  55 import com.sun.tools.javac.code.Lint;
  56 import com.sun.tools.javac.code.Lint.LintCategory;
  57 import com.sun.tools.javac.code.Source;
  58 import com.sun.tools.javac.code.Type;
  59 import com.sun.tools.javac.jvm.Profile;
  60 import com.sun.tools.javac.jvm.Target;
  61 import com.sun.tools.javac.platform.PlatformProvider;
  62 import com.sun.tools.javac.processing.JavacProcessingEnvironment;
  63 import com.sun.tools.javac.resources.CompilerProperties.Errors;
  64 import com.sun.tools.javac.util.Assert;


 279 
 280     D("-d", "opt.arg.directory", "opt.d", STANDARD, FILEMANAGER),
 281 
 282     S("-s", "opt.arg.directory", "opt.sourceDest", STANDARD, FILEMANAGER),
 283 
 284     H("-h", "opt.arg.directory", "opt.headerDest", STANDARD, FILEMANAGER),
 285 
 286     IMPLICIT("-implicit:", "opt.implicit", STANDARD, BASIC, ONEOF, "none", "class"),
 287 
 288     ENCODING("-encoding", "opt.arg.encoding", "opt.encoding", STANDARD, FILEMANAGER),
 289 
 290     SOURCE("-source", "opt.arg.release", "opt.source", STANDARD, BASIC) {
 291         @Override
 292         public void process(OptionHelper helper, String option, String operand) throws InvalidValueException {
 293             Source source = Source.lookup(operand);
 294             if (source == null) {
 295                 throw helper.newInvalidValueException(Errors.InvalidSource(operand));
 296             }
 297             super.process(helper, option, operand);
 298         }
 299 
 300         @Override
 301         protected void help(Log log) {
 302             StringJoiner sj = new StringJoiner(", ");
 303             for(Source source :  Source.values()) {
 304                 if (source.isSupported())
 305                     sj.add(source.name);
 306             }
 307             super.help(log, log.localize(PrefixKind.JAVAC, descrKey, sj.toString()));
 308         }
 309     },
 310 
 311     TARGET("-target", "opt.arg.release", "opt.target", STANDARD, BASIC) {
 312         @Override
 313         public void process(OptionHelper helper, String option, String operand) throws InvalidValueException {
 314             Target target = Target.lookup(operand);
 315             if (target == null) {
 316                 throw helper.newInvalidValueException(Errors.InvalidTarget(operand));
 317             }
 318             super.process(helper, option, operand);
 319         }
 320 
 321         @Override
 322         protected void help(Log log) {
 323             StringJoiner sj = new StringJoiner(", ");
 324             for(Target target :  Target.values()) {
 325                 if (target.isSupported())
 326                     sj.add(target.name);
 327             }
 328             super.help(log, log.localize(PrefixKind.JAVAC, descrKey, sj.toString()));
 329         }
 330     },
 331 
 332     RELEASE("--release", "opt.arg.release", "opt.release", STANDARD, BASIC) {
 333         @Override
 334         protected void help(Log log) {
 335             Iterable<PlatformProvider> providers =
 336                     ServiceLoader.load(PlatformProvider.class, Arguments.class.getClassLoader());
 337             Set<String> platforms = StreamSupport.stream(providers.spliterator(), false)
 338                                                  .flatMap(provider -> StreamSupport.stream(provider.getSupportedPlatformNames()
 339                                                                                                    .spliterator(),
 340                                                                                            false))
 341                                                  .collect(Collectors.toCollection(LinkedHashSet :: new));
 342 
 343             StringBuilder targets = new StringBuilder();
 344             String delim = "";
 345             for (String platform : platforms) {
 346                 targets.append(delim);
 347                 targets.append(platform);
 348                 delim = ", ";


< prev index next >