El formato de tipo serie methodLineTables

La serie de datos methodLineTables codifica una tabla con una entrada para cada unidad ejecutable de una clase.

El valor de cada entrada en la tabla methodLineTables corresponde a un número de línea del archivo fuente al que se hace referencia mediante la serie de datos classSourceFile, el número de línea fuente de una unidad ejecutable.

A continuación se ofrece un ejemplo de una serie methodLineTables:
#51+1201#75+11,41
A continuación se explica cómo interpretar la serie:
  • Los dígitos que siguen inmediatamente a un signo de número ("#") representan un número de línea completo en el código fuente de una clase. En el ejemplo, la primera unidad ejecutable del primer método de la clase está en la línea 51.
  • Cada dígito individual que sigue a un signo más ("+") representa el número de líneas que deben añadirse al número de línea anterior para obtener el número de línea de la siguiente unidad ejecutable. En el ejemplo, los dígitos que siguen al signo más (+1201) se utilizan para calcular los números de línea de la segunda a la quinta unidad ejecutable:
    1. 51 + 1 = el número de línea de la segunda unidad ejecutable: 52
    2. 52 + 2 = el número de línea de la tercera unidad ejecutable: 54
    3. 54 + 0 = el número de línea de la cuarta unidad ejecutable: 54 (dos unidades ejecutables en una línea fuente)
    4. 54 + 1 = el número de línea de la quinta unidad ejecutable: 55
  • Cuando un incremento de número de línea es negativo o mayor que nueve, se especifica el número de línea completo de la unidad ejecutable. En el ejemplo, la sexta unidad ejecutable está en la línea 75, veinte números mayor que el número de línea anterior, que era 55. En este caso, se especifica el número de línea completo para la sexta unidad ejecutable y el cálculo del número de línea relativo vuelve a empezar (#75+11):
    1. 75 = el número de línea de la sexta unidad ejecutable
    2. 75 + 1 = el número de línea de la séptima unidad ejecutable: 76
    3. 76 + 1 = el número de línea de la octava unidad ejecutable: 77
  • Una coma (",") indica el final de un método y el principio del siguiente. Los dígitos y los símbolos que siguen a la coma se interpretan como antes. En el ejemplo, el número de línea de la primera unidad ejecutable del segundo método es sólo 4 números mayor que el último número de línea calculado para el método anterior, de modo que el cálculo del número de línea relativo continúa después de la coma (,41):
    1. 77 + 4 = el número de línea de la primera unidad ejecutable del segundo método: 81
    2. 88 + 1 = el número de línea de la segunda unidad ejecutable del segundo método: 89
Nota: No todas las unidades ejecutables tendrán información de fuente asociada a las mismas. Algunas son creadas por el compilador para implementar la semántica del lenguaje Java; por ejemplo, manejo de excepciones, inicialización o sincronización. Estas unidades ejecutables generadas tendrán un número de línea completo de cero en la serie methodLineTables. Un número de línea completo de cero indica que la información del número de línea no está disponible. Cuando un método entero no tiene información de fuente, aparecerá como si tuviese una única unidad ejecutable correspondiente a número de línea cero.
A continuación se ofrecen algunos ejemplos más de series methodLineTables y sus significados:
Serie methodLineTables Significado
+5 Si el número de línea de la primera unidad ejecutable del primer método es menor que 10, la serie completa empieza con un signo más para iniciar una serie de incrementos desde la línea cero. En este ejemplo, la primera unidad ejecutable del primer método empieza en la línea 5.
+0 Si el primer método no tiene información de fuente, la serie empezará con +0. Cualquier fragmento de prueba executableUnit que se aplique a un método de este tipo sólo se insertará una vez, al principio del método.
...#437,#457+123... Si la primera unidad ejecutable de un método empieza más de nueve líneas después de la última unidad ejecutable del método anterior, el patrón es una coma, un signo de número y la serie de número de línea correspondiente a la primera unidad ejecutable del nuevo método. En este ejemplo parcial, la primera unidad ejecutable del nuevo método empieza 20 líneas después de la última unidad ejecutable del método anterior.
...#437,+2... Es posible que la última unidad ejecutable de un método requiera la notación "#" y que la primera unidad ejecutable del método siguiente esté sólo a una pequeña distancia. En este ejemplo parcial, la última unidad ejecutable de un método empieza en la línea 437 y la primera unidad ejecutable del siguiente método empieza en la línea 439.

Tema padre: Consulta de Probekit

Consulta relacionada
El objeto de prueba Fragment
El objeto de prueba Data

Copyright IBM Corporation y otras empresas 2000, 2004.