public override MethodEntity ParseMethod() { if (this.RetVar != null) { this.StatementProcessor.RegisterNewExpressionAssignment(RetVar, new TypeDescriptor(RetVar.Type, false)); } var descriptor = new MethodEntityDescriptor(this.MethodDescriptor); //EntityFactory.Create(this.MethodDescriptor, this.Dispatcher); var methodEntity = new MethodEntity(this.MethodDescriptor, this.MethodInterfaceData, this.PropGraph, descriptor, this.InstantiatedTypes, false); return(methodEntity); }
public override MethodEntity ParseMethod() { Contract.Assert(this.methodNode != null); var propGraphGenerator = new MethodSyntaxVisitor(this.model, this.RoslynMethod, this, this.containingTypeNode, this.methodNode); propGraphGenerator.Visit(this.methodNode); var descriptor = new MethodEntityDescriptor(propGraphGenerator.MethodDescriptor); //EntityFactory.Create(this.MethodDescriptor, this.Dispatcher); var declarationInfo = CodeGraphHelper.GetMethodDeclarationInfo(this.methodNode, this.RoslynMethod); var referenceInfo = CodeGraphHelper.GetMethodReferenceInfo(this.methodNode); var methodEntity = new MethodEntity(propGraphGenerator.MethodDescriptor, propGraphGenerator.MethodInterfaceData, propGraphGenerator.PropGraph, descriptor, propGraphGenerator.InstantiatedTypes, propGraphGenerator.StatementProcessor.AnonymousMethods, declarationInfo, referenceInfo); return(methodEntity); }