diff --git a/java/java-analysis-api/src/com/intellij/openapi/module/api24.txt b/java/java-analysis-api/src/com/intellij/openapi/module/api24.txt new file mode 100644 index 000000000000..190ec36b0b1c --- /dev/null +++ b/java/java-analysis-api/src/com/intellij/openapi/module/api24.txt @@ -0,0 +1,287 @@ +jdk.internal.util.ModifiedUtf +java.io.IO#println() +java.io.IO#readln() +java.io.Reader#of(java.lang.CharSequence;) +java.io.Console#println() +java.io.Console#readln() +java.lang.reflect.ClassFileFormatVersion#RELEASE_24 +java.lang.classfile.attribute.CodeAttribute +java.lang.classfile.attribute.InnerClassInfo +java.lang.classfile.attribute.LineNumberInfo +java.lang.classfile.attribute.ModuleHashInfo +java.lang.classfile.attribute.ModuleOpenInfo +java.lang.classfile.attribute.ModuleAttribute.ModuleAttributeBuilder +java.lang.classfile.attribute.ModuleAttribute +java.lang.classfile.attribute.RecordAttribute +java.lang.classfile.attribute.ModuleExportInfo +java.lang.classfile.attribute.UnknownAttribute +java.lang.classfile.attribute.LocalVariableInfo +java.lang.classfile.attribute.ModuleProvideInfo +java.lang.classfile.attribute.ModuleRequireInfo +java.lang.classfile.attribute.NestHostAttribute +java.lang.classfile.attribute.SourceIDAttribute +java.lang.classfile.attribute.StackMapFrameInfo.VerificationTypeInfo +java.lang.classfile.attribute.StackMapFrameInfo.SimpleVerificationTypeInfo +java.lang.classfile.attribute.StackMapFrameInfo.ObjectVerificationTypeInfo +java.lang.classfile.attribute.StackMapFrameInfo.UninitializedVerificationTypeInfo +java.lang.classfile.attribute.StackMapFrameInfo +java.lang.classfile.attribute.CharacterRangeInfo +java.lang.classfile.attribute.SignatureAttribute +java.lang.classfile.attribute.SyntheticAttribute +java.lang.classfile.attribute.DeprecatedAttribute +java.lang.classfile.attribute.ExceptionsAttribute +java.lang.classfile.attribute.MethodParameterInfo +java.lang.classfile.attribute.RecordComponentInfo +java.lang.classfile.attribute.SourceFileAttribute +java.lang.classfile.attribute.NestMembersAttribute +java.lang.classfile.attribute.InnerClassesAttribute +java.lang.classfile.attribute.LocalVariableTypeInfo +java.lang.classfile.attribute.ModuleHashesAttribute +java.lang.classfile.attribute.ModuleTargetAttribute +java.lang.classfile.attribute.CompilationIDAttribute +java.lang.classfile.attribute.ConstantValueAttribute +java.lang.classfile.attribute.StackMapTableAttribute +java.lang.classfile.attribute.ModulePackagesAttribute +java.lang.classfile.attribute.EnclosingMethodAttribute +java.lang.classfile.attribute.LineNumberTableAttribute +java.lang.classfile.attribute.ModuleMainClassAttribute +java.lang.classfile.attribute.BootstrapMethodsAttribute +java.lang.classfile.attribute.MethodParametersAttribute +java.lang.classfile.attribute.ModuleResolutionAttribute +java.lang.classfile.attribute.AnnotationDefaultAttribute +java.lang.classfile.attribute.LocalVariableTableAttribute +java.lang.classfile.attribute.CharacterRangeTableAttribute +java.lang.classfile.attribute.PermittedSubclassesAttribute +java.lang.classfile.attribute.SourceDebugExtensionAttribute +java.lang.classfile.attribute.LocalVariableTypeTableAttribute +java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute +java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute +java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute +java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute +java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute +java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute +java.lang.classfile.Label +java.lang.classfile.components.ClassPrinter.Verbosity +java.lang.classfile.components.ClassPrinter.Node +java.lang.classfile.components.ClassPrinter.LeafNode +java.lang.classfile.components.ClassPrinter.ListNode +java.lang.classfile.components.ClassPrinter.MapNode +java.lang.classfile.components.ClassPrinter +java.lang.classfile.components.ClassRemapper +java.lang.classfile.components.CodeRelabeler +java.lang.classfile.components.CodeStackTracker +java.lang.classfile.components.CodeLocalsShifter +java.lang.classfile.Opcode.Kind +java.lang.classfile.Opcode +java.lang.classfile.instruction.LineNumber +java.lang.classfile.instruction.SwitchCase +java.lang.classfile.instruction.LabelTarget +java.lang.classfile.instruction.LocalVariable +java.lang.classfile.instruction.CharacterRange +java.lang.classfile.instruction.ExceptionCatch +java.lang.classfile.instruction.NopInstruction +java.lang.classfile.instruction.LoadInstruction +java.lang.classfile.instruction.FieldInstruction +java.lang.classfile.instruction.StackInstruction +java.lang.classfile.instruction.StoreInstruction +java.lang.classfile.instruction.ThrowInstruction +java.lang.classfile.instruction.BranchInstruction +java.lang.classfile.instruction.InvokeInstruction +java.lang.classfile.instruction.LocalVariableType +java.lang.classfile.instruction.ReturnInstruction +java.lang.classfile.instruction.ConvertInstruction +java.lang.classfile.instruction.MonitorInstruction +java.lang.classfile.instruction.ConstantInstruction.IntrinsicConstantInstruction +java.lang.classfile.instruction.ConstantInstruction.ArgumentConstantInstruction +java.lang.classfile.instruction.ConstantInstruction.LoadConstantInstruction +java.lang.classfile.instruction.ConstantInstruction +java.lang.classfile.instruction.OperatorInstruction +java.lang.classfile.instruction.ArrayLoadInstruction +java.lang.classfile.instruction.IncrementInstruction +java.lang.classfile.instruction.NewObjectInstruction +java.lang.classfile.instruction.TypeCheckInstruction +java.lang.classfile.instruction.ArrayStoreInstruction +java.lang.classfile.instruction.TableSwitchInstruction +java.lang.classfile.instruction.DiscontinuedInstruction.JsrInstruction +java.lang.classfile.instruction.DiscontinuedInstruction.RetInstruction +java.lang.classfile.instruction.DiscontinuedInstruction +java.lang.classfile.instruction.LookupSwitchInstruction +java.lang.classfile.instruction.InvokeDynamicInstruction +java.lang.classfile.instruction.NewMultiArrayInstruction +java.lang.classfile.instruction.NewPrimitiveArrayInstruction +java.lang.classfile.instruction.NewReferenceArrayInstruction +java.lang.classfile.constantpool.LongEntry +java.lang.classfile.constantpool.PoolEntry +java.lang.classfile.constantpool.Utf8Entry +java.lang.classfile.constantpool.ClassEntry +java.lang.classfile.constantpool.FloatEntry +java.lang.classfile.constantpool.DoubleEntry +java.lang.classfile.constantpool.ModuleEntry +java.lang.classfile.constantpool.StringEntry +java.lang.classfile.constantpool.ConstantPool +java.lang.classfile.constantpool.IntegerEntry +java.lang.classfile.constantpool.PackageEntry +java.lang.classfile.constantpool.FieldRefEntry +java.lang.classfile.constantpool.MemberRefEntry +java.lang.classfile.constantpool.MethodRefEntry +java.lang.classfile.constantpool.MethodTypeEntry +java.lang.classfile.constantpool.NameAndTypeEntry +java.lang.classfile.constantpool.MethodHandleEntry +java.lang.classfile.constantpool.ConstantValueEntry +java.lang.classfile.constantpool.InvokeDynamicEntry +java.lang.classfile.constantpool.ConstantPoolBuilder +java.lang.classfile.constantpool.ConstantDynamicEntry +java.lang.classfile.constantpool.ConstantPoolException +java.lang.classfile.constantpool.LoadableConstantEntry +java.lang.classfile.constantpool.InterfaceMethodRefEntry +java.lang.classfile.constantpool.DynamicConstantPoolEntry +java.lang.classfile.constantpool.AnnotationConstantValueEntry +java.lang.classfile.TypeKind +java.lang.classfile.Attribute +java.lang.classfile.BufWriter +java.lang.classfile.ClassFile.Option +java.lang.classfile.ClassFile.AttributeMapperOption +java.lang.classfile.ClassFile.ClassHierarchyResolverOption +java.lang.classfile.ClassFile.ConstantPoolSharingOption +java.lang.classfile.ClassFile.DeadCodeOption +java.lang.classfile.ClassFile.DeadLabelsOption +java.lang.classfile.ClassFile.DebugElementsOption +java.lang.classfile.ClassFile.LineNumbersOption +java.lang.classfile.ClassFile.ShortJumpsOption +java.lang.classfile.ClassFile.StackMapsOption +java.lang.classfile.ClassFile.AttributesProcessingOption +java.lang.classfile.ClassFile +java.lang.classfile.CodeModel +java.lang.classfile.Signature.BaseTypeSig +java.lang.classfile.Signature.RefTypeSig +java.lang.classfile.Signature.ClassTypeSig +java.lang.classfile.Signature.TypeArg.Unbounded +java.lang.classfile.Signature.TypeArg.Bounded.WildcardIndicator +java.lang.classfile.Signature.TypeArg.Bounded +java.lang.classfile.Signature.TypeArg +java.lang.classfile.Signature.TypeVarSig +java.lang.classfile.Signature.ArrayTypeSig +java.lang.classfile.Signature.TypeParam +java.lang.classfile.Signature.ThrowableSig +java.lang.classfile.Signature +java.lang.classfile.Annotation +java.lang.classfile.Attributes +java.lang.classfile.ClassModel +java.lang.classfile.FieldModel +java.lang.classfile.Interfaces +java.lang.classfile.Superclass +java.lang.classfile.AccessFlags +java.lang.classfile.ClassReader +java.lang.classfile.CodeBuilder.BlockCodeBuilder +java.lang.classfile.CodeBuilder.CatchBuilder +java.lang.classfile.CodeBuilder#loadConstant(int;) +java.lang.classfile.CodeBuilder#loadConstant(long;) +java.lang.classfile.CodeBuilder#loadConstant(float;) +java.lang.classfile.CodeBuilder#loadConstant(double;) +java.lang.classfile.CodeBuilder +java.lang.classfile.CodeElement +java.lang.classfile.Instruction +java.lang.classfile.MethodModel +java.lang.classfile.ClassBuilder +java.lang.classfile.ClassElement +java.lang.classfile.FieldBuilder +java.lang.classfile.FieldElement +java.lang.classfile.CodeTransform +java.lang.classfile.MethodBuilder +java.lang.classfile.MethodElement +java.lang.classfile.ClassSignature +java.lang.classfile.ClassTransform +java.lang.classfile.FieldTransform +java.lang.classfile.TypeAnnotation.TargetType +java.lang.classfile.TypeAnnotation.TargetInfo +java.lang.classfile.TypeAnnotation.TypeParameterTarget +java.lang.classfile.TypeAnnotation.SupertypeTarget +java.lang.classfile.TypeAnnotation.TypeParameterBoundTarget +java.lang.classfile.TypeAnnotation.EmptyTarget +java.lang.classfile.TypeAnnotation.FormalParameterTarget +java.lang.classfile.TypeAnnotation.ThrowsTarget +java.lang.classfile.TypeAnnotation.LocalVarTarget +java.lang.classfile.TypeAnnotation.LocalVarTargetInfo +java.lang.classfile.TypeAnnotation.CatchTarget +java.lang.classfile.TypeAnnotation.OffsetTarget +java.lang.classfile.TypeAnnotation.TypeArgumentTarget +java.lang.classfile.TypeAnnotation.TypePathComponent.Kind +java.lang.classfile.TypeAnnotation.TypePathComponent +java.lang.classfile.TypeAnnotation +java.lang.classfile.AnnotationValue.OfAnnotation +java.lang.classfile.AnnotationValue.OfArray +java.lang.classfile.AnnotationValue.OfConstant +java.lang.classfile.AnnotationValue.OfString +java.lang.classfile.AnnotationValue.OfDouble +java.lang.classfile.AnnotationValue.OfFloat +java.lang.classfile.AnnotationValue.OfLong +java.lang.classfile.AnnotationValue.OfInt +java.lang.classfile.AnnotationValue.OfShort +java.lang.classfile.AnnotationValue.OfChar +java.lang.classfile.AnnotationValue.OfByte +java.lang.classfile.AnnotationValue.OfBoolean +java.lang.classfile.AnnotationValue.OfClass +java.lang.classfile.AnnotationValue.OfEnum +java.lang.classfile.AnnotationValue +java.lang.classfile.AttributeMapper.AttributeStability +java.lang.classfile.AttributeMapper +java.lang.classfile.CompoundElement +java.lang.classfile.CustomAttribute +java.lang.classfile.MethodSignature +java.lang.classfile.MethodTransform +java.lang.classfile.ClassFileBuilder +java.lang.classfile.ClassFileElement +java.lang.classfile.ClassFileVersion +java.lang.classfile.AnnotationElement +java.lang.classfile.AttributedElement +java.lang.classfile.PseudoInstruction +java.lang.classfile.ClassFileTransform +java.lang.classfile.BootstrapMethodEntry +java.lang.classfile.ClassHierarchyResolver.ClassHierarchyInfo +java.lang.classfile.ClassHierarchyResolver +java.lang.Process#waitFor(java.time.Duration;) +java.lang.Character.UnicodeBlock#TODHRI +java.lang.Character.UnicodeBlock#GARAY +java.lang.Character.UnicodeBlock#TULU_TIGALARI +java.lang.Character.UnicodeBlock#MYANMAR_EXTENDED_C +java.lang.Character.UnicodeBlock#SUNUWAR +java.lang.Character.UnicodeBlock#EGYPTIAN_HIEROGLYPHS_EXTENDED_A +java.lang.Character.UnicodeBlock#GURUNG_KHEMA +java.lang.Character.UnicodeBlock#KIRAT_RAI +java.lang.Character.UnicodeBlock#SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT +java.lang.Character.UnicodeBlock#OL_ONAL +java.lang.Character.UnicodeScript#TODHRI +java.lang.Character.UnicodeScript#GARAY +java.lang.Character.UnicodeScript#TULU_TIGALARI +java.lang.Character.UnicodeScript#SUNUWAR +java.lang.Character.UnicodeScript#GURUNG_KHEMA +java.lang.Character.UnicodeScript#KIRAT_RAI +java.lang.Character.UnicodeScript#OL_ONAL +java.util.stream.Stream#gather(java.util.stream.Gatherer;) +java.util.stream.Gatherer.Downstream +java.util.stream.Gatherer.Integrator.Greedy +java.util.stream.Gatherer.Integrator +java.util.stream.Gatherer +java.util.stream.Gatherers +java.util.stream.GathererOp +java.util.stream.ReferencePipeline#gather(java.util.stream.Gatherer;) +java.security.spec.NamedParameterSpec#ML_DSA_44 +java.security.spec.NamedParameterSpec#ML_DSA_65 +java.security.spec.NamedParameterSpec#ML_DSA_87 +java.security.spec.NamedParameterSpec#ML_KEM_512 +java.security.spec.NamedParameterSpec#ML_KEM_768 +java.security.spec.NamedParameterSpec#ML_KEM_1024 +javax.crypto.spec.HKDFParameterSpec +javax.crypto.KDF +javax.crypto.KDFSpi +javax.crypto.KDFParameters +jdk.jshell.tool.JavaShellToolBuilder#windowSize(int;int;) +jdk.jshell.JShellConsole#readLine() +jdk.internal.jshell.tool.JShellToolBuilder#windowSize(int;int;) +javax.lang.model.SourceVersion#RELEASE_24 +jdk.management.VirtualThreadSchedulerMXBean +sun.reflect.ReflectionFactory#defaultReadObjectForSerialization(java.lang.Class;) +sun.reflect.ReflectionFactory#defaultWriteObjectForSerialization(java.lang.Class;) +sun.reflect.ReflectionFactory#serialPersistentFields(java.lang.Class;) +jdk.incubator.vector.Float16 +jdk.incubator.vector.VectorMath diff --git a/java/java-frontback-psi-api/resources/messages/JavaPsiBundle.properties b/java/java-frontback-psi-api/resources/messages/JavaPsiBundle.properties index aa574d6c3ae0..e39be4743567 100644 --- a/java/java-frontback-psi-api/resources/messages/JavaPsiBundle.properties +++ b/java/java-frontback-psi-api/resources/messages/JavaPsiBundle.properties @@ -217,6 +217,8 @@ jdk.22.language.level.description=22 - Unnamed variables and patterns jdk.22.preview.language.level.description=22 (Preview) - Statements before super(), string templates (2nd preview), etc. jdk.23.language.level.description=23 - Markdown documentation comments jdk.23.preview.language.level.description=23 (Preview) - Primitive types in patterns, implicitly declared classes, etc. +jdk.24.language.level.description=24 - Stream gatherers +jdk.24.preview.language.level.description=24 (Preview) - Flexible constructor bodies, simple source files, etc. jdk.X.language.level.description=X - Experimental features jdk.unsupported.preview.language.level.description={0} (Preview) - Unsupported diff --git a/java/java-frontback-psi-api/src/com/intellij/openapi/projectRoots/JavaSdkVersion.java b/java/java-frontback-psi-api/src/com/intellij/openapi/projectRoots/JavaSdkVersion.java index 070878fd88d2..1de0280a17c6 100644 --- a/java/java-frontback-psi-api/src/com/intellij/openapi/projectRoots/JavaSdkVersion.java +++ b/java/java-frontback-psi-api/src/com/intellij/openapi/projectRoots/JavaSdkVersion.java @@ -38,7 +38,8 @@ public enum JavaSdkVersion { JDK_21(LanguageLevel.JDK_21), JDK_22(LanguageLevel.JDK_22), JDK_23(LanguageLevel.JDK_23), - JDK_24(LanguageLevel.JDK_X); + JDK_24(LanguageLevel.JDK_24), + JDK_25(LanguageLevel.JDK_X); private final LanguageLevel myMaxLanguageLevel; diff --git a/java/java-frontback-psi-api/src/com/intellij/pom/java/LanguageLevel.java b/java/java-frontback-psi-api/src/com/intellij/pom/java/LanguageLevel.java index b99664232f29..8814ec95ccb3 100644 --- a/java/java-frontback-psi-api/src/com/intellij/pom/java/LanguageLevel.java +++ b/java/java-frontback-psi-api/src/com/intellij/pom/java/LanguageLevel.java @@ -63,7 +63,9 @@ public enum LanguageLevel { JDK_22_PREVIEW(JavaPsiBundle.messagePointer("jdk.22.preview.language.level.description"), 22), JDK_23(JavaPsiBundle.messagePointer("jdk.23.language.level.description"), 23), JDK_23_PREVIEW(JavaPsiBundle.messagePointer("jdk.23.preview.language.level.description"), 23), - JDK_X(JavaPsiBundle.messagePointer("jdk.X.language.level.description"), 24), + JDK_24(JavaPsiBundle.messagePointer("jdk.24.language.level.description"), 24), + JDK_24_PREVIEW(JavaPsiBundle.messagePointer("jdk.24.preview.language.level.description"), 24), + JDK_X(JavaPsiBundle.messagePointer("jdk.X.language.level.description"), 25), ; /** diff --git a/jps/model-api/api-dump.txt b/jps/model-api/api-dump.txt index c1ec48fbe44a..9358ede48c8f 100644 --- a/jps/model-api/api-dump.txt +++ b/jps/model-api/api-dump.txt @@ -487,6 +487,8 @@ e:org.jetbrains.jps.model.java.LanguageLevel - sf:JDK_22_PREVIEW:org.jetbrains.jps.model.java.LanguageLevel - sf:JDK_23:org.jetbrains.jps.model.java.LanguageLevel - sf:JDK_23_PREVIEW:org.jetbrains.jps.model.java.LanguageLevel +- sf:JDK_24:org.jetbrains.jps.model.java.LanguageLevel +- sf:JDK_24_PREVIEW:org.jetbrains.jps.model.java.LanguageLevel - sf:JDK_X:org.jetbrains.jps.model.java.LanguageLevel - feature():I - isPreview():Z diff --git a/jps/model-api/src/org/jetbrains/jps/model/java/LanguageLevel.java b/jps/model-api/src/org/jetbrains/jps/model/java/LanguageLevel.java index ab629fa8377c..caac232a3afb 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/java/LanguageLevel.java +++ b/jps/model-api/src/org/jetbrains/jps/model/java/LanguageLevel.java @@ -29,6 +29,7 @@ public enum LanguageLevel { JDK_21(21), JDK_21_PREVIEW(21), JDK_22(22), JDK_22_PREVIEW(22), JDK_23(23), JDK_23_PREVIEW(23), + JDK_24(24), JDK_24_PREVIEW(24), JDK_X(24), ; diff --git a/jvm/jvm-analysis-internal-testFramework/src/com/intellij/jvm/analysis/internal/testFramework/JavaApiUsageGenerator.kt b/jvm/jvm-analysis-internal-testFramework/src/com/intellij/jvm/analysis/internal/testFramework/JavaApiUsageGenerator.kt index 93d8e957e822..20dd1d3d0ba7 100644 --- a/jvm/jvm-analysis-internal-testFramework/src/com/intellij/jvm/analysis/internal/testFramework/JavaApiUsageGenerator.kt +++ b/jvm/jvm-analysis-internal-testFramework/src/com/intellij/jvm/analysis/internal/testFramework/JavaApiUsageGenerator.kt @@ -243,25 +243,25 @@ class JavaApiUsageGenerator : LightJavaCodeInsightFixtureTestCase() { } companion object { - private const val TEMP_API_DIR = "REPLACE_ME" + private const val TEMP_API_DIR = "C:\\Tmp" /** * Dir to API lists */ - private const val API_DIR = "REPLACE_ME" + private const val API_DIR = "C:\\Lan\\projects\\intellij\\community\\java\\java-analysis-api\\src\\com\\intellij\\openapi\\module" - private const val PREVIEW_JDK_HOME = "/home/me/.jdks/openjdk-20" + private const val PREVIEW_JDK_HOME = "C:\\Lan\\jdks\\jdk-24" - private const val JDK_HOME = "/home/me/.jdks/openjdk-20" + private const val JDK_HOME = "C:\\Lan\\jdks\\jdk-24" /** * The language level to check for. */ - private val LANGUAGE_LEVEL = LanguageLevel.JDK_20 + private val LANGUAGE_LEVEL = LanguageLevel.JDK_24 /** * The @since tag value used should match [LANGUAGE_LEVEL]. */ - private const val SINCE_VERSION = "20" + private const val SINCE_VERSION = "24" } } \ No newline at end of file