def _get_designation_type(self):
positions = self._get_specification_positions()<EOL>if positions[<NUM_LIT:0>] != -<NUM_LIT:1> and positions[<NUM_LIT:1>] != -<NUM_LIT:1>:<EOL><INDENT>pattern = re.compile(r'<STR_LIT>', re.IGNORECASE)<EOL>for line_number in range(positions[<NUM_LIT:0>], positions[<NUM_LIT:1>] + <NUM_LIT:1>):<EOL><INDENT>matches = pattern.findall(self._routine_source_code_lines[line_number])<EOL>if matches:<EOL><INDENT>self._designation_type = matches[<NUM_LIT:0>][<NUM_LIT:0>].lower()<EOL>tmp = str(matches[<NUM_LIT:0>][<NUM_LIT:1>])<EOL>if self._designation_type == '<STR_LIT>':<EOL><INDENT>n = re.compile(r'<STR_LIT>', re.IGNORECASE)<EOL>info = n.findall(tmp)<EOL>if not info:<EOL><INDENT>raise LoaderException('<STR_LIT>'.<EOL>format(self._source_filename))<EOL><DEDENT>self._table_name = info[<NUM_LIT:0>][<NUM_LIT:0>]<EOL>self._columns = str(info[<NUM_LIT:0>][<NUM_LIT:1>]).split('<STR_LIT:U+002C>')<EOL><DEDENT>elif self._designation_type == '<STR_LIT>' or self._designation_type == '<STR_LIT>':<EOL><INDENT>self._columns = str(matches[<NUM_LIT:0>][<NUM_LIT:1>]).split('<STR_LIT:U+002C>')<EOL><DEDENT>else:<EOL><INDENT>if matches[<NUM_LIT:0>][<NUM_LIT:1>]:<EOL><INDENT>raise LoaderException('<STR_LIT>'.format(self._designation_type))<EOL><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT>if not self._designation_type:<EOL><INDENT>raise LoaderException("<STR_LIT>".<EOL>format(self._source_filename))<EOL><DEDENT>
Extracts the designation type of the stored routine.