@@ -3,7 +3,7 @@ import {ProtoRecord, Record, PROTO_RECORD_CONST, PROTO_RECORD_PURE_FUNCTION,
33import  { FIELD ,  IMPLEMENTS ,  isBlank ,  isPresent ,  int ,  toBool ,  autoConvertAdd ,  BaseException }  from  'facade/lang' ; 
44import  { ListWrapper }  from  'facade/collection' ; 
55import  { AST ,  AccessMember ,  ImplicitReceiver ,  AstVisitor ,  LiteralPrimitive , 
6-   Binary ,  Formatter ,  MethodCall ,  FunctionCall }  from  './parser/ast' ; 
6+   Binary ,  Formatter ,  MethodCall ,  FunctionCall ,   PrefixNot }  from  './parser/ast' ; 
77
88export  class  ProtoWatchGroup  { 
99  @FIELD ( 'headRecord:ProtoRecord' ) 
@@ -170,10 +170,14 @@ class ProtoRecordCreator {
170170
171171  visitBinary ( ast :Binary ,  dest )  { 
172172    var  record  =  this . construct ( PROTO_RECORD_PURE_FUNCTION ,  _operationToFunction ( ast . operation ) ,  2 ,  dest ) ; 
173- 
174173    ast . left . visit ( this ,  new  Destination ( record ,  0 ) ) ; 
175174    ast . right . visit ( this ,  new  Destination ( record ,  1 ) ) ; 
175+     this . add ( record ) ; 
176+   } 
176177
178+   visitPrefixNot ( ast :PrefixNot ,  dest )  { 
179+     var  record  =  this . construct ( PROTO_RECORD_PURE_FUNCTION ,  _operation_negate ,  1 ,  dest ) ; 
180+     ast . expression . visit ( this ,  new  Destination ( record ,  0 ) ) ; 
177181    this . add ( record ) ; 
178182  } 
179183
@@ -232,7 +236,6 @@ class ProtoRecordCreator {
232236
233237function  _operationToFunction ( operation :string ) :Function  { 
234238  switch ( operation )  { 
235-     case  '!'   : return  _operation_negate ; 
236239    case  '+'   : return  _operation_add ; 
237240    case  '-'   : return  _operation_subtract ; 
238241    case  '*'   : return  _operation_multiply ; 
0 commit comments