()
| 1957 | } |
| 1958 | |
| 1959 | double lengthOf() { |
| 1960 | int length = 0; |
| 1961 | interp.getLeftParen(); |
| 1962 | switch (interp.nextToken()) { |
| 1963 | case STRING_CONSTANT: |
| 1964 | case STRING_FUNCTION: |
| 1965 | case USER_FUNCTION: |
| 1966 | length = getString().length(); |
| 1967 | break; |
| 1968 | case WORD: |
| 1969 | if (pgm.code[interp.pc+2]=='[') { |
| 1970 | length = getString().length(); |
| 1971 | break; |
| 1972 | } |
| 1973 | interp.getToken(); |
| 1974 | Variable v = interp.lookupVariable(); |
| 1975 | if (v==null) return 0.0; |
| 1976 | String s = v.getString(); |
| 1977 | if (s!=null) |
| 1978 | length = s.length(); |
| 1979 | else { |
| 1980 | Variable[] array = v.getArray(); |
| 1981 | if (array!=null) |
| 1982 | length = v.getArraySize(); |
| 1983 | else |
| 1984 | interp.error("String or array expected"); |
| 1985 | } |
| 1986 | break; |
| 1987 | default: |
| 1988 | interp.error("String or array expected"); |
| 1989 | } |
| 1990 | interp.getRightParen(); |
| 1991 | return length; |
| 1992 | } |
| 1993 | |
| 1994 | void getCursorLoc() { |
| 1995 | Variable x = getFirstVariable(); |
no test coverage detected