|
From: | Konstantin L. Metlov |
Subject: | Re: [Help-jel] question |
Date: | Thu, 7 Apr 2005 14:32:36 +0200 (CEST) |
Dear Damien,
Yes, this is the right way. I'm not sure if there can be anything really better for this task. The method "getTypeName(String name)" of the resolver is called for each of recognized identifiers as soon as they are recognized by the parser. It is really the best place to collect variable names.Is there a way to get the list of variables referenced/used in an expression? Using the resolver it could be possible: - create an empty list before compiling - compiling - in getTypeName calls, add the var to the list Is it right? Is there a better way?
One thing to note is that if the variable name contains dots (e.g. looks like "name1.name2.name3") the getTypeName() will be called three times (with arguments "name1", "name1.name2" and "name1.name2.name3"), which reflects the hierarchical (tree-like) structure of DV namespace. In this case, the longest sequence for which getTypeName() still returns a non-null value is considered to be the DV name, but the variables on the preceding level of the hierarchy (e.g. "name1" and "name1.name2" in the above example) must also be defined (e.g. (getTypeName("name1") != null) and (getTypeName("name1.name2")!=null)).
With the best regards, Konstantin.
[Prev in Thread] | Current Thread | [Next in Thread] |