22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.jshell;
27
28 import java.util.Collection;
29 import java.util.Set;
30 import java.util.stream.Collectors;
31 import jdk.jshell.Key.VarKey;
32
33 /**
34 * Snippet for a variable definition.
35 * The Kind is {@link jdk.jshell.Snippet.Kind#VAR}.
36 * <p>
37 * <code>VarSnippet</code> is immutable: an access to
38 * any of its methods will always return the same result.
39 * and thus is thread-safe.
40 *
41 * @since 9
42 * @jls 8.3: FieldDeclaration.
43 */
44 public class VarSnippet extends DeclarationSnippet {
45
46 /**A human readable type of the variable. May include intersection types
47 * and human readable description of anonymous classes.
48 */
49 final String typeName;
50
51 /**The full type inferred for "var" variables. May include intersection types
52 * and inaccessible types. {@literal null} if enhancing the type is not necessary.
53 */
54 final String fullTypeName;
55
56 /**The anonymous class declared in the initializer of the "var" variable.
57 * These are automatically statically imported when the field is imported.
58 */
59 final Set<String> anonymousClasses;
60
61 VarSnippet(VarKey key, String userSource, Wrap guts,
62 String name, SubKind subkind, String typeName, String fullTypeName,
|
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.jshell;
27
28 import java.util.Collection;
29 import java.util.Set;
30 import java.util.stream.Collectors;
31 import jdk.jshell.Key.VarKey;
32
33 /**
34 * Snippet for a variable definition.
35 * The Kind is {@link jdk.jshell.Snippet.Kind#VAR}.
36 * <p>
37 * <code>VarSnippet</code> is immutable: an access to
38 * any of its methods will always return the same result.
39 * and thus is thread-safe.
40 *
41 * @since 9
42 * @jls 8.3 Field Declarations
43 */
44 public class VarSnippet extends DeclarationSnippet {
45
46 /**A human readable type of the variable. May include intersection types
47 * and human readable description of anonymous classes.
48 */
49 final String typeName;
50
51 /**The full type inferred for "var" variables. May include intersection types
52 * and inaccessible types. {@literal null} if enhancing the type is not necessary.
53 */
54 final String fullTypeName;
55
56 /**The anonymous class declared in the initializer of the "var" variable.
57 * These are automatically statically imported when the field is imported.
58 */
59 final Set<String> anonymousClasses;
60
61 VarSnippet(VarKey key, String userSource, Wrap guts,
62 String name, SubKind subkind, String typeName, String fullTypeName,
|