コード例 #1
1
ファイル: RubyAccessorInfo.cs プロジェクト: TerabyteX/main
 protected RubyAttributeAccessorInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule, string/*!*/ variableName)
     : base(flags, declaringModule)
 {
     Assert.NotEmpty(variableName);
     Debug.Assert(variableName.StartsWith("@"));
     _instanceVariableName = variableName;
 }
コード例 #2
1
 /// <summary>
 /// Creates a Ruby method implemented by a method group of CLR methods.
 /// </summary>
 internal RubyLibraryMethodInfo(LibraryOverload/*!*/[]/*!*/ overloads, RubyMemberFlags flags, RubyModule/*!*/ declaringModule)
     : base(null, flags, declaringModule)
 {
     Assert.NotNullItems(overloads);
     Assert.NotEmpty(overloads);
     _overloads = overloads;
 }
コード例 #3
1
ファイル: RubyFieldInfo.cs プロジェクト: Hank923/ironruby
 public RubyFieldInfo(FieldInfo/*!*/ fieldInfo, RubyMemberFlags flags, RubyModule/*!*/ declaringModule, bool isSetter, bool isDetached)
     : base(flags, declaringModule) {
     Assert.NotNull(fieldInfo, declaringModule);
     _fieldInfo = fieldInfo;
     _isSetter = isSetter;
     _isDetached = isDetached;
 }
コード例 #4
1
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo/*!*/ info, RubyMemberFlags flags, RubyModule/*!*/ module)
     : base(info.MethodBases, flags, module) {
     _isStatic = info._isStatic;
     _hasVirtuals = info._hasVirtuals;
     _staticDispatchMethods = info._staticDispatchMethods;
     // Note: overloadOwners and maxCachedOverloadLevel are cleared whenever the group is copied.
 }
コード例 #5
1
 internal RubyLambdaMethodInfo(Proc/*!*/ block, string/*!*/ definitionName, RubyMemberFlags flags, RubyModule/*!*/ declaringModule) 
     : base(flags, declaringModule) {
     Assert.NotNull(block, definitionName, declaringModule);
     _lambda = block.ToLambda(this);
     _definitionName = definitionName;
     _id = Interlocked.Increment(ref _Id);
 }
コード例 #6
1
ファイル: RubyMethodGroupBase.cs プロジェクト: TerabyteX/main
 protected RubyMethodGroupBase(OverloadInfo/*!*/[] methods, RubyMemberFlags flags, RubyModule/*!*/ declaringModule)
     : base(flags, declaringModule)
 {
     if (methods != null) {
         SetMethodBasesNoLock(methods);
     }
 }
コード例 #7
1
ファイル: RubyEventInfo.cs プロジェクト: TerabyteX/main
 public RubyEventInfo(EventTracker/*!*/ tracker, RubyMemberFlags flags, RubyModule/*!*/ declaringModule, bool isDetached)
     : base(flags, declaringModule)
 {
     Assert.NotNull(tracker, declaringModule);
     _tracker = tracker;
     _isDetached = isDetached;
 }
コード例 #8
0
 /// <summary>
 /// Creates a Ruby method implemented by a method group of CLR methods.
 /// </summary>
 internal RubyLibraryMethodInfo(LibraryOverload /*!*/[] /*!*/ overloads, RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
     : base(null, flags, declaringModule)
 {
     Assert.NotNullItems(overloads);
     Assert.NotEmpty(overloads);
     _overloads = overloads;
 }
コード例 #9
0
        // method:
        internal RubyMethodInfo(RubyMethodBody/*!*/ body, RubyScope/*!*/ declaringScope, RubyModule/*!*/ declaringModule, RubyMemberFlags flags)
            : base(flags, declaringModule) {
            Assert.NotNull(body, declaringModule);

            _body = body;
            _declaringScope = declaringScope;
        }
コード例 #10
0
ファイル: RubyFieldInfo.cs プロジェクト: gaybro8777/ironruby
 public RubyFieldInfo(FieldInfo /*!*/ fieldInfo, RubyMemberFlags flags, RubyModule /*!*/ declaringModule, bool isSetter)
     : base(flags, declaringModule)
 {
     Assert.NotNull(fieldInfo, declaringModule);
     _fieldInfo = fieldInfo;
     _isSetter  = isSetter;
 }
コード例 #11
0
ファイル: RubyEventInfo.cs プロジェクト: rudimk/dlr-dotnet
 public RubyEventInfo(EventTracker /*!*/ tracker, RubyMemberFlags flags, RubyModule /*!*/ declaringModule, bool isDetached)
     : base(flags, declaringModule)
 {
     Assert.NotNull(tracker, declaringModule);
     _tracker    = tracker;
     _isDetached = isDetached;
 }
コード例 #12
0
 protected RubyAttributeAccessorInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule, string /*!*/ variableName)
     : base(flags, declaringModule)
 {
     Assert.NotEmpty(variableName);
     Debug.Assert(variableName.StartsWith("@"));
     _instanceVariableName = variableName;
 }
コード例 #13
0
ファイル: RubyMemberInfo.cs プロジェクト: TerabyteX/main
        internal RubyMemberInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule)
        {
            Assert.NotNull(declaringModule);
            Debug.Assert(flags != RubyMemberFlags.Invalid);

            _flags = flags;
            _declaringModule = declaringModule;
        }
コード例 #14
0
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo /*!*/ info, RubyMemberFlags flags, RubyModule /*!*/ module)
     : base(flags, module)
 {
     _methodBases  = info._methodBases;
     _overloads    = info._overloads;
     _isRubyMethod = info._isRubyMethod;
     _isClrStatic  = info._isClrStatic;
 }
コード例 #15
0
ファイル: RubyMemberInfo.cs プロジェクト: yyyyj/ironruby
        internal RubyMemberInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
        {
            Assert.NotNull(declaringModule);
            Debug.Assert(flags != RubyMemberFlags.Invalid);

            _flags           = flags;
            _declaringModule = declaringModule;
        }
コード例 #16
0
 internal RubyLambdaMethodInfo(Proc /*!*/ block, string /*!*/ definitionName, RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
     : base(flags, declaringModule)
 {
     Assert.NotNull(block, definitionName, declaringModule);
     _lambda         = block.ToLambda(this);
     _definitionName = definitionName;
     _id             = Interlocked.Increment(ref _Id);
 }
コード例 #17
0
 protected RubyMethodGroupBase(OverloadInfo /*!*/[] methods, RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
     : base(flags, declaringModule)
 {
     if (methods != null)
     {
         SetMethodBasesNoLock(methods);
     }
 }
コード例 #18
0
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo/*!*/ info, RubyMemberFlags flags, RubyModule/*!*/ module)
     : base(info.MethodBases, flags, module) {
     _isStatic = info._isStatic;
     _hasVirtuals = info._hasVirtuals;
     _staticDispatchMethods = info._staticDispatchMethods;
     // Note: overloadOwners and maxCachedOverloadLevel are cleared whenever the group is copied
     // The resulting group captures an immutable set of underlying CLR members.
 }
コード例 #19
0
        /// <summary>
        /// Creates a Ruby method implemented by a method group of CLR methods.
        /// </summary>
        internal RubyMethodGroupInfo(Delegate/*!*/[]/*!*/ overloads, RubyMemberFlags flags,  
            RubyModule/*!*/ declaringModule)
            : base(flags, declaringModule) {
            Assert.NotNullItems(overloads);
            Assert.NotNull(declaringModule);
            _overloads = overloads;

            _isClrStatic = false;
            _isRubyMethod = true;
        }
コード例 #20
0
        /// <summary>
        /// Creates a Ruby method implemented by a method group of CLR methods.
        /// </summary>
        internal RubyMethodGroupInfo(Delegate /*!*/[] /*!*/ overloads, RubyMemberFlags flags,
                                     RubyModule /*!*/ declaringModule)
            : base(flags, declaringModule)
        {
            Assert.NotNullItems(overloads);
            Assert.NotNull(declaringModule);
            _overloads = overloads;

            _isClrStatic  = false;
            _isRubyMethod = true;
        }
コード例 #21
0
ファイル: RubyMethodInfo.cs プロジェクト: tnachen/ironruby
        // method:
        internal RubyMethodInfo(object/*!*/ ast, Delegate/*!*/ method, RubyModule/*!*/ declaringModule, 
            string/*!*/ definitionName, int mandatory, int optional, bool hasUnsplatParameter, RubyMemberFlags flags)
            : base(flags, declaringModule) {
            Assert.NotNull(ast, method, declaringModule, definitionName);

            _ast = ast;
            _method = method;
            _mandatoryParamCount = mandatory;
            _optionalParamCount = optional;
            _hasUnsplatParameter = hasUnsplatParameter;
            _definitionName = definitionName;
        }
コード例 #22
0
 public RubyAttributeWriterInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule, string /*!*/ name)
     : base(flags, declaringModule, name)
 {
 }
コード例 #23
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyScopeMethodMissingInfo(flags, module));
 }
コード例 #24
0
ファイル: RubyMethodInfo.cs プロジェクト: ife/IronLanguages
        // method:
        internal RubyMethodInfo(RubyMethodBody /*!*/ body, RubyScope /*!*/ declaringScope, RubyModule /*!*/ declaringModule, RubyMemberFlags flags)
            : base(flags, declaringModule)
        {
            Assert.NotNull(body, declaringModule);

            _body           = body;
            _declaringScope = declaringScope;
        }
コード例 #25
0
ファイル: SuperForwarderInfo.cs プロジェクト: yyyyj/ironruby
 internal protected override RubyMemberInfo Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new SuperForwarderInfo(flags, module, _superName));
 }
コード例 #26
0
ファイル: RubyEventInfo.cs プロジェクト: jxnmaomao/ironruby
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyEventInfo(_tracker, flags, module, true);
 }
コード例 #27
0
ファイル: RubyFieldInfo.cs プロジェクト: Hank923/ironruby
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyFieldInfo(_fieldInfo, flags, module, _isSetter, true);
 }
コード例 #28
0
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyMethodGroupInfo(this, flags, module);
 }
コード例 #29
0
ファイル: RubyMethodInfo.cs プロジェクト: ife/IronLanguages
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyMethodInfo(_body, _declaringScope, module, flags));
 }
コード例 #30
0
ファイル: RubyEventInfo.cs プロジェクト: rudimk/dlr-dotnet
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyEventInfo(_tracker, flags, module, true));
 }
コード例 #31
0
ファイル: RubyMethodInfo.cs プロジェクト: tnachen/ironruby
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyMethodInfo(_ast, _method, module, _definitionName, _mandatoryParamCount, _optionalParamCount, 
         _hasUnsplatParameter, flags
     );
 }
コード例 #32
0
 public RubyAttributeWriterInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule, string/*!*/ name)
     : base(flags, declaringModule, name) {
 }
コード例 #33
0
ファイル: RubyMethodInfo.cs プロジェクト: gaybro8777/ironruby
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyMethodInfo(_ast, _method, module, _definitionName, _mandatoryParamCount, _optionalParamCount,
                               _hasUnsplatParameter, flags
                               ));
 }
コード例 #34
0
 public RubyAttributeReaderInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule, string /*!*/ variableName)
     : base(flags, declaringModule, variableName)
 {
 }
コード例 #35
0
 internal RubyScopeMethodMissingInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
     : base(flags, declaringModule)
 {
 }
コード例 #36
0
ファイル: RubyMemberInfo.cs プロジェクト: TerabyteX/main
 // undefined, hidden, interop method:
 private RubyMemberInfo(RubyMemberFlags flags)
 {
     _flags = flags;
 }
コード例 #37
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyAttributeReaderInfo(flags, module, InstanceVariableName));
 }
コード例 #38
0
 public RubyCustomMethodInfo(RuleGenerator/*!*/ ruleGenerator, RubyMemberFlags flags, RubyModule/*!*/ declaringModule)
     : base(flags, declaringModule)
 {
     Assert.NotNull(ruleGenerator, declaringModule);
     _ruleGenerator = ruleGenerator;
 }
コード例 #39
0
 public RubyAttributeReaderInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule, string/*!*/ variableName)
     : base(flags, declaringModule, variableName) {
 }
コード例 #40
0
 /*!*/
 protected internal override RubyMemberInfo Copy(RubyMemberFlags flags, RubyModule/*!*/ module)
 {
     return new RubyCustomMethodInfo(_ruleGenerator, flags, module);
 }
コード例 #41
0
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyAttributeWriterInfo(flags, module, InstanceVariableName);
 }
コード例 #42
0
 public RubyCustomMethodInfo(RuleGenerator /*!*/ ruleGenerator, RubyMemberFlags flags, RubyModule /*!*/ declaringModule)
     : base(flags, declaringModule)
 {
     Assert.NotNull(ruleGenerator, declaringModule);
     _ruleGenerator = ruleGenerator;
 }
コード例 #43
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyMethodGroupInfo(this, flags, module));
 }
コード例 #44
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyCustomMethodInfo(_ruleGenerator, flags, module));
 }
コード例 #45
0
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo/*!*/ info, RubyMemberFlags flags, RubyModule/*!*/ module)
     : base(flags, module) {
     _methodBases = info._methodBases;
     _overloads = info._overloads;
     _isRubyMethod = info._isRubyMethod;
     _isClrStatic = info._isClrStatic;
 }
コード例 #46
0
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo/*!*/ info, RubyMemberFlags flags, RubyModule/*!*/ module)
     : this(info, flags, module, info._methodBases) {
 }
コード例 #47
0
 internal RubyScopeMethodMissingInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule)
     : base(flags, declaringModule) {
 }
コード例 #48
0
ファイル: RubyMemberInfo.cs プロジェクト: yyyyj/ironruby
 // undefined, hidden, interop method:
 private RubyMemberInfo(RubyMemberFlags flags)
 {
     _flags = flags;
 }
コード例 #49
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyLambdaMethodInfo(_lambda, _definitionName, flags, module));
 }
コード例 #50
0
ファイル: SuperForwarderInfo.cs プロジェクト: TerabyteX/main
 protected internal override RubyMemberInfo Copy(RubyMemberFlags flags, RubyModule/*!*/ module)
 {
     return new SuperForwarderInfo(flags, module, _superName);
 }
コード例 #51
0
ファイル: RubyMethodInfo.cs プロジェクト: gaybro8777/ironruby
        // method:
        internal RubyMethodInfo(object /*!*/ ast, Delegate /*!*/ method, RubyModule /*!*/ declaringModule,
                                string /*!*/ definitionName, int mandatory, int optional, bool hasUnsplatParameter, RubyMemberFlags flags)
            : base(flags, declaringModule)
        {
            Assert.NotNull(ast, method, declaringModule, definitionName);

            _ast    = ast;
            _method = method;
            _mandatoryParamCount = mandatory;
            _optionalParamCount  = optional;
            _hasUnsplatParameter = hasUnsplatParameter;
            _definitionName      = definitionName;
        }
コード例 #52
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyLibraryMethodInfo(_overloads, flags, module));
 }
コード例 #53
0
 protected internal override RubyMemberInfo /*!*/ Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     return(new RubyFieldInfo(_fieldInfo, flags, module, _isSetter, true));
 }
コード例 #54
0
 // copy ctor
 private RubyMethodGroupInfo(RubyMethodGroupInfo /*!*/ info, RubyMemberFlags flags, RubyModule /*!*/ module)
     : base(info.MethodBases, flags, module)
 {
     _isStatic = info._isStatic;
 }
コード例 #55
0
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyLambdaMethodInfo(_lambda, _definitionName, flags, module);
 }
コード例 #56
0
ファイル: SuperForwarderInfo.cs プロジェクト: yyyyj/ironruby
 public SuperForwarderInfo(RubyMemberFlags flags, RubyModule /*!*/ declaringModule, string /*!*/ superName)
     : base(flags, declaringModule)
 {
     _superName = superName;
 }
コード例 #57
0
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyMethodInfo(_body, _declaringScope, module, flags);
 }
コード例 #58
0
ファイル: RubyMemberInfo.cs プロジェクト: yyyyj/ironruby
 internal protected virtual RubyMemberInfo Copy(RubyMemberFlags flags, RubyModule /*!*/ module)
 {
     throw Assert.Unreachable;
 }
コード例 #59
0
 protected internal override RubyMemberInfo/*!*/ Copy(RubyMemberFlags flags, RubyModule/*!*/ module) {
     return new RubyScopeMethodMissingInfo(flags, module);
 }
コード例 #60
0
ファイル: SuperForwarderInfo.cs プロジェクト: TerabyteX/main
 public SuperForwarderInfo(RubyMemberFlags flags, RubyModule/*!*/ declaringModule, string/*!*/ superName)
     : base(flags, declaringModule)
 {
     _superName = superName;
 }