Skip to content

Instantly share code, notes, and snippets.

@abeln
Created March 21, 2019 21:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abeln/3b709744ccfe13a0065d4f36db35b927 to your computer and use it in GitHub Desktop.
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
Copy link
Author

abeln commented Mar 21, 2019

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