/[svn]/linuxsampler/trunk/src/scriptvm/tree.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/scriptvm/tree.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2934 by schoenebeck, Mon Apr 25 17:28:23 2016 UTC revision 2935 by schoenebeck, Sun Jul 10 14:24:13 2016 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (c) 2014 Christian Schoenebeck and Andreas Persson   * Copyright (c) 2014 - 2016 Christian Schoenebeck and Andreas Persson
3   *   *
4   * http://www.linuxsampler.org   * http://www.linuxsampler.org
5   *   *
# Line 769  void Or::dump(int level) { Line 769  void Or::dump(int level) {
769      printf(")\n");      printf(")\n");
770  }  }
771    
772    int BitwiseOr::evalInt() {
773        IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
774        IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);
775        return pLHS->evalInt() | pRHS->evalInt();
776    }
777    
778    void BitwiseOr::dump(int level) {
779        printIndents(level);
780        printf("BitwiseOr(\n");
781        lhs->dump(level+1);
782        printIndents(level);
783        printf(",\n");
784        rhs->dump(level+1);
785        printIndents(level);
786        printf(")\n");
787    }
788    
789  int And::evalInt() {  int And::evalInt() {
790      IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);      IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
791      if (!pLHS->evalInt()) return 0;      if (!pLHS->evalInt()) return 0;
# Line 787  void And::dump(int level) { Line 804  void And::dump(int level) {
804      printf(")\n");      printf(")\n");
805  }  }
806    
807    int BitwiseAnd::evalInt() {
808        IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
809        IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);
810        return pLHS->evalInt() & pRHS->evalInt();
811    }
812    
813    void BitwiseAnd::dump(int level) {
814        printIndents(level);
815        printf("BitwiseAnd(\n");
816        lhs->dump(level+1);
817        printIndents(level);
818        printf(",\n");
819        rhs->dump(level+1);
820        printIndents(level);
821        printf(")\n");
822    }
823    
824  void Not::dump(int level) {  void Not::dump(int level) {
825      printIndents(level);      printIndents(level);
826      printf("Not(\n");      printf("Not(\n");
827      expr->dump(level+1);      expr->dump(level+1);
828      printIndents(level);      printIndents(level);
829      printf(")\n");      printf(")\n");
830    }
831    
832    void BitwiseNot::dump(int level) {
833        printIndents(level);
834        printf("BitwiseNot(\n");
835        expr->dump(level+1);
836        printIndents(level);
837        printf(")\n");
838  }  }
839    
840  VariableRef ParserContext::variableByName(const String& name) {  VariableRef ParserContext::variableByName(const String& name) {

Legend:
Removed from v.2934  
changed lines
  Added in v.2935

  ViewVC Help
Powered by ViewVC