public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { if (Process(getTypeOfTypedReference)) { visitor.Visit(getTypeOfTypedReference); } base.Visit(getTypeOfTypedReference); }
public virtual void onASTElement(IGetTypeOfTypedReference getTypeOfTypedReference) { }
/// <summary> /// /// </summary> /// <param name="getTypeOfTypedReference"></param> public GetTypeOfTypedReference(IGetTypeOfTypedReference getTypeOfTypedReference) : base(getTypeOfTypedReference) { this.typedReference = getTypeOfTypedReference.TypedReference; }
public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { Contract.Requires(getTypeOfTypedReference != null); throw new NotImplementedException(); }
public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { this.traverser.Traverse(getTypeOfTypedReference); }
/// <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); }
//^ 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(); }
/// <summary> /// Rewrites the given get type of typed reference expression. /// </summary> /// <param name="getTypeOfTypedReference"></param> public virtual IExpression Rewrite(IGetTypeOfTypedReference getTypeOfTypedReference) { return getTypeOfTypedReference; }
public override void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { allElements.Add(new InvokInfo(Traverser, "IGetTypeOfTypedReference", getTypeOfTypedReference)); }
public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference) { base.TraverseChildren(getTypeOfTypedReference); ((GetTypeOfTypedReference)getTypeOfTypedReference).Type = this.platformType.SystemType; }
/// <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); }
public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { this.result = this.rewriter.Rewrite(getTypeOfTypedReference); }
/// <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; }
/// <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); }
public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { this.result = this.copier.Copy(getTypeOfTypedReference); }
public override void TraverseChildren(IGetTypeOfTypedReference getTypeOfTypedReference) { MethodEnter(getTypeOfTypedReference); base.TraverseChildren(getTypeOfTypedReference); MethodExit(); }
/// <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; }
/// <summary> /// Performs some computation with the given get type of typed reference expression. /// </summary> /// <param name="getTypeOfTypedReference"></param> public virtual void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { }
/// <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); }
/// <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) { this.Visit((IExpression)getTypeOfTypedReference); }
/// <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); }
public void Visit(IGetTypeOfTypedReference getTypeOfTypedReference) { throw new NotImplementedException(); }
/// <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(")"); }
/// <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); }
/// <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); }