public override void Visit(IGlobalMethodDefinition globalMethodDefinition) { if (Process(globalMethodDefinition)) { visitor.Visit(globalMethodDefinition); } base.Visit(globalMethodDefinition); }
public override void TraverseChildren(IGlobalMethodDefinition globalMethod) { if (!MemberHelper.IsVisibleOutsideAssembly(globalMethod)) { return; } _assembly.EnrollApi(globalMethod); }
public override void Visit(IGlobalMethodDefinition method) { if (method.Name.Value == "main" && method.IsStatic && (TypeHelper.TypesAreEquivalent(method.Type.ResolvedType, this.compilation.PlatformType.SystemInt32) || TypeHelper.TypesAreEquivalent(method.Type.ResolvedType, this.compilation.PlatformType.SystemVoid)) && ParametersAreOkForMainMethod(method.Parameters)) { this.entryPoints.Add(method); } }
private IMethodDefinition GetPointerValidator() //TODO: rename __vcValid to __pointerIsValid { IMethodDefinition result = Dummy.Method; foreach (INamespaceMember member in this.unitSet.UnitSetNamespaceRoot.GetMembersNamed(this.nameTable.GetNameFor("__vcValid"), false)) { IGlobalMethodDefinition /*?*/ glob = member as IGlobalMethodDefinition; if (glob == null) { continue; } result = glob; break; } return(result); }
/// <summary> /// Traverses the global method definition. /// </summary> public void Traverse(IGlobalMethodDefinition globalMethodDefinition) { Contract.Requires(globalMethodDefinition != null); if (this.preorderVisitor != null) this.preorderVisitor.Visit(globalMethodDefinition); if (this.stopTraversal) return; this.TraverseChildren(globalMethodDefinition); if (this.stopTraversal) return; if (this.postorderVisitor != null) this.postorderVisitor.Visit(globalMethodDefinition); }
/// <summary> /// Traverses the children of the global method definition. /// </summary> public virtual void TraverseChildren(IGlobalMethodDefinition globalMethodDefinition) { Contract.Requires(globalMethodDefinition != null); this.TraverseChildren((IMethodDefinition)globalMethodDefinition); }
public override void TraverseChildren(IGlobalMethodDefinition globalMethod) { if (!MemberHelper.IsVisibleOutsideAssembly(globalMethod)) return; _assembly.EnrollApi(globalMethod); }
/// <summary> /// Performs some computation with the given global method definition. /// </summary> public virtual void Visit(IGlobalMethodDefinition globalMethodDefinition) { }
public override void TraverseChildren(IGlobalMethodDefinition globalMethodDefinition) { MethodEnter(globalMethodDefinition); base.TraverseChildren(globalMethodDefinition); MethodExit(); }
public void Visit(IGlobalMethodDefinition globalMethodDefinition) { throw new NotImplementedException(); }
public virtual void onMetadataElement(IGlobalMethodDefinition globalMethodDefinition) { }
/// <summary> /// Rewrites the specified global method definition. /// </summary> public virtual IGlobalMethodDefinition Rewrite(IGlobalMethodDefinition globalMethodDefinition) { return globalMethodDefinition; }
/// <summary> /// Performs some computation with the given global method definition. /// </summary> /// <param name="globalMethodDefinition"></param> public virtual void Visit(IGlobalMethodDefinition globalMethodDefinition) //^ ensures this.path.Count == old(this.path.Count); { this.Visit((IMethodDefinition)globalMethodDefinition); }
/// <summary> /// Performs some computation with the given global method definition. /// </summary> public void Visit(IGlobalMethodDefinition globalMethodDefinition) { this.Visit((IMethodDefinition)globalMethodDefinition); switch (globalMethodDefinition.Visibility) { case TypeMemberVisibility.Public: case TypeMemberVisibility.Private: case TypeMemberVisibility.Other: break; default: this.ReportError(MetadataError.InvalidGlobalFieldVisibility, globalMethodDefinition); break; } if (!globalMethodDefinition.IsStatic) this.ReportError(MetadataError.GlobalFieldNotStatic, globalMethodDefinition); }
public override void Visit(IGlobalMethodDefinition globalMethodDefinition) { if(Process(globalMethodDefinition)){visitor.Visit(globalMethodDefinition);} base.Visit(globalMethodDefinition); }
public void Visit(IGlobalMethodDefinition globalMethodDefinition) { this.traverser.Traverse(globalMethodDefinition); }
/// <summary> /// Traverses the children of the global method definition. /// </summary> public virtual void TraverseChildren(IGlobalMethodDefinition globalMethodDefinition) { this.TraverseChildren((IMethodDefinition)globalMethodDefinition); }
/// <summary> /// Performs some computation with the given global method definition. /// </summary> public virtual void Visit(IGlobalMethodDefinition globalMethodDefinition) { this.Visit((IMethodDefinition)globalMethodDefinition); }
public override void Visit(IGlobalMethodDefinition globalMethodDefinition) { allElements.Add(new InvokInfo(Traverser, "IGlobalMethodDefinition", globalMethodDefinition)); }
public virtual void Visit(IGlobalMethodDefinition globalMethodDefinition) { this.Visit((IMethodDefinition)globalMethodDefinition); }
/// <summary> /// Visits the specified global method definition. /// </summary> /// <param name="globalMethodDefinition">The global method definition.</param> /// <returns></returns> public override IGlobalMethodDefinition Visit(IGlobalMethodDefinition globalMethodDefinition) { var result = this.GetMutableCopy(globalMethodDefinition); if (this.contractProvider != null) { IMethodContract/*?*/ methodContract = this.contractProvider.GetMethodContractFor(globalMethodDefinition); if (methodContract != null) this.contractProvider.AssociateMethodWithContract(result, methodContract); } return this.Visit(result); }