Пример #1
0
 private void VisitUnaryOperator(AmlParserNode operand,
                                 AmlParser.Target target, StackIRNode stackNode)
 {
     if (IsNullTarget(target))
     {
         operand.Accept(this);
         result.Add(stackNode);
     }
     else
     {
         target.Accept(this);
         operand.Accept(this);
         result.Add(stackNode);
         result.Add(new Store());
     }
 }
Пример #2
0
            private AcpiObject.AcpiObject LoadTimeEvaluate(AmlParserNode parserNode)
            {
                LoadTimeEvaluateVisitor visitor =
                    new LoadTimeEvaluateVisitor(acpiNamespace, currentPath);

                parserNode.Accept(visitor);
                return(visitor.Result);
            }
Пример #3
0
 private void VisitBinaryOperator(AmlParserNode left, AmlParserNode right,
                                  AmlParser.Target target, StackIRNode stackNode)
 {
     if (IsNullTarget(target))
     {
         right.Accept(this);
         left.Accept(this);
         result.Add(stackNode);
     }
     else
     {
         target.Accept(this);
         right.Accept(this);
         left.Accept(this);
         result.Add(stackNode);
         result.Add(new Store());
     }
 }