Skip to content

SI-9393 Temporarily disable two assertions in GenBCode #4621

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 13, 2015

Conversation

retronym
Copy link
Member

These cause a crash in the build of Play. We should try to bring
these back once we have suitable annotation awareness. Perhaps
they should only be devWarning-s, though.

This is another backport candidate for 2.11.x. Submitting
to 2.12.x in case we want to include it in M2.

These cause a crash in the build of Play. We should try to bring
these back once we have suitable annotation awareness. Perhaps
they should only be `devWarning`-s, though.
@scala-jenkins scala-jenkins added this to the 2.12.0-M3 milestone Jul 12, 2015
@adriaanm adriaanm modified the milestones: 2.12.0-M2, 2.12.0-M3 Jul 13, 2015
adriaanm added a commit to adriaanm/scala that referenced this pull request Jul 13, 2015
SI-9393 Temporarily disable two assertions in GenBCode
@adriaanm
Copy link
Contributor

Community build is 👍!

adriaanm added a commit that referenced this pull request Jul 13, 2015
SI-9393 Temporarily disable two assertions in GenBCode
@adriaanm adriaanm merged commit 9df8f8a into scala:2.12.x Jul 13, 2015
@adriaanm
Copy link
Contributor

I'll leave the JIRA ticket to track the work in getting the devWarnings in, @retronym

@retronym retronym mentioned this pull request Jul 14, 2015
lrytz added a commit to lrytz/scala that referenced this pull request Jul 16, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the annotations that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovered the issue being fixed here.

A new flag ANNOTATION is introduced for Java annotation ClassSymbols,
similar to the existing ENUM flag. When building ClassBTypes for
Java annotations, the flags, superclasse and interfaces are recovered
to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 16, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the annotations that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag ANNOTATION is introduced for Java annotation ClassSymbols,
similar to the existing ENUM flag. When building ClassBTypes for
Java annotations, the flags, superclasse and interfaces are recovered
to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 16, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the annotations that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag ANNOTATION is introduced for Java annotation ClassSymbols,
similar to the existing ENUM flag. When building ClassBTypes for
Java annotations, the flags, superclass and interfaces are recovered
to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 16, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the annotations that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag ANNOTATION is introduced for Java annotation ClassSymbols,
similar to the existing ENUM flag. When building ClassBTypes for
Java annotations, the flags, superclass and interfaces are recovered
to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 16, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the annotations that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag ANNOTATION is introduced for Java annotation ClassSymbols,
similar to the existing ENUM flag. When building ClassBTypes for
Java annotations, the flags, superclass and interfaces are recovered
to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 21, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 22, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 22, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
lrytz added a commit to lrytz/scala that referenced this pull request Jul 24, 2015
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.
@adriaanm adriaanm added 2.12 and removed 2.12 labels Oct 29, 2016
retronym added a commit to retronym/scala that referenced this pull request Oct 26, 2017
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

Cleans up and documents the flags space in the area of "late" and
"anti" flags.

The test for SI-9393 is extended to test both the classfile and the
java source parser.

Cherry pick of 77b8b6a
retronym added a commit to retronym/scala that referenced this pull request Oct 26, 2017
The Scala classfile and java source parsers make Java annotation
classes (which are actually interfaces at the classfile level) look
like Scala annotation classes:
  - the INTERFACE / ABSTRACT flags are not added
  - scala.annotation.Annotation is added as superclass
  - scala.annotation.ClassfileAnnotation is added as interface

This makes type-checking @annot uniform, whether it is defined in Java
or Scala.

This is a hack that leads to various bugs (SI-9393, SI-9400). Instead
the type-checking should be special-cased for Java annotations.

This commit fixes SI-9393 and a part of SI-9400, but it's still easy
to generate invalid classfiles. Restores the assertions that were
disabled in scala#4621. I'd like to leave these assertions in: they
are valuable and helped uncovering the issue being fixed here.

A new flag JAVA_ANNOTATION is introduced for Java annotation
ClassSymbols, similar to the existing ENUM flag. When building
ClassBTypes for Java annotations, the flags, superclass and interfaces
are recovered to represent the situation in the classfile.

The test for SI-9393 is extended to test both the classfile and the
java source parser.

Partial cherry pick of 77b8b6a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants