printer

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GoCommentWrapper

func GoCommentWrapper(output string) string

GoCommentWrapper wraps marker output in Go block comment syntax: /*~~(output)~~>*/

func Print

func Print(t java.Tree) string

Print renders the given tree to a string.

func PrintWithMarkers

func PrintWithMarkers(t java.Tree, mp MarkerPrinter) string

PrintWithMarkers renders the given tree to a string, printing cross-cutting markers (SearchResult, Markup) using the given MarkerPrinter.

Types

type CommentWrapper

type CommentWrapper func(output string) string

CommentWrapper wraps marker output in a language-appropriate comment syntax.

type GoPrinter

type GoPrinter struct {
	visitor.GoVisitor
}

GoPrinter prints an OpenRewrite LST back to Go source code.

func NewGoPrinter

func NewGoPrinter() *GoPrinter

func (*GoPrinter) VisitAnnotation

func (p *GoPrinter) VisitAnnotation(ann *java.Annotation, param any) java.J

VisitAnnotation prints an Annotation in struct-tag form (`key:"value"`) — including its leading whitespace via Prefix. Backtick wrapping is the VariableDeclarations printer's job for struct-field context; this method only emits the annotation's own substring.

func (*GoPrinter) VisitArrayAccess

func (p *GoPrinter) VisitArrayAccess(aa *java.ArrayAccess, param any) java.J

func (*GoPrinter) VisitArrayDimension

func (p *GoPrinter) VisitArrayDimension(ad *java.ArrayDimension, param any) java.J

func (*GoPrinter) VisitArrayType

func (p *GoPrinter) VisitArrayType(at *java.ArrayType, param any) java.J

func (*GoPrinter) VisitAssignment

func (p *GoPrinter) VisitAssignment(assign *java.Assignment, param any) java.J

func (*GoPrinter) VisitAssignmentOperation

func (p *GoPrinter) VisitAssignmentOperation(ao *java.AssignmentOperation, param any) java.J

func (*GoPrinter) VisitBinary

func (p *GoPrinter) VisitBinary(bin *java.Binary, param any) java.J

func (*GoPrinter) VisitBlock

func (p *GoPrinter) VisitBlock(block *java.Block, param any) java.J

func (*GoPrinter) VisitBreak

func (p *GoPrinter) VisitBreak(b *java.Break, param any) java.J

func (*GoPrinter) VisitCase

func (p *GoPrinter) VisitCase(c *java.Case, param any) java.J

func (*GoPrinter) VisitChannel

func (p *GoPrinter) VisitChannel(ch *golang.Channel, param any) java.J

func (*GoPrinter) VisitCommClause

func (p *GoPrinter) VisitCommClause(cc *golang.CommClause, param any) java.J

func (*GoPrinter) VisitCompilationUnit

func (p *GoPrinter) VisitCompilationUnit(cu *golang.CompilationUnit, param any) java.J

func (*GoPrinter) VisitComposite

func (p *GoPrinter) VisitComposite(c *golang.Composite, param any) java.J

func (*GoPrinter) VisitContinue

func (p *GoPrinter) VisitContinue(c *java.Continue, param any) java.J

func (*GoPrinter) VisitControlParentheses

func (p *GoPrinter) VisitControlParentheses(cp *java.ControlParentheses, param any) java.J

func (*GoPrinter) VisitDefer

func (p *GoPrinter) VisitDefer(d *golang.Defer, param any) java.J

func (*GoPrinter) VisitEmpty

func (p *GoPrinter) VisitEmpty(empty *java.Empty, param any) java.J

func (*GoPrinter) VisitFallthrough

func (p *GoPrinter) VisitFallthrough(f *golang.Fallthrough, param any) java.J

func (*GoPrinter) VisitFieldAccess

func (p *GoPrinter) VisitFieldAccess(fa *java.FieldAccess, param any) java.J

func (*GoPrinter) VisitForControl

func (p *GoPrinter) VisitForControl(control *java.ForControl, param any) java.J

func (*GoPrinter) VisitForEachControl

func (p *GoPrinter) VisitForEachControl(control *java.ForEachControl, param any) java.J

func (*GoPrinter) VisitForEachLoop

func (p *GoPrinter) VisitForEachLoop(forEach *java.ForEachLoop, param any) java.J

func (*GoPrinter) VisitForLoop

func (p *GoPrinter) VisitForLoop(forLoop *java.ForLoop, param any) java.J

func (*GoPrinter) VisitFuncType

func (p *GoPrinter) VisitFuncType(ft *golang.FuncType, param any) java.J

func (*GoPrinter) VisitGoAssignmentOperation added in v0.0.6

func (p *GoPrinter) VisitGoAssignmentOperation(ao *golang.AssignmentOperation, param any) java.J

func (*GoPrinter) VisitGoBinary added in v0.0.6

func (p *GoPrinter) VisitGoBinary(binary *golang.Binary, param any) java.J

func (*GoPrinter) VisitGoStmt

func (p *GoPrinter) VisitGoStmt(g *golang.GoStmt, param any) java.J

func (*GoPrinter) VisitGoUnary added in v0.0.6

func (p *GoPrinter) VisitGoUnary(unary *golang.Unary, param any) java.J

func (*GoPrinter) VisitGoVariadic added in v0.0.6

func (p *GoPrinter) VisitGoVariadic(v *golang.Variadic, param any) java.J

func (*GoPrinter) VisitGoto

func (p *GoPrinter) VisitGoto(g *golang.Goto, param any) java.J

func (*GoPrinter) VisitIdentifier

func (p *GoPrinter) VisitIdentifier(ident *java.Identifier, param any) java.J

func (*GoPrinter) VisitIf

func (p *GoPrinter) VisitIf(ifStmt *java.If, param any) java.J

func (*GoPrinter) VisitImport

func (p *GoPrinter) VisitImport(imp *java.Import, param any) java.J

func (*GoPrinter) VisitIndexList

func (p *GoPrinter) VisitIndexList(il *golang.IndexList, param any) java.J

func (*GoPrinter) VisitInterfaceType

func (p *GoPrinter) VisitInterfaceType(it *golang.InterfaceType, param any) java.J

func (*GoPrinter) VisitKeyValue

func (p *GoPrinter) VisitKeyValue(kv *golang.KeyValue, param any) java.J

func (*GoPrinter) VisitLabel

func (p *GoPrinter) VisitLabel(l *java.Label, param any) java.J

func (*GoPrinter) VisitLiteral

func (p *GoPrinter) VisitLiteral(lit *java.Literal, param any) java.J

func (*GoPrinter) VisitMapType

func (p *GoPrinter) VisitMapType(mt *golang.MapType, param any) java.J

func (*GoPrinter) VisitMethodDeclaration

func (p *GoPrinter) VisitMethodDeclaration(md *java.MethodDeclaration, param any) java.J

func (*GoPrinter) VisitMethodInvocation

func (p *GoPrinter) VisitMethodInvocation(mi *java.MethodInvocation, param any) java.J

func (*GoPrinter) VisitMultiAssignment

func (p *GoPrinter) VisitMultiAssignment(ma *golang.MultiAssignment, param any) java.J

func (*GoPrinter) VisitParameterizedType

func (p *GoPrinter) VisitParameterizedType(pt *java.ParameterizedType, param any) java.J

func (*GoPrinter) VisitParentheses

func (p *GoPrinter) VisitParentheses(paren *java.Parentheses, param any) java.J

func (*GoPrinter) VisitPointerType

func (p *GoPrinter) VisitPointerType(pt *golang.PointerType, param any) java.J

func (*GoPrinter) VisitReturn

func (p *GoPrinter) VisitReturn(ret *java.Return, param any) java.J

func (*GoPrinter) VisitSend

func (p *GoPrinter) VisitSend(s *golang.Send, param any) java.J

func (*GoPrinter) VisitSlice

func (p *GoPrinter) VisitSlice(s *golang.Slice, param any) java.J

func (*GoPrinter) VisitStatementExpression

func (p *GoPrinter) VisitStatementExpression(se *golang.StatementExpression, param any) java.J

func (*GoPrinter) VisitStructType

func (p *GoPrinter) VisitStructType(st *golang.StructType, param any) java.J

func (*GoPrinter) VisitSwitch

func (p *GoPrinter) VisitSwitch(sw *java.Switch, param any) java.J

func (*GoPrinter) VisitTypeCast

func (p *GoPrinter) VisitTypeCast(tc *java.TypeCast, param any) java.J

func (*GoPrinter) VisitTypeDecl

func (p *GoPrinter) VisitTypeDecl(td *golang.TypeDecl, param any) java.J

func (*GoPrinter) VisitTypeList

func (p *GoPrinter) VisitTypeList(tl *golang.TypeList, param any) java.J

func (*GoPrinter) VisitTypeParameter added in v0.0.5

func (p *GoPrinter) VisitTypeParameter(tp *java.TypeParameter, param any) java.J

func (*GoPrinter) VisitTypeParameters added in v0.0.5

func (p *GoPrinter) VisitTypeParameters(tps *java.TypeParameters, param any) java.J

func (*GoPrinter) VisitUnary

func (p *GoPrinter) VisitUnary(unary *java.Unary, param any) java.J

func (*GoPrinter) VisitUnderlyingType added in v0.0.5

func (p *GoPrinter) VisitUnderlyingType(ut *golang.UnderlyingType, param any) java.J

func (*GoPrinter) VisitUnion added in v0.0.5

func (p *GoPrinter) VisitUnion(u *golang.Union, param any) java.J

func (*GoPrinter) VisitVariableDeclarations

func (p *GoPrinter) VisitVariableDeclarations(vd *java.VariableDeclarations, param any) java.J

func (*GoPrinter) VisitVariableDeclarator

func (p *GoPrinter) VisitVariableDeclarator(vd *java.VariableDeclarator, param any) java.J

type MarkerPrinter

type MarkerPrinter interface {
	// BeforePrefix returns text to emit before a node's prefix space.
	BeforePrefix(marker java.Marker, wrapper CommentWrapper) string

	// BeforeSyntax returns text to emit after a node's prefix but before its syntax.
	BeforeSyntax(marker java.Marker, wrapper CommentWrapper) string

	// AfterSyntax returns text to emit after a node's syntax.
	AfterSyntax(marker java.Marker, wrapper CommentWrapper) string
}

MarkerPrinter controls how cross-cutting markers (like SearchResult and Markup) are rendered in printed output. Go-specific markers (ShortVarDecl, GroupedImport, etc.) are handled directly by the printer's visit methods.

var DefaultMarkerPrinter MarkerPrinter = defaultMarkerPrinter{}

DefaultMarkerPrinter prints SearchResult and Markup markers as comments before syntax.

var FencedMarkerPrinter MarkerPrinter = fencedMarkerPrinter{}

FencedMarkerPrinter wraps markers with {{uuid}} delimiters before and after syntax.

var SanitizedMarkerPrinter MarkerPrinter = sanitizedMarkerPrinter{}

SanitizedMarkerPrinter strips all markers from output.

var SearchOnlyMarkerPrinter MarkerPrinter = searchOnlyMarkerPrinter{}

SearchOnlyMarkerPrinter prints only SearchResult markers (ignores Markup).

type PrintOutputCapture

type PrintOutputCapture struct {
	// contains filtered or unexported fields
}

PrintOutputCapture accumulates printed source code text.

func NewPrintOutputCapture

func NewPrintOutputCapture() *PrintOutputCapture

NewPrintOutputCapture creates a PrintOutputCapture with no marker printer.

func NewPrintOutputCaptureWithMarkers

func NewPrintOutputCaptureWithMarkers(mp MarkerPrinter) *PrintOutputCapture

NewPrintOutputCaptureWithMarkers creates a PrintOutputCapture with the given MarkerPrinter.

func (*PrintOutputCapture) AfterSyntax

func (p *PrintOutputCapture) AfterSyntax(markers java.Markers)

AfterSyntax emits marker output after a node's syntax.

func (*PrintOutputCapture) Append

func (p *PrintOutputCapture) Append(s string)

func (*PrintOutputCapture) BeforePrefix

func (p *PrintOutputCapture) BeforePrefix(markers java.Markers)

BeforePrefix emits marker output before a node's prefix space.

func (*PrintOutputCapture) BeforeSyntax

func (p *PrintOutputCapture) BeforeSyntax(markers java.Markers)

BeforeSyntax emits marker output after a node's prefix but before its syntax.

func (*PrintOutputCapture) String

func (p *PrintOutputCapture) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL