Documentation
¶
Index ¶
- func GoCommentWrapper(output string) string
- func Print(t java.Tree) string
- func PrintGoMod(gm *golang.GoMod) 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) VisitGoAssignmentOperation(ao *golang.AssignmentOperation, param any) java.J
- func (p *GoPrinter) VisitGoBinary(binary *golang.Binary, param any) java.J
- func (p *GoPrinter) VisitGoStmt(g *golang.GoStmt, param any) java.J
- func (p *GoPrinter) VisitGoUnary(unary *golang.Unary, param any) java.J
- func (p *GoPrinter) VisitGoVariadic(v *golang.Variadic, 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) VisitTypeParameter(tp *java.TypeParameter, param any) java.J
- func (p *GoPrinter) VisitTypeParameters(tps *java.TypeParameters, param any) java.J
- func (p *GoPrinter) VisitUnary(unary *java.Unary, param any) java.J
- func (p *GoPrinter) VisitUnderlyingType(ut *golang.UnderlyingType, param any) java.J
- func (p *GoPrinter) VisitUnion(u *golang.Union, 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 PrintGoMod ¶ added in v0.0.9
PrintGoMod renders a GoMod LST back to source. Because every byte of whitespace and every comment is preserved on the tree, an unmodified GoMod prints to exactly the bytes it was parsed from.
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) VisitGoAssignmentOperation ¶ added in v0.0.6
func (*GoPrinter) VisitGoBinary ¶ added in v0.0.6
func (*GoPrinter) VisitGoUnary ¶ added in v0.0.6
func (*GoPrinter) VisitGoVariadic ¶ added in v0.0.6
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) VisitTypeParameter ¶ added in v0.0.5
func (*GoPrinter) VisitTypeParameters ¶ added in v0.0.5
func (*GoPrinter) VisitUnderlyingType ¶ added in v0.0.5
func (*GoPrinter) VisitUnion ¶ added in v0.0.5
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