langtools/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java
changeset 38908 f0c186d76c8a
parent 38835 37280d52d723
child 39370 437ba9bd2582
equal deleted inserted replaced
38840:7693aa00e131 38908:f0c186d76c8a
   274                 codeWrap = proc.outerMap.wrapInTrialClass(Wrap.methodWrap(code));
   274                 codeWrap = proc.outerMap.wrapInTrialClass(Wrap.methodWrap(code));
   275                 break;
   275                 break;
   276         }
   276         }
   277         String requiredPrefix = identifier;
   277         String requiredPrefix = identifier;
   278         return computeSuggestions(codeWrap, cursor, anchor).stream()
   278         return computeSuggestions(codeWrap, cursor, anchor).stream()
   279                 .filter(s -> s.continuation.startsWith(requiredPrefix) && !s.continuation.equals(REPL_DOESNOTMATTER_CLASS_NAME))
   279                 .filter(s -> s.continuation().startsWith(requiredPrefix) && !s.continuation().equals(REPL_DOESNOTMATTER_CLASS_NAME))
   280                 .sorted(Comparator.comparing(s -> s.continuation))
   280                 .sorted(Comparator.comparing(s -> s.continuation()))
   281                 .collect(collectingAndThen(toList(), Collections::unmodifiableList));
   281                 .collect(collectingAndThen(toList(), Collections::unmodifiableList));
   282     }
   282     }
   283 
   283 
   284     private List<Suggestion> computeSuggestions(OuterWrap code, int cursor, int[] anchor) {
   284     private List<Suggestion> computeSuggestions(OuterWrap code, int cursor, int[] anchor) {
   285         AnalyzeTask at = proc.taskFactory.new AnalyzeTask(code);
   285         AnalyzeTask at = proc.taskFactory.new AnalyzeTask(code);
  1221 
  1221 
  1222     @Override
  1222     @Override
  1223     public String analyzeType(String code, int cursor) {
  1223     public String analyzeType(String code, int cursor) {
  1224         code = code.substring(0, cursor);
  1224         code = code.substring(0, cursor);
  1225         CompletionInfo completionInfo = analyzeCompletion(code);
  1225         CompletionInfo completionInfo = analyzeCompletion(code);
  1226         if (!completionInfo.completeness.isComplete)
  1226         if (!completionInfo.completeness().isComplete())
  1227             return null;
  1227             return null;
  1228         if (completionInfo.completeness == Completeness.COMPLETE_WITH_SEMI) {
  1228         if (completionInfo.completeness() == Completeness.COMPLETE_WITH_SEMI) {
  1229             code += ";";
  1229             code += ";";
  1230         }
  1230         }
  1231 
  1231 
  1232         OuterWrap codeWrap;
  1232         OuterWrap codeWrap;
  1233         switch (guessKind(code)) {
  1233         switch (guessKind(code)) {