Skip to content

Instantly share code, notes, and snippets.

@abeln
Created March 21, 2019 21:24
Show Gist options
  • Select an option

  • Save abeln/3b709744ccfe13a0065d4f36db35b927 to your computer and use it in GitHub Desktop.

Select an option

Save abeln/3b709744ccfe13a0065d4f36db35b927 to your computer and use it in GitHub Desktop.
Occurences of JavaNull in findMember by type
➜ dotty git:(explicit-null-bootstrap) ✗ sort kk2 | uniq -c | sort -r
136 >>> dotty.tools.dotc.reporting.diagnostic.ErrorMessageID | JavaNull
87 >>> java.nio.file.Path | JavaNull
80 >>> String | JavaNull
51 >>> Object | JavaNull
39 >>> org.jline.reader.LineReaderBuilder | JavaNull
32 >>> ProfilingAsyncHelper.this.ThreadProfileData | JavaNull
21 >>> scala.tools.asm.MethodVisitor | JavaNull
15 >>> scala.tools.asm.Type | JavaNull
14 >>> xsbti.api.Structure | JavaNull
14 >>> scala.tools.asm.AnnotationVisitor | JavaNull
14 >>> java.net.URI | JavaNull
13 >>> xsbti.api.Type | JavaNull
13 >>> java.io.InputStream | JavaNull
12 >>> entries.E | JavaNull
11 >>> ClassLoader | JavaNull
10 >>> java.util.stream.Stream[java.nio.file.Path] | JavaNull
10 >>> dotty.tools.dotc.core.TyperState | JavaNull
10 >>> dotty.tools.dotc.ast.tpd.Select | JavaNull
10 >>> T | JavaNull
9 >>> scala.tools.asm.tree.InsnList | JavaNull
9 >>> java.nio.file.FileSystem | JavaNull
8 >>> scala.tools.asm.FieldVisitor | JavaNull
8 >>> java.util.ListIterator[scala.tools.asm.tree.AbstractInsnNode] | JavaNull
7 >>> java.util.jar.Attributes.Name | JavaNull
7 >>> java.nio.file.attribute.FileTime | JavaNull
7 >>> Throwable | JavaNull
7 >>> GenBCodePipeline.this.Item2 | JavaNull
7 >>> Array[xsbti.api.TypeParameter | JavaNull] | JavaNull
6 >>> org.jline.terminal.TerminalBuilder | JavaNull
6 >>> GenBCodePipeline.this.Item3 | JavaNull
6 >>> Array[xsbti.api.ClassDefinition | JavaNull] | JavaNull
6 >>> Array[xsbti.api.Annotation | JavaNull] | JavaNull
5 >>> java.net.URL | JavaNull
5 >>> dotty.tools.dotc.core.Types.Type | JavaNull
5 >>> Iterable[java.nio.file.Path] | JavaNull
5 >>> Array[Byte] | JavaNull
4 ] | JavaNull
4 >>> xsbti.api.TypeDeclaration | JavaNull
4 >>> xsbti.api.TypeAlias | JavaNull
4 >>> xsbti.api.Annotation | JavaNull
4 >>> xsbti.api.Annotated | JavaNull
4 >>> org.jline.reader.ParsedLine | JavaNull
4 >>> java.nio.file.attribute.BasicFileAttributes | JavaNull
4 >>> java.io.OutputStream | JavaNull
4 >>> collection.mutable.ListBuffer[dotty.tools.dotc.core.Symbols.Symbol] | JavaNull
4 >>> List[dotty.tools.dotc.typer.Implicits.Candidate] | JavaNull
4 >>> Array[reflect.Method] | JavaNull
3 >>> xsbti.api.Protected | JavaNull
3 >>> xsbti.api.Private | JavaNull
3 >>> xsbti.api.EmptyType | JavaNull
3 >>> scala.tools.asm.tree.AbstractInsnNode | JavaNull
3 >>> scala.tools.asm.Label | JavaNull
3 >>> java.util.jar.Attributes | JavaNull
3 >>> java.util.Map[String, java.util.jar.Attributes] | JavaNull
3 >>> java.util.Base64.Encoder | JavaNull
3 >>> java.util.Base64.Decoder | JavaNull
3 >>> java.nio.file.DirectoryStream[java.nio.file.Path] | JavaNull
3 >>> dotty.tools.dotc.core.SymDenotations.InheritedCache | JavaNull
3 >>> Class[_] | JavaNull
3 >>> Array[xsbti.api.Type | JavaNull] | JavaNull
2 >>> xsbti.api.Var | JavaNull
2 >>> xsbti.api.Val | JavaNull
2 >>> xsbti.api.TypeParameter | JavaNull
2 >>> xsbti.api.Singleton | JavaNull
2 >>> xsbti.api.Qualifier | JavaNull
2 >>> xsbti.api.Projection | JavaNull
2 >>> xsbti.api.Polymorphic | JavaNull
2 >>> xsbti.api.Path | JavaNull
2 >>> xsbti.api.Parameterized | JavaNull
2 >>> xsbti.api.ParameterRef | JavaNull
2 >>> xsbti.api.ParameterList | JavaNull
2 >>> xsbti.api.Lazy[T] | JavaNull
2 >>> xsbti.api.Existential | JavaNull
2 >>> xsbti.api.DefinitionType | JavaNull
2 >>> xsbti.api.Def | JavaNull
2 >>> xsbti.api.Constant | JavaNull
2 >>> xsbti.api.ClassLikeDef | JavaNull
2 >>> xsbti.UseScope | JavaNull
2 >>> scala.tools.asm.util.Printer | JavaNull
2 >>> scala.tools.asm.Handle | JavaNull
2 >>> org.jline.utils.AttributedString | JavaNull
2 >>> org.jline.terminal.Terminal | JavaNull
2 >>> org.jline.reader.LineReader | JavaNull
2 >>> java.util.jar.Manifest | JavaNull
2 >>> java.util.function.Function[_ >: dotty.tools.dotc.core.Symbols.Symbol, _
2 >>> java.util.function.BiConsumer[_ >: dotty.tools.dotc.core.Symbols.Symbol, _
2 >>> java.util.List[scala.tools.asm.tree.FieldNode] | JavaNull
2 >>> java.util.List[org.jline.reader.Candidate] | JavaNull
2 >>> java.util.Iterator[java.nio.file.Path] | JavaNull
2 >>> java.lang.management.MemoryUsage | JavaNull
2 >>> Class[_ >: ?4.CAP] | JavaNull
2 >>> Array[xsbti.api.ParameterList | JavaNull] | JavaNull
2 >>> Array[xsbti.api.AnnotationArgument | JavaNull] | JavaNull
2 >>> Array[java.io.File | JavaNull] | JavaNull
2 >>> Array[String | JavaNull] | JavaNull
2 >>> Array[Object | JavaNull] | JavaNull
2 >>> Any | JavaNull
2 >: CollectNullableFields.this.FieldInfo
2 <: collection.mutable.ListBuffer[dotty.tools.dotc.core.Symbols.Symbol]
1 [info] Packaging /Users/abeln/src/dotty2/dotty/library/../out/bootstrap/dotty-library-bootstrapped/scala-0.14/dotty-library_0.14-0.14.0-bin-SNAPSHOT.jar ...
1 [info] Done packaging.
1 [info] Done compiling.
1 [info] Compiling 413 Scala sources and 3 Java sources to /Users/abeln/src/dotty2/dotty/compiler/../out/bootstrap/dotty-compiler-bootstrapped/scala-0.14/classes ...
1 >>> xsbti.api.Variance | JavaNull
1 >>> xsbti.api.Public | JavaNull
1 >>> xsbti.api.ParameterModifier | JavaNull
1 >>> xsbti.api.Modifiers | JavaNull
1 >>> xsbti.api.ClassLike | JavaNull
1 >>> xsbti.api.Access | JavaNull
1 >>> java.util.function.Supplier[T] | JavaNull
1 >>> java.util.function.IntFunction[Array[java.nio.file.Path & Object]] | JavaNull
1 >>> java.util.function.Consumer[_ >: xsbti.UseScope] | JavaNull
1 >>> java.util.List[scala.tools.asm.tree.MethodNode] | JavaNull
1 >>> java.util.List[java.lang.management.GarbageCollectorMXBean] | JavaNull
1 >>> java.util.List[String] | JavaNull
1 >>> java.lang.management.RuntimeMXBean | JavaNull
1 >>> java.lang.management.MemoryMXBean | JavaNull
1 >>> java.lang.management.CompilationMXBean | JavaNull
1 >>> java.lang.management.ClassLoadingMXBean | JavaNull
1 >>> java.io.File | JavaNull
1 >>> dotty.tools.dotc.profile.ExtendedThreadMxBean | JavaNull
1 >>> GenBCodePipeline.this.Item1 | JavaNull
1 >>> Class[?5.CAP] | JavaNull
1 >>> Class[?3.CAP] | JavaNull
1 >>> Class[?2.CAP] | JavaNull
1 >>> Class[?1.CAP] | JavaNull
1 >>> Array[xsbti.api.PathComponent | JavaNull] | JavaNull
1 >>> Array[xsbti.api.MethodParameter | JavaNull] | JavaNull
1 >>> A | JavaNull
@abeln

abeln commented Mar 21, 2019

Copy link
Copy Markdown
Author

All these would've failed to resolve without the JavaNull magic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment