protected virtual void InitializeMethod()
        {
            var blockStatement = GetBody();

            MethodDefinition = Declaration.Annotation <MethodDefinition>();
            InternalType     = GetReturnType();
            ExtractContext();
            Parameters = ExtractParameters();
            GetILInstructions(MethodDefinition);
            BranchingRegistry = new BranchingRegistry();
            Body = CreateBody(blockStatement, Parameters, this, Visitor);
        }
 public LabelTarget ResolveReturnStatementLabel()
 {
     return(BranchingRegistry.ResolveReturnStatementLabel());
 }
 public LabelTarget ResolveLabel(string name)
 {
     return(BranchingRegistry.ResolveLabel(name));
 }
 public LabelTarget RegisterReturnStatementLabel(Type type)
 {
     return(BranchingRegistry.RegisterReturnStatementLabel(type));
 }
 public LabelTarget RegisterLabel(Type type, string name)
 {
     return(BranchingRegistry.RegisterLabel(type, name));
 }