O Objeto Probe Data

Os objetos probe Data contêm os nomes e os tipos de itens de dados que são referidos pelo código fonte em um objeto Code do fragmento.

O objeto Data é opcional. Um fragmento probe pode conter mais de um objeto Data, mas dois objetos Data em um fragmento não podem ter o mesmo tipo ou nome.

O objeto Data inclui as seguintes propriedades:
Propriedade Descrição
name Obrigatório.Deve especificar um nome válido de variável Java.
type Obrigatório.Os tipos disponíveis estão listados na seguinte tabela.
A seguinte tabela lista e descreve os tipos e indica o tipo de dados para cada tipo:
Type Tipo de dados Descrição
className String

O nome da classe do método sondado, incluindo o nome do pacote, no formato interno.

Exemplo: org/eclipse/hyades/SomeClass

methodName String

O nome do método sondado, no formato interno. Não válido para fragmentos staticInitializer.

Construtores têm o nome do método <init>, inicializadores de classe estática têm <clinit> como o nome do método.

methodSig String

O argumento do método e a assinatura do tipo de retorno, no formato interno. Não válido para fragmentos staticInitializer.

Exemplo: (Ljava/lang/String;)I

thisObject Object

O objeto this (para métodos de instância) que foi transmitido para o método sondado. Não válido para fragmentos staticInitializer.

thisObject será null para métodos estáticos, para fragmentos entry que são aplicados aos construtores e para fragmentos exit aplicados a construtores quando o construtor lança uma exceção.

args Objeto[] Uma matriz de referências Objeto que representa os argumentos para o método sondado. Há um elemento nessa matriz em cada argumento para o método (sem contar o argumento this). Argumentos que são tipos primitivos são ligados em objetos temporários do tipo de referência adequado, por exemplo: Integer para int. Se o método não utilizar nenhum argumento, ele será uma matriz Objeto[] de tamanho zero. Observe que os construtores para classes internas não estáticas têm um argumento oculto por nível "interno", portanto, a matriz do argumento conterá mais elementos do que aqueles que aparecem no código fonte. Não válido para fragmentos staticInitializer.
returnedObject Object Uma referência ao objeto que está sendo retornado. Esse tipo está disponível apenas para fragmentos exit. Se o tipo de retorno do método sondado for um tipo primitivo, o valor retornado será ligado em um objeto temporário do tipo de referência adequado. Se o método for void (não retorna um valor) ou estiver sendo gerado por uma exceção, returnedObject será null. Válido apenas em fragmentos afterCall.
exceptionObject Lançável Uma referência ao objeto de exceção que está sendo lançado. Esse tipo está disponível apenas para fragmentos catch e exit. Se o método estiver sendo gerado normalmente, exceptionObject será null.
isFinally boolean Um sinalizador indicando se o fragmento foi chamado a partir de uma cláusula finally (true) ou de uma cláusula catch (false). Válido apenas em fragmentos catch.
staticField (varia) O objeto referido pelo campo estático. Seu tipo é igual àquele que foi declarado no objeto staticField. Ele será válido apenas se a probe também tiver o objeto staticField. Não válido para probes callsite.
classSourceFile String Informações do nome do arquivo de origem disponíveis a partir dos atributos de depuração do arquivo de classe. Se não houver nenhuma informação de origem, classSourceFile será null. Para Java, o valor é normalmente apenas o nome do arquivo, sem informações de caminho. Não válido para probes callsite.
methodNames String

Uma lista codificada de nomes e assinaturas de método. A ordem dos métodos nessa lista é a mesma ordem dos métodos em methodLineTables e é a mesma ordem refletida pelo item de dados methodNumber. A lista não incluirá os nomes de nenhum método que foi inserido na classe pelo Kit Probe.

A cadeia methodNames consiste em um ou mais nomes e assinaturas de métodos, separados por um sinal de mais ("+"). As assinaturas de métodos estão no formato interno Java. Por exemplo, uma classe com dois métodos, um construtor padrão de um método run que utiliza uma Cadeia e retorna um int, tem esta cadeia methodNames: <init>()V+run(Ljava/lang/String;)I

Não válido para probes callsite.

methodLineTables String Uma lista codificada de números de linha que correspondem a cada unidade executável do código na classe. A lista não incluirá unidades executáveis que foram inseridas na classe pelo Kit Probe. Para obter uma explicação da codificação, consulte Formato de Cadeia methodLineTables. Não válido para probes callsite.
methodNumber Inteiro O número do índice na tabela methodNames para o método no qual o fragmento da probe foi inserido. Não válido para probes callsite ou fragmentos staticInitializer.
executableUnitNumber Inteiro O número da unidade executável em que o fragmento probe foi inserido. Esse tipo de dados é válido apenas para os fragmentos probe executableUnit e catch. Se o método não tiver informações sobre a linha de origem, ele parecerá ter uma única unidade executável, numerada com zero.
Exemplo
<data
   type="className"   
   name="__class" />

Tópico-pai: Referência do Kit Probe

Copyright IBM Corporation e outros 2000, 2004.