Skip to content

Instantly share code, notes, and snippets.

@nicolasstucki
Created August 2, 2017 15:55
Show Gist options
  • Save nicolasstucki/d6918ca6b6b0a08df949d2271250f4d3 to your computer and use it in GitHub Desktop.
Save nicolasstucki/d6918ca6b6b0a08df949d2271250f4d3 to your computer and use it in GitHub Desktop.
I: File: out/linkCustomLib/custom-lib/Map2.class
I: Done in 0.118 ms, nt size: 54
I: public interface abstract class Map2#2
* Version: 52.0 (supported by JDK 1.8)
* Constant Pool [34]
#0 [null entry]: -
#1 [Utf8]: Map2
#2 [Class]: Map2#1
#3 [Utf8]: java/lang/Object
#4 [Class]: java/lang/Object#3
#5 [Utf8]: Map2.scala
#6 [Utf8]: $init$
#7 [Utf8]: ()V
#8 [Utf8]: this
#9 [Utf8]: LMap2;
#10 [Utf8]: get
#11 [Utf8]: (Ljava/lang/Object;)Lscala/runtime/Null$;
#12 [Utf8]: k
#13 [Utf8]: Ljava/lang/Object;
#14 [Utf8]: foo
#15 [Utf8]: ()Lscala/runtime/Null$;
#16 [Utf8]: scala/runtime/BoxesRunTime
#17 [Class]: scala/runtime/BoxesRunTime#16
#18 [Utf8]: boxToInteger
#19 [Utf8]: (I)Ljava/lang/Integer;
#20 [NameAndType]: #18.#19
#21 [Methodref]: scala/runtime/BoxesRunTime#17.boxToInteger:(I)Ljava/lang/Integer;#20
#22 [NameAndType]: #10.#11
#23 [InterfaceMethodref]: Map2#2.get:(Ljava/lang/Object;)Lscala/runtime/Null$;#22
#24 [Utf8]: that
#25 [Utf8]: scala/runtime/Null$
#26 [Class]: scala/runtime/Null$#25
#27 [Utf8]: Code
#28 [Utf8]: LocalVariableTable
#29 [Utf8]: LineNumberTable
#30 [Utf8]: StackMapTable
#31 [Utf8]: SourceFile
#32 [Utf8]: TASTY
#33 [Utf8]: Scala
* accessFlags: public interface abstract
* thisClassIndex: Map2#2
* superClassIndex: java/lang/Object#4
* Interfaces [0]
* Fields [0]
* Methods [3]
+Method public $init$: #6: ()V#7
+Method public get: #10: (Ljava/lang/Object;)Lscala/runtime/Null$;#11
+Method public foo: #14: ()Lscala/runtime/Null$;#15
Source file: Map2.scala#5
Tasty attribute of size: 770
0 UTF8: ASTs
1 UTF8: <empty>
2 UTF8: Map2
3 UTF8: K
4 Expanded [UTF8: Map2].[UTF8: K]
5 UTF8: Nothing
6 UTF8: scala
7 UTF8: Any
8 UTF8: Object
9 UTF8: java
10 UTF8: lang
11 Qualified [UTF8: java].[UTF8: lang]
12 UTF8: <init>
13 UTF8: Unit
14 UTF8: get
15 UTF8: k
16 UTF8: Null
17 UTF8: foo
18 UTF8: that
19 UTF8: b
20 UTF8: _
21 Qualified [UTF8: scala].[UTF8: Null]
22 Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]
23 Signed orig: [UTF8: get]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]], ) :[Qualified [UTF8: scala].[UTF8: Null]]
24 UTF8: asInstanceOf
25 Signed orig: [UTF8: asInstanceOf]() :[Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]]
26 UTF8: c
27 UTF8: SourceFile
28 UTF8: annotation
29 Qualified [UTF8: scala].[UTF8: annotation]
30 UTF8: internal
31 Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]
32 Qualified [Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]].[UTF8: SourceFile]
33 UTF8: String
34 Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: String]
35 Signed orig: [UTF8: <init>]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: String]], ) :[Qualified [Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]].[UTF8: SourceFile]]
36 UTF8: /Users/nicolasstucki/GitHub/dotty/compiler/../tests/link/custom-lib/Map2.scala
37 UTF8: Positions
Name table of size: 306
Trees section of size: 254
Positions section of size: 180
ASTs
package:
TermRefPKG: UTF8: <empty>
contents:
TypeDef: UTF8: Map2
Template body:
TypeParam: Expanded [UTF8: Map2].[UTF8: K]
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
TypeRef(UTF8: Object)
qualType:
TermRefPKG: Qualified [UTF8: java].[UTF8: lang]
DefDef: UTF8: <init>
TypeParam: UTF8: K
TypeBoundsTpt
low:
SHARED(17)
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
SHARED(21)
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
PARAMS:
TypeRef(UTF8: Unit)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
TypeDef: UTF8: K
TYPEREFsymbol(12)
qualType:
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
private
local
synthetic
DefDef: UTF8: get
PARAMS:
Param: UTF8: k
SHARED(50)
TYPEREFsymbol(12)
qualType:
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
TypeRef(UTF8: Null)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
null
DefDef: UTF8: foo
SHARED(71)
TypeRef(UTF8: Null)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
Block
expr:
Match
sel:
SHARED(52)
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
cases:
CaseDef
pat:
Bind(UTF8: that)
type
AppliedType
tycon:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: b)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(99)
term
Typed
expr:
Ident(UTF8: _)
type:
SHARED(95)
AppliedType
tycon:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: b)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(99)
ascription:
AppliedTpt
tycon:
IdentTpt(UTF8: Map2)
type:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: b)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
Ident(UTF8: _)
type:
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
rhs:
Block
expr:
Apply
fun:
Select(Signed orig: [UTF8: get]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]], ) :[Qualified [UTF8: scala].[UTF8: Null]])
qual:
TermRefDirect(92)
args:
TypeApply
fun:
Select(Signed orig: [UTF8: asInstanceOf]() :[Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]])
qual:
Int: 3
args:
IdentTpt(UTF8: b)
type:
SHARED(99)
Bind(UTF8: b)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(99)
stats:
CaseDef
pat:
Bind(UTF8: that)
type
AppliedType
tycon:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: c)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(154)
term
Typed
expr:
Ident(UTF8: _)
type:
SHARED(150)
AppliedType
tycon:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: c)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(154)
ascription:
AppliedTpt
tycon:
IdentTpt(UTF8: Map2)
type:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
Bind(UTF8: c)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
Ident(UTF8: _)
type:
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
rhs:
Block
expr:
Apply
fun:
Select(Signed orig: [UTF8: get]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]], ) :[Qualified [UTF8: scala].[UTF8: Null]])
qual:
TermRefDirect(147)
args:
TypeApply
fun:
Select(Signed orig: [UTF8: asInstanceOf]() :[Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]])
qual:
TypeApply
fun:
Select(Signed orig: [UTF8: asInstanceOf]() :[Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]])
qual:
Int: 4
args:
SHARED(50)
TYPEREFsymbol(12)
qualType:
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
SHARED(154)
Bind(UTF8: c)
type
SHARED(15)
TypeBounds
low:
TypeRef(UTF8: Nothing)
qualType:
TermRefPKG: UTF8: scala
high:
TypeRef(UTF8: Any)
qualType:
SHARED(19)
TermRefPKG: UTF8: scala
term
TypeRefDirect(154)
stats:
CaseDef
pat:
Ident(UTF8: _)
type:
AppliedType
tycon:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
SHARED(50)
TYPEREFsymbol(12)
qualType:
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
rhs:
Block
expr:
Apply
fun:
Select(Signed orig: [UTF8: get]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]], ) :[Qualified [UTF8: scala].[UTF8: Null]])
qual:
qualthis
IdentTpt(UTF8: Map2)
type:
SHARED(53)
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
args:
TypeApply
fun:
Select(Signed orig: [UTF8: asInstanceOf]() :[Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: Object]])
qual:
Int: 5
args:
SHARED(50)
TYPEREFsymbol(12)
qualType:
this
TYPEREFsymbol(5)
qualType:
this
TypeRefPKG: UTF8: <empty>
stats:
stats:
trait
Annotation
tycon:
TypeRef(UTF8: SourceFile)
qualType:
TermRefPKG: Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]
term:
Apply
fun:
Select(Signed orig: [UTF8: <init>]([Qualified [Qualified [UTF8: java].[UTF8: lang]].[UTF8: String]], ) :[Qualified [Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]].[UTF8: SourceFile]])
qual:
NEW
SHARED(240)
TypeRef(UTF8: SourceFile)
qualType:
TermRefPKG: Qualified [Qualified [UTF8: scala].[UTF8: annotation]].[UTF8: internal]
args:
String: UTF8: /Users/nicolasstucki/GitHub/dotty/compiler/../tests/link/custom-lib/Map2.scala
ATTR_Scala
[info] Read 1 classes from out/linkCustomLib/custom-lib/Map2.class. Done in 1.041 ms, nt size: 54, st size: 18
[info] Total 0 files, 1 classes. Done in 1.063 ms, nt size: 54, st size: 18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment