cpiElementValueValue

Propósito

Obtém o objeto de valor do elemento de sintaxe especificado. Esse objeto de valor é opaco no sentido de que ele não pode ser interrogado. Ele pode ser utilizado para definir ou derivar o valor de um elemento a partir de outro, sem conhecer seu tipo, utilizando a função cpiSetElementValueValue. Isso pode ser utilizado por analisadores que substituem comportamento chamando as funções de implementação cpiElementValue e cpiSetElementValue.

Sintaxe

const CciElementValue* cpiElementValueValue(
    int*            returnCode,
    CciElement*  targetElement);

Parâmetros

returnCode
Recebe o código de retorno da função (saída).
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
Especifica o endereço do objeto do elemento de sintaxe de destino (entrada).

Valores de Retorno

O endereço do objeto CciElementValue armazenado no elemento de sintaxe de destino especificado é retornado. Se um erro ocorrer, zero (CCI_NULL_ADDR) é retornado e returnCode indica a razão do erro.

Amostra

Este exemplo foi tirado do arquivo do analizador de amostra BipSampPluginParser.c (linhas 705 a 725):

const CciElementValue* cpiElementValue(
  CciParser*  parser,
  CciElement* element
){
  CciElement* firstChild;
  const CciElementValue* value;
  int         rc;

  if ((cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_VALUE) ||
      (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME_VALUE)) {
    value = cpiElementValueValue(&rc, element);
  }
  else if (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME) {
    firstChild = cniFirstChild(&rc, element);
    value = cpiElementValueValue(&rc, firstChild);
  }
  else {
  }

  return(value);
}
Conceitos relacionados
Analisadores Definidos pelo Usuário
Visão Geral de Extensões Definidas pelo Usuário
Tarefas relacionadas
Criando um Analisador Definido pelo Usuário
Referências relacionadas
cpiElementName
cpiElementType
Grupo cpiElementValue
Funções de Utilitários do Analisador C
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:10

as08460_