Class SourceBuilder

java.lang.Object
com.google.j2cl.transpiler.backend.common.SourceBuilder

public class SourceBuilder extends Object
Builds source and tracks line numbers using a StringBuilder.
  • Constructor Details

    • SourceBuilder

      public SourceBuilder()
  • Method Details

    • emitWithMapping

      public void emitWithMapping(com.google.j2cl.common.SourcePosition javaSourcePosition, Runnable codeEmitter)
    • emitWithMemberMapping

      public void emitWithMemberMapping(com.google.j2cl.transpiler.ast.MemberDescriptor memberDescriptor, Runnable codeEmitter)
    • emitBlock

      public <T> void emitBlock(List<T> item, Consumer<T> renderer)
      Emits a block of code dictated by followed by a newline.
    • getMappings

      public SortedMap<com.google.j2cl.common.SourcePosition,com.google.j2cl.common.SourcePosition> getMappings()
    • getOutputSourceInfoByMember

      public com.google.common.collect.ImmutableMap<com.google.j2cl.transpiler.ast.MemberDescriptor,com.google.j2cl.common.SourcePosition> getOutputSourceInfoByMember()
    • append

      public void append(String source)
    • appendLines

      public void appendLines(String... lines)
    • appendln

      public void appendln(String line)
    • newLine

      public void newLine()
    • indent

      public void indent()
    • unindent

      public void unindent()
    • build

      public String build()
    • buildToList

      public com.google.common.collect.ImmutableList<String> buildToList()
      For generation of large outputs, this can be used instead of build() to get the intermediate strings for streaming to output.
    • openBrace

      public void openBrace()
    • closeBrace

      public void closeBrace()
    • openParens

      public void openParens(String text)
    • closeParens

      public void closeParens()