Versions in this module Expand all Collapse all v0 v0.1.0 Mar 30, 2022 Changes in this version + func CompareThanosToMRI(program, label string) (string, string, error) + func Compile(p *parser.Root) (string, error) + type GoProgram struct + BlockStack *parser.Stack[*ast.BlockStmt] + Constants []*ast.ValueSpec + CurrentLhs []parser.Node + GlobalVars []*ast.ValueSpec + Imports map[string]bool + ScopeChain parser.ScopeChain + State *parser.Stack[State] + TrackerStack []bst.IdentTracker + func (g *GoProgram) AddImports(packages ...string) + func (g *GoProgram) BuildBlock(blk *parser.Block) *types.Block + func (g *GoProgram) CompileArg(node parser.Node) ast.Expr + func (g *GoProgram) CompileAssignmentNode(node *parser.AssignmentNode) + func (g *GoProgram) CompileBlockStmt(node parser.Node) *ast.BlockStmt + func (g *GoProgram) CompileClass(c *parser.Class) []ast.Decl + func (g *GoProgram) CompileExpr(node parser.Node) ast.Expr + func (g *GoProgram) CompileFunc(m *parser.Method, c *parser.Class) []ast.Decl + func (g *GoProgram) CompileModule(mod *parser.Module) []ast.Decl + func (g *GoProgram) CompileRangeIndexNode(rcvr ast.Expr, r *parser.RangeNode) ast.Expr + func (g *GoProgram) CompileStmt(node parser.Node) + func (g *GoProgram) CompileStringNode(node *parser.StringNode) ast.Expr + func (g *GoProgram) CompileSuperNode(node *parser.SuperNode) ast.Expr + func (g *GoProgram) GetFuncParams(rubyParams []*parser.Param) []*ast.Field + func (g *GoProgram) GetReturnType(t types.Type) []*ast.Field + func (g *GoProgram) TransformInfixExpressionNode(node *parser.InfixExpressionNode) ast.Expr + func (g *GoProgram) TransformMethodCall(c *parser.MethodCall) types.Transform + type State string + const InBlockBody + const InCondAssignment + const InFuncDeclaration + const InMethodDeclaration + const InReturnStatement