Showing 75 of 517 total issues
Method Compiler.compileDefineAssign
has 6 return statements (exceeds 4 allowed). Open
Open
func (c *Compiler) compileDefineAssign(
node parser.Node,
lhs parser.Expr,
keyword token.Token,
op token.Token,
Method Compiler.compileCondExpr
has 6 return statements (exceeds 4 allowed). Open
Open
func (c *Compiler) compileCondExpr(node *parser.CondExpr) error {
if v, ok := node.Cond.(*parser.BoolLit); ok {
if v.Value {
return c.Compile(node.True)
}
Function canOptimizeInsts
has 6 return statements (exceeds 4 allowed). Open
Open
func canOptimizeInsts(constants []Object, insts []byte) bool {
if len(insts) == 0 {
return false
}
Function MakeInstruction
has 6 return statements (exceeds 4 allowed). Open
Open
func MakeInstruction(buf []byte, op Opcode, args ...int) ([]byte, error) {
operands := OpcodeOperands[op]
if len(operands) != len(args) {
return buf, fmt.Errorf(
"MakeInstruction: %s expected %d operands, but got %d",
Method Compiler.compileIfStmt
has 6 return statements (exceeds 4 allowed). Open
Open
func (c *Compiler) compileIfStmt(node *parser.IfStmt) error {
// open new symbol table for the statement
c.symbolTable = c.symbolTable.Fork(true)
defer func() {
c.symbolTable = c.symbolTable.Parent(false)
Function builtinSortFunc
has 6 return statements (exceeds 4 allowed). Open
Open
func builtinSortFunc(arg Object) (ret Object, err error) {
switch obj := arg.(type) {
case Array:
sort.Slice(obj, func(i, j int) bool {
v, e := obj[i].BinaryOp(token.Less, obj[j])
Consider simplifying this complex logical expression. Open
Open
if ch != '\r' || comment && i > len("/*") && c[i-1] == '*' &&
j+1 < len(b) && b[j+1] == '/' {
Function pad
has 6 return statements (exceeds 4 allowed). Confirmed
Confirmed
func pad(c ugo.Call, left bool) (ugo.Object, error) {
size := c.Len()
if size != 2 && size != 3 {
return ugo.Undefined,
ugo.ErrWrongNumArguments.NewError("want=2..3 got=" + strconv.Itoa(size))
Method Compiler.checkAssignment
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
Open
node parser.Node,
lhs []parser.Expr,
rhs []parser.Expr,
keyword token.Token,
op token.Token,
Method Compiler.compileDefineAssign
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
Open
node parser.Node,
lhs parser.Expr,
keyword token.Token,
op token.Token,
allowRedefine bool,
Method Compiler.compileDestructuring
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
Open
node parser.Node,
lhs []parser.Expr,
tempArrSymbol *Symbol,
keyword token.Token,
op token.Token,
Method Compiler.compileAssignStmt
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
Open
node parser.Node,
lhs []parser.Expr,
rhs []parser.Expr,
keyword token.Token,
op token.Token,
Method Compiler.compileImportExpr
has 5 return statements (exceeds 4 allowed). Open
Open
func (c *Compiler) compileImportExpr(node *parser.ImportExpr) error {
moduleName := node.ModuleName
if moduleName == "" {
return c.errorf(node, "empty module name")
}
Method VM.init
has 5 return statements (exceeds 4 allowed). Confirmed
Confirmed
func (vm *VM) init(globals Object, args ...Object) (Object, error) {
if vm.bytecode == nil || vm.bytecode.Main == nil {
return nil, errors.New("invalid Bytecode")
}
Method Bool.BinaryOp
has 5 return statements (exceeds 4 allowed). Open
Open
func (o Bool) BinaryOp(tok token.Token, right Object) (Object, error) {
bval := Int(0)
if o {
bval = Int(1)
}
Method Scanner.scanEscape
has 5 return statements (exceeds 4 allowed). Open
Open
func (s *Scanner) scanEscape(quote rune) bool {
offs := s.offset
var n int
var base, max uint32
Method Compiler.compileAssignStmt
has 5 return statements (exceeds 4 allowed). Open
Open
func (c *Compiler) compileAssignStmt(
node parser.Node,
lhs []parser.Expr,
rhs []parser.Expr,
keyword token.Token,
Method Array.IndexGet
has 5 return statements (exceeds 4 allowed). Open
Open
func (o Array) IndexGet(index Object) (Object, error) {
switch v := index.(type) {
case Int:
idx := int(v)
if idx >= 0 && idx < len(o) {
Method Scanner.Scan
has 5 return statements (exceeds 4 allowed). Open
Open
func (s *Scanner) Scan() (
tok token.Token,
literal string,
pos Pos,
) {
Method VM.xOpCallObject
has 5 return statements (exceeds 4 allowed). Confirmed
Confirmed
func (vm *VM) xOpCallObject(callee Object, numArgs, flags int) error {
if !callee.CanCall() {
return ErrNotCallable.NewError(callee.TypeName())
}