Beispiel #1
0
 public DelayLoadHelperImport(
     NodeFactory factory,
     ImportSectionNode importSectionNode,
     ReadyToRunHelper helper,
     Signature instanceSignature,
     bool useVirtualCall      = false,
     MethodDesc callingMethod = null)
     : base(importSectionNode, instanceSignature, callingMethod)
 {
     _helper          = helper;
     _useVirtualCall  = useVirtualCall;
     _delayLoadHelper = new ImportThunk(helper, factory, this, useVirtualCall);
 }
Beispiel #2
0
 public DelayLoadHelperImport(
     ReadyToRunCodegenNodeFactory factory,
     ImportSectionNode importSectionNode,
     ReadyToRunHelper helper,
     Signature instanceSignature,
     bool useVirtualCall = false,
     string callSite     = null)
     : base(importSectionNode, instanceSignature, callSite)
 {
     _helper          = helper;
     _useVirtualCall  = useVirtualCall;
     _delayLoadHelper = new ImportThunk(helper, factory, this, useVirtualCall);
 }
 public DelayLoadHelperMethodImport(
     ReadyToRunCodegenNodeFactory factory,
     ImportSectionNode importSectionNode,
     ReadyToRunHelper helper,
     MethodDesc methodDesc,
     Signature instanceSignature,
     string callSite = null)
     : base(factory, importSectionNode, helper, instanceSignature, callSite)
 {
     _helper          = helper;
     _methodDesc      = methodDesc;
     _delayLoadHelper = new ImportThunk(helper, factory, this);
 }
 public DelayLoadHelperMethodImport(
     ReadyToRunCodegenNodeFactory factory,
     ImportSectionNode importSectionNode,
     ReadyToRunHelper helper,
     MethodWithToken method,
     bool useInstantiatingStub,
     Signature instanceSignature,
     SignatureContext signatureContext,
     string callSite = null)
     : base(factory, importSectionNode, helper, instanceSignature, callSite)
 {
     _helper = helper;
     _method = method;
     _useInstantiatingStub = useInstantiatingStub;
     _delayLoadHelper      = new ImportThunk(helper, factory, this);
     _signatureContext     = signatureContext;
 }
Beispiel #5
0
        public override int CompareToImpl(ISortableNode other, CompilerComparer comparer)
        {
            ImportThunk otherNode = (ImportThunk)other;
            int         result    = ((int)_thunkKind).CompareTo((int)otherNode._thunkKind);

            if (result != 0)
            {
                return(result);
            }

            result = ((ImportSectionNode)_containingImportSection).CompareToImpl((ImportSectionNode)otherNode._containingImportSection, comparer);
            if (result != 0)
            {
                return(result);
            }

            return(comparer.Compare(_helperCell, otherNode._helperCell));
        }
Beispiel #6
0
        public override int CompareToImpl(ISortableNode other, CompilerComparer comparer)
        {
            ImportThunk otherNode = (ImportThunk)other;
            int         result    = ((int)_thunkKind).CompareTo((int)otherNode._thunkKind);

            if (result != 0)
            {
                return(result);
            }

            result = comparer.Compare(_helperCell, otherNode._helperCell);
            if (result != 0)
            {
                return(result);
            }

            return(comparer.Compare(_instanceCell, otherNode._instanceCell));
        }