public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     if (Process(getTypeOfTypedReference))
     {
         visitor.Visit(getTypeOfTypedReference);
     }
     base.Visit(getTypeOfTypedReference);
 }
 public virtual void onASTElement(IGetTypeOfTypedReference getTypeOfTypedReference) { }
Esempio n. 3
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public GetTypeOfTypedReference(IGetTypeOfTypedReference getTypeOfTypedReference)
     : base(getTypeOfTypedReference)
 {
     this.typedReference = getTypeOfTypedReference.TypedReference;
 }
Esempio n. 4
0
 public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     Contract.Requires(getTypeOfTypedReference != null);
       throw new NotImplementedException();
 }
Esempio n. 5
0
 public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     this.traverser.Traverse(getTypeOfTypedReference);
 }
Esempio n. 6
0
 /// <summary>
 /// Traverses the get type of typed reference expression.
 /// </summary>
 public void Traverse(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     Contract.Requires(getTypeOfTypedReference != null);
       if (this.preorderVisitor != null) this.preorderVisitor.Visit(getTypeOfTypedReference);
       if (this.StopTraversal) return;
       this.TraverseChildren(getTypeOfTypedReference);
       if (this.StopTraversal) return;
       if (this.postorderVisitor != null) this.postorderVisitor.Visit(getTypeOfTypedReference);
 }
Esempio n. 7
0
 //^ ensures this.path.Count == old(this.path.Count);
 /// <summary>
 /// Traverses the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     if (this.stopTraversal) return;
       //^ int oldCount = this.path.Count;
       this.path.Push(getTypeOfTypedReference);
       this.Visit(getTypeOfTypedReference.TypedReference);
       //^ assume this.path.Count == oldCount+1; //True because all of the virtual methods of this class promise not to decrease this.path.Count.
       this.path.Pop();
 }
Esempio n. 8
0
 public virtual void onASTElement(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
 }
 /// <summary>
 /// Rewrites the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual IExpression Rewrite(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     return getTypeOfTypedReference;
 }
Esempio n. 10
0
 public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     allElements.Add(new InvokInfo(Traverser, "IGetTypeOfTypedReference", getTypeOfTypedReference));
 }
Esempio n. 11
0
 public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     base.TraverseChildren(getTypeOfTypedReference);
     ((GetTypeOfTypedReference)getTypeOfTypedReference).Type = this.platformType.SystemType;
 }
Esempio n. 12
0
 /// <summary>
 /// Generates IL for the specified get type of typed reference.
 /// </summary>
 /// <param name="getTypeOfTypedReference">The get type of typed reference.</param>
 public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     this.Traverse(getTypeOfTypedReference.TypedReference);
       this.generator.Emit(OperationCode.Refanytype);
 }
 public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     if(Process(getTypeOfTypedReference)){visitor.Visit(getTypeOfTypedReference);}
     base.Visit(getTypeOfTypedReference);
 }
Esempio n. 14
0
 public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     this.result = this.rewriter.Rewrite(getTypeOfTypedReference);
 }
Esempio n. 15
0
 /// <summary>
 /// Rewrites the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual IExpression Rewrite(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     var mutableGetTypeOfTypedReference = getTypeOfTypedReference as GetTypeOfTypedReference;
       if (mutableGetTypeOfTypedReference == null) return getTypeOfTypedReference;
       this.RewriteChildren(mutableGetTypeOfTypedReference);
       return mutableGetTypeOfTypedReference;
 }
Esempio n. 16
0
 /// <summary>
 /// Visits the specified get type of typed reference.
 /// </summary>
 /// <param name="getTypeOfTypedReference">The get type of typed reference.</param>
 public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     GetTypeOfTypedReference mutableGetTypeOfTypedReference = getTypeOfTypedReference as GetTypeOfTypedReference;
     if (alwaysMakeACopy || mutableGetTypeOfTypedReference == null) mutableGetTypeOfTypedReference = new GetTypeOfTypedReference(getTypeOfTypedReference);
     this.resultExpression = this.myCodeMutator.Visit(mutableGetTypeOfTypedReference);
 }
Esempio n. 17
0
 public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     this.result = this.copier.Copy(getTypeOfTypedReference);
 }
Esempio n. 18
0
 public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference) {
   base.TraverseChildren(getTypeOfTypedReference);
   ((GetTypeOfTypedReference)getTypeOfTypedReference).Type = this.platformType.SystemType;
 }
        public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference)
{ MethodEnter(getTypeOfTypedReference);
            base.TraverseChildren(getTypeOfTypedReference);
     MethodExit();   }
Esempio n. 20
0
    /// <summary>
    /// Returns a deep copy of the given get type of typed reference expression.
    /// </summary>
    /// <param name="getTypeOfTypedReference"></param>
    public GetTypeOfTypedReference Copy(IGetTypeOfTypedReference getTypeOfTypedReference) {
      Contract.Requires(getTypeOfTypedReference != null);
      Contract.Ensures(Contract.Result<GetTypeOfTypedReference>() != null);

      var mutableCopy = this.shallowCopier.Copy(getTypeOfTypedReference);
      this.CopyChildren((Expression)mutableCopy);
      mutableCopy.TypedReference = this.Copy(mutableCopy.TypedReference);
      return mutableCopy;
    }
Esempio n. 21
0
 /// <summary>
 /// Performs some computation with the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
 }
Esempio n. 22
0
    /// <summary>
    /// Returns a shallow copy of the given get type of typed reference expression.
    /// </summary>
    /// <param name="getTypeOfTypedReference"></param>
    public GetTypeOfTypedReference Copy(IGetTypeOfTypedReference getTypeOfTypedReference) {
      Contract.Requires(getTypeOfTypedReference != null);
      Contract.Ensures(Contract.Result<GetTypeOfTypedReference>() != null);

      return new GetTypeOfTypedReference(getTypeOfTypedReference);
    }
Esempio n. 23
0
 /// <summary>
 /// Traverses the children of the get type of typed reference expression.
 /// </summary>
 public virtual void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     Contract.Requires(getTypeOfTypedReference != null);
       this.TraverseChildren((IExpression)getTypeOfTypedReference);
       if (this.StopTraversal) return;
       this.Traverse(getTypeOfTypedReference.TypedReference);
 }
 /// <summary>
 /// Performs some computation with the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
 }
Esempio n. 25
0
 /// <summary>
 /// Performs some computation with the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public virtual void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     this.Visit((IExpression)getTypeOfTypedReference);
 }
Esempio n. 26
0
 /// <summary>
 /// Visits the specified get type of typed reference.
 /// </summary>
 /// <param name="getTypeOfTypedReference">The get type of typed reference.</param>
 public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     GetTypeOfTypedReference mutableGetTypeOfTypedReference = new GetTypeOfTypedReference(getTypeOfTypedReference);
     this.resultExpression = this.myCodeCopier.DeepCopy(mutableGetTypeOfTypedReference);
 }
Esempio n. 27
0
 public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     throw new NotImplementedException();
 }
Esempio n. 28
0
 /// <summary>
 /// Returns a deep copy of the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public GetTypeOfTypedReference Copy(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     var mutableCopy = this.shallowCopier.Copy(getTypeOfTypedReference);
       this.CopyChildren((Expression)mutableCopy);
       mutableCopy.TypedReference = this.Copy(mutableCopy.TypedReference);
       return mutableCopy;
 }
 public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference) {
   this.sourceEmitterOutput.Write("__reftype(");
   this.Traverse(getTypeOfTypedReference.TypedReference);
   this.sourceEmitterOutput.Write(")");
 }
Esempio n. 30
0
 /// <summary>
 /// Returns a shallow copy of the given get type of typed reference expression.
 /// </summary>
 /// <param name="getTypeOfTypedReference"></param>
 public GetTypeOfTypedReference Copy(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     return new GetTypeOfTypedReference(getTypeOfTypedReference);
 }
Esempio n. 31
0
 public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     MethodEnter(getTypeOfTypedReference);
     base.TraverseChildren(getTypeOfTypedReference);
     MethodExit();
 }
Esempio n. 32
0
 /// <summary>
 /// Visits the specified get type of typed reference.
 /// </summary>
 /// <param name="getTypeOfTypedReference">The get type of typed reference.</param>
 public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference)
 {
     GetTypeOfTypedReference mutableGetTypeOfTypedReference = getTypeOfTypedReference as GetTypeOfTypedReference;
     if (mutableGetTypeOfTypedReference == null) {
       this.resultExpression = getTypeOfTypedReference;
       return;
     }
     this.resultExpression = this.myCodeMutator.Visit(mutableGetTypeOfTypedReference);
 }