mirror of
https://github.com/acpica/acpica/
synced 2025-01-25 10:52:02 +03:00
Method reference in RefOf, DeRefOf, ObjectType are NOT method
invocations, they are simple references. date 2005.03.09.18.46.00; author rmoore1; state Exp;
This commit is contained in:
parent
7105a25140
commit
d2dbe38e1c
@ -1,7 +1,7 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
* Module Name: asllookup- Namespace lookup
|
* Module Name: asllookup- Namespace lookup
|
||||||
* $Revision: 1.87 $
|
* $Revision: 1.88 $
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
@ -858,15 +858,29 @@ LkNamespaceLocateBegin (
|
|||||||
(Op->Asl.ParseOpcode == PARSEOP_METHODCALL))
|
(Op->Asl.ParseOpcode == PARSEOP_METHODCALL))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A reference to a method within one of these opcodes is not an
|
||||||
|
* invocation of the method, it is simply a reference to the method.
|
||||||
|
*/
|
||||||
|
if ((Op->Asl.Parent) &&
|
||||||
|
((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) ||
|
||||||
|
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_DEREFOF) ||
|
||||||
|
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE)))
|
||||||
|
{
|
||||||
|
return (AE_OK);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* There are two types of method invocation:
|
* There are two types of method invocation:
|
||||||
* 1) Invocation with arguments -- the parser recognizes this as a METHODCALL
|
* 1) Invocation with arguments -- the parser recognizes this
|
||||||
* 2) Invocation with no arguments --the parser cannot determine that this is a method
|
* as a METHODCALL.
|
||||||
* invocation, therefore we have to figure it out here.
|
* 2) Invocation with no arguments --the parser cannot determine that
|
||||||
|
* this is a method invocation, therefore we have to figure it out
|
||||||
|
* here.
|
||||||
*/
|
*/
|
||||||
if (Node->Type != ACPI_TYPE_METHOD)
|
if (Node->Type != ACPI_TYPE_METHOD)
|
||||||
{
|
{
|
||||||
sprintf (MsgBuffer, "%s is a %s", Op->Asl.ExternalName, AcpiUtGetTypeName (Node->Type));
|
sprintf (MsgBuffer, "%s is a %s",
|
||||||
|
Op->Asl.ExternalName, AcpiUtGetTypeName (Node->Type));
|
||||||
|
|
||||||
AslError (ASL_ERROR, ASL_MSG_NOT_METHOD, Op, MsgBuffer);
|
AslError (ASL_ERROR, ASL_MSG_NOT_METHOD, Op, MsgBuffer);
|
||||||
return (AE_OK);
|
return (AE_OK);
|
||||||
|
Loading…
Reference in New Issue
Block a user