You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: compute_helper.rb
    path of file: ./repos/powerstation/powerstation/IDE_plugin/src/main/resources/static-analyzer/controller_model_analysis
    
    the code of the file until where you have to start completion: def isAttrAssign(node)
	if node.getInstr.instance_of?AttrAssign_instr
		if node.getInstr.getFuncname.index('!') == nil
			return true
		end
	end
	return false  
end

def isTableAttrAssign(n)
	if n.getInstr.instance_of?AttrAssign_instr
		tbl_name = type_valid(n.getInstr, n.getInstr.getCaller)
		field_name = n.getInstr.getFuncname
		if tbl_name != nil
			if testTableField(tbl_name, field_name)
				return true
			end
		end
	end
	ret
    
def increase_dist(dist, node)
	#If it is a simple copy or assign func, then don't count as dist
	if node.getInstr.instance_of?Copy_instr or node.getInstr.instance_of?Return_instr or node.getInstr.is_a?ReceiveArg_instr
		return dist
	elsif node.getInstr.instance_of?GetField_instr #???
		return dist
	elsif node.getInstr.is_a?Call_instr and ["exists", "try"].include?node.getInstr.getFuncname.gsub('?','').gsub('!','')
		return dist 
	else
		return dist+1
	end
end