Documentation
¶
Index ¶
- func GoCommentWrapper(output string) string
- func Print(t java.Tree) string
- func PrintWithMarkers(t java.Tree, mp MarkerPrinter) string
- type CommentWrapper
- type GoPrinter
- func (p *GoPrinter) VisitAnnotation(ann *java.Annotation, param any) java.J
- func (p *GoPrinter) VisitArrayAccess(aa *java.ArrayAccess, param any) java.J
- func (p *GoPrinter) VisitArrayDimension(ad *java.ArrayDimension, param any) java.J
- func (p *GoPrinter) VisitArrayType(at *java.ArrayType, param any) java.J
- func (p *GoPrinter) VisitAssignment(assign *java.Assignment, param any) java.J
- func (p *GoPrinter) VisitAssignmentOperation(ao *java.AssignmentOperation, param any) java.J
- func (p *GoPrinter) VisitBinary(bin *java.Binary, param any) java.J
- func (p *GoPrinter) VisitBlock(block *java.Block, param any) java.J
- func (p *GoPrinter) VisitBreak(b *java.Break, param any) java.J
- func (p *GoPrinter) VisitCase(c *java.Case, param any) java.J
- func (p *GoPrinter) VisitChannel(ch *golang.Channel, param any) java.J
- func (p *GoPrinter) VisitCommClause(cc *golang.CommClause, param any) java.J
- func (p *GoPrinter) VisitCompilationUnit(cu *golang.CompilationUnit, param any) java.J
- func (p *GoPrinter) VisitComposite(c *golang.Composite, param any) java.J
- func (p *GoPrinter) VisitContinue(c *java.Continue, param any) java.J
- func (p *GoPrinter) VisitControlParentheses(cp *java.ControlParentheses, param any) java.J
- func (p *GoPrinter) VisitDefer(d *golang.Defer, param any) java.J
- func (p *GoPrinter) VisitEmpty(empty *java.Empty, param any) java.J
- func (p *GoPrinter) VisitFallthrough(f *golang.Fallthrough, param any) java.J
- func (p *GoPrinter) VisitFieldAccess(fa *java.FieldAccess, param any) java.J
- func (p *GoPrinter) VisitForControl(control *java.ForControl, param any) java.J
- func (p *GoPrinter) VisitForEachControl(control *java.ForEachControl, param any) java.J
- func (p *GoPrinter) VisitForEachLoop(forEach *java.ForEachLoop, param any) java.J
- func (p *GoPrinter) VisitForLoop(forLoop *java.ForLoop, param any) java.J
- func (p *GoPrinter) VisitFuncType(ft *golang.FuncType, param any) java.J
- func (p *GoPrinter) VisitGoStmt(g *golang.GoStmt, param any) java.J
- func (p *GoPrinter) VisitGoto(g *golang.Goto, param any) java.J
- func (p *GoPrinter) VisitIdentifier(ident *java.Identifier, param any) java.J
- func (p *GoPrinter) VisitIf(ifStmt *java.If, param any) java.J
- func (p *GoPrinter) VisitImport(imp *java.Import, param any) java.J
- func (p *GoPrinter) VisitIndexList(il *golang.IndexList, param any) java.J
- func (p *GoPrinter) VisitInterfaceType(it *golang.InterfaceType, param any) java.J
- func (p *GoPrinter) VisitKeyValue(kv *golang.KeyValue, param any) java.J
- func (p *GoPrinter) VisitLabel(l *java.Label, param any) java.J
- func (p *GoPrinter) VisitLiteral(lit *java.Literal, param any) java.J
- func (p *GoPrinter) VisitMapType(mt *golang.MapType, param any) java.J
- func (p *GoPrinter) VisitMethodDeclaration(md *java.MethodDeclaration, param any) java.J
- func (p *GoPrinter) VisitMethodInvocation(mi *java.MethodInvocation, param any) java.J
- func (p *GoPrinter) VisitMultiAssignment(ma *golang.MultiAssignment, param any) java.J
- func (p *GoPrinter) VisitParameterizedType(pt *java.ParameterizedType, param any) java.J
- func (p *GoPrinter) VisitParentheses(paren *java.Parentheses, param any) java.J
- func (p *GoPrinter) VisitPointerType(pt *golang.PointerType, param any) java.J
- func (p *GoPrinter) VisitReturn(ret *java.Return, param any) java.J
- func (p *GoPrinter) VisitSend(s *golang.Send, param any) java.J
- func (p *GoPrinter) VisitSlice(s *golang.Slice, param any) java.J
- func (p *GoPrinter) VisitStatementExpression(se *golang.StatementExpression, param any) java.J
- func (p *GoPrinter) VisitStructType(st *golang.StructType, param any) java.J
- func (p *GoPrinter) VisitSwitch(sw *java.Switch, param any) java.J
- func (p *GoPrinter) VisitTypeCast(tc *java.TypeCast, param any) java.J
- func (p *GoPrinter) VisitTypeDecl(td *golang.TypeDecl, param any) java.J
- func (p *GoPrinter) VisitTypeList(tl *golang.TypeList, param any) java.J
- func (p *GoPrinter) VisitUnary(unary *java.Unary, param any) java.J
- func (p *GoPrinter) VisitVariableDeclarations(vd *java.VariableDeclarations, param any) java.J
- func (p *GoPrinter) VisitVariableDeclarator(vd *java.VariableDeclarator, param any) java.J
- type MarkerPrinter
- type PrintOutputCapture
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GoCommentWrapper ¶
GoCommentWrapper wraps marker output in Go block comment syntax: /*~~(output)~~>*/
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 ¶
CommentWrapper wraps marker output in a language-appropriate comment syntax.
type GoPrinter ¶
GoPrinter prints an OpenRewrite LST back to Go source code.
func NewGoPrinter ¶
func NewGoPrinter() *GoPrinter
func (*GoPrinter) VisitAnnotation ¶
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 (*GoPrinter) VisitArrayDimension ¶
func (*GoPrinter) VisitArrayType ¶
func (*GoPrinter) VisitAssignment ¶
func (*GoPrinter) VisitAssignmentOperation ¶
func (*GoPrinter) VisitChannel ¶
func (*GoPrinter) VisitCommClause ¶
func (*GoPrinter) VisitCompilationUnit ¶
func (*GoPrinter) VisitComposite ¶
func (*GoPrinter) VisitContinue ¶
func (*GoPrinter) VisitControlParentheses ¶
func (*GoPrinter) VisitFallthrough ¶
func (*GoPrinter) VisitFieldAccess ¶
func (*GoPrinter) VisitForControl ¶
func (*GoPrinter) VisitForEachControl ¶
func (*GoPrinter) VisitForEachLoop ¶
func (*GoPrinter) VisitForLoop ¶
func (*GoPrinter) VisitFuncType ¶
func (*GoPrinter) VisitIdentifier ¶
func (*GoPrinter) VisitIndexList ¶
func (*GoPrinter) VisitInterfaceType ¶
func (*GoPrinter) VisitKeyValue ¶
func (*GoPrinter) VisitLiteral ¶
func (*GoPrinter) VisitMapType ¶
func (*GoPrinter) VisitMethodDeclaration ¶
func (*GoPrinter) VisitMethodInvocation ¶
func (*GoPrinter) VisitMultiAssignment ¶
func (*GoPrinter) VisitParameterizedType ¶
func (*GoPrinter) VisitParentheses ¶
func (*GoPrinter) VisitPointerType ¶
func (*GoPrinter) VisitStatementExpression ¶
func (*GoPrinter) VisitStructType ¶
func (*GoPrinter) VisitTypeCast ¶
func (*GoPrinter) VisitTypeDecl ¶
func (*GoPrinter) VisitTypeList ¶
func (*GoPrinter) VisitVariableDeclarations ¶
func (*GoPrinter) VisitVariableDeclarator ¶
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