private static Expression ParseToken(IOperation currentOperation) {
   Contract.Requires(currentOperation != null);
   TokenOf result = new TokenOf();
   result.Definition = currentOperation.Value;
   return result;
 }
Example #2
0
 private static Expression ParseToken(IOperation currentOperation)
 {
     TokenOf result = new TokenOf();
       result.Definition = currentOperation.Value;
       return result;
 }
Example #3
0
 /// <summary>
 /// Visits the specified token of.
 /// </summary>
 /// <param name="tokenOf">The token of.</param>
 public override void Visit(ITokenOf tokenOf)
 {
     TokenOf mutableTokenOf = new TokenOf(tokenOf);
     this.resultExpression = this.myCodeCopier.DeepCopy(mutableTokenOf);
 }
Example #4
0
 /// <summary>
 /// Visits the specified token of.
 /// </summary>
 /// <param name="tokenOf">The token of.</param>
 /// <returns></returns>
 protected virtual IExpression DeepCopy(TokenOf tokenOf)
 {
     IFieldReference/*?*/ fieldReference = tokenOf.Definition as IFieldReference;
       if (fieldReference != null)
     tokenOf.Definition = this.Substitute(fieldReference);
       else {
     IMethodReference/*?*/ methodReference = tokenOf.Definition as IMethodReference;
     if (methodReference != null)
       tokenOf.Definition = this.Substitute(methodReference);
     else
       tokenOf.Definition = this.Substitute((ITypeReference)tokenOf.Definition);
       }
       tokenOf.Type = this.Substitute(tokenOf.Type);
       return tokenOf;
 }
Example #5
0
 /// <summary>
 /// Rewrites the children of the given tokenof() expression.
 /// </summary>
 public virtual void RewriteChildren(TokenOf tokenOf)
 {
     this.RewriteChildren((Expression)tokenOf);
       var fieldReference = tokenOf.Definition as IFieldReference;
       if (fieldReference != null)
     tokenOf.Definition = this.Rewrite(fieldReference);
       else {
     var methodReference = tokenOf.Definition as IMethodReference;
     if (methodReference != null)
       tokenOf.Definition = this.Rewrite(methodReference);
     else {
       var typeReference = (ITypeReference)tokenOf.Definition;
       tokenOf.Definition = this.Rewrite(typeReference);
     }
       }
 }
Example #6
0
 /// <summary>
 /// Visits the specified token of.
 /// </summary>
 /// <param name="tokenOf">The token of.</param>
 public override void Visit(ITokenOf tokenOf)
 {
     TokenOf mutableTokenOf = tokenOf as TokenOf;
     if (alwaysMakeACopy || mutableTokenOf == null) mutableTokenOf = new TokenOf(tokenOf);
     this.resultExpression = this.myCodeMutator.Visit(mutableTokenOf);
 }
Example #7
0
 /// <summary>
 /// Visits the specified token of.
 /// </summary>
 /// <param name="tokenOf">The token of.</param>
 /// <returns></returns>
 public virtual IExpression Visit(TokenOf tokenOf)
 {
     IFieldReference/*?*/ fieldReference = tokenOf.Definition as IFieldReference;
       if (fieldReference != null)
     tokenOf.Definition = this.Visit(fieldReference);
       else {
     IMethodReference/*?*/ methodReference = tokenOf.Definition as IMethodReference;
     if (methodReference != null)
       tokenOf.Definition = this.Visit(methodReference);
     else
       tokenOf.Definition = this.Visit((ITypeReference)tokenOf.Definition);
       }
       tokenOf.Type = this.Visit(tokenOf.Type);
       return tokenOf;
 }