Document ID: ./input/supremecourt_opinions/opinions/20pdf/18-956_d18f.pdf
Page Number: 42

38 

GOOGLE LLC v. ORACLE AMERICA, INC. 

Opinion of the Court 
Appendix to opinion of the Court 

B 
Sun Java API Diagram 

Programmer Inputs 

Sun Java API 

Method Call 

Declaring Code 

java.lang.Math.max
(4, 10) 

Package java.lang 

public class Math 

public static int max
(int x, int y) 

Implementing 
Code 

{ if (x >y), return x
else return y } 

This  image  depicts  the  connection  between  the  three 
parts  of  the  Sun  Java  API  technology  at  issue,  using  the
District Court’s example.  Oracle, 872 F. Supp. 2d, at 980– 
981.  The programmer enters a method call to invoke a task
from within the API (the solid arrow).  The precise symbols 
in the method call correspond to a single task, which is lo-
cated within a particular class.  That class is located within 
a particular package.  All of the lines of code that provide
that organization and name the methods, classes, and pack-
ages are “declaring code.”  For each method, the declaring
code  is  associated  with  particular  lines  of  implementing
It  is  that  implementing  code 
code  (the  dotted  arrow).