final class NameReferenceGraphReport
extends java.lang.Object
This report should be useful both for internal compiler developers and for engineers trying to understand running behavior of their code or who want to understand why the compiler won't move their code into a new module.
Modifier and Type | Class and Description |
---|---|
(package private) class |
NameReferenceGraphReport.DiGraphNodeComparator
DiGraphNodeComparator gives us a way to generate sorted lists
of DiGraphNodes.
|
Modifier and Type | Field and Description |
---|---|
private NameReferenceGraph |
graph |
Constructor and Description |
---|
NameReferenceGraphReport(NameReferenceGraph g)
Create a NameReferenceGraphReport object.
|
Modifier and Type | Method and Description |
---|---|
private void |
generateDeclarationReport(java.lang.StringBuilder builder,
DiGraph.DiGraphNode<NameReferenceGraph.Name,NameReferenceGraph.Reference> declarationNode)
Generate the HTML for describing a specific declaration.
|
private void |
generateEdgeReport(java.lang.StringBuilder builder,
NameReferenceGraph.Name referencedDecl,
DiGraph.DiGraphEdge<NameReferenceGraph.Name,NameReferenceGraph.Reference> edge)
Generate a description of a specific edge between two nodes.
|
private static void |
generateHtmlReportFooter(java.lang.StringBuilder builder)
Generate the HTML footer for the report style.
|
private static void |
generateHtmlReportHeader(java.lang.StringBuilder builder)
Generate the HTML header for the report style.
|
private static void |
generateSourceReferenceLink(java.lang.StringBuilder builder,
java.lang.String sourceFile,
int lineNumber,
int columnNumber)
Generate a link and text for a reference to a particular location
in a source file.
|
private static void |
generateType(java.lang.StringBuilder builder,
JSType defType)
Dump a type in a nice, readable way.
|
java.lang.String |
getHtmlReport()
Generate a nice HTML file describing the name reference graph.
|
private static java.lang.String |
getSourceFile(Node node)
Given a node, find the name of the containing source file.
|
private NameReferenceGraph graph
NameReferenceGraphReport(NameReferenceGraph g)
g
- name reference graph to describe in report.public java.lang.String getHtmlReport()
This report should be useful both for internal compiler developers and for engineers trying to understand running behavior of their code or who want to understand why AbstractCompiler won't move their code into a new module.
private static java.lang.String getSourceFile(Node node)
node
- Parse tree node whose filename is requestedprivate void generateDeclarationReport(java.lang.StringBuilder builder, DiGraph.DiGraphNode<NameReferenceGraph.Name,NameReferenceGraph.Reference> declarationNode)
builder
- contents of report to be generateddeclarationNode
- declaration to describeprivate static void generateHtmlReportHeader(java.lang.StringBuilder builder)
builder
- contents of the report to be generatedprivate static void generateHtmlReportFooter(java.lang.StringBuilder builder)
private void generateEdgeReport(java.lang.StringBuilder builder, NameReferenceGraph.Name referencedDecl, DiGraph.DiGraphEdge<NameReferenceGraph.Name,NameReferenceGraph.Reference> edge)
builder
- contents of the report to be generatedreferencedDecl
- name of the declaration being referencededge
- the graph edge being describedprivate static void generateSourceReferenceLink(java.lang.StringBuilder builder, java.lang.String sourceFile, int lineNumber, int columnNumber)
builder
- contents of the report to be generatedsourceFile
- Path to the filelineNumber
- line where the object to view is locatedcolumnNumber
- column where the object to highlight is located.private static void generateType(java.lang.StringBuilder builder, JSType defType)
builder
- contents of the report to be generated.defType
- type to describe