示例#1
0
        public void Load(AmlParser.AMLCode code)
        {
            // Because of arbitrary forward-references to names in the AML, we
            // have to do this in three phases:
            // 1. Populate the namespace with all the names;
            // 2. Fill in the details of all the object values.
            // This allows us to verify that references only reference real
            // existing names.

            NamesVisitor namesVisitor = new NamesVisitor(acpiNamespace);

            foreach (TermObj termObj in code.termList)
            {
                termObj.Accept(namesVisitor);
            }

            ValuesVisitor valuesVisitor = new ValuesVisitor(this, acpiNamespace);

            foreach (TermObj termObj in code.termList)
            {
                termObj.Accept(valuesVisitor);
            }
        }
示例#2
0
 public virtual void Visit(AmlParser.AMLCode amlCode)
 {
     UnhandledNodeType("AMLCode");
 }