예제 #1
0
 private CodeTypeRef(CodeModelState state, object parent, ProjectId projectId, ITypeSymbol typeSymbol)
     : base(state)
 {
     _parentHandle = new ParentHandle<object>(parent);
     _projectId = projectId;
     _symbolId = typeSymbol.GetSymbolKey();
 }
        public Win32_Handle_Hijack updateParentValue()
        {
            var target       = TargetHandle.get_Text().toInt().intPtr();
            var targetParent = target.parent().str();

            ParentHandle.set_Text(targetParent);
            return(this);
        }
        internal AbstractCodeElementCollection(
            CodeModelState state,
            object parent)
            : base(state)
        {
            Debug.Assert(parent != null);

            _parentHandle = new ParentHandle <object>(parent);
        }
        internal AbstractCodeElementCollection(
            CodeModelState state,
            object parent)
            : base(state)
        {
            Debug.Assert(parent != null);

            _parentHandle = new ParentHandle<object>(parent);
        }
예제 #5
0
 private CodeParameter(
     CodeModelState state,
     AbstractCodeMember parent,
     string name)
     : base(state, parent.FileCodeModel)
 {
     _parentHandle = new ParentHandle <AbstractCodeMember>(parent);
     _name         = name;
 }
예제 #6
0
 private ExternalCodeParameter(
     CodeModelState state,
     ProjectId projectId,
     IParameterSymbol symbol,
     AbstractExternalCodeElement parent
     ) : base(state, projectId, symbol)
 {
     _parentHandle = new ParentHandle <AbstractExternalCodeElement>(parent);
 }
예제 #7
0
 private CodeImport(
     CodeModelState state,
     FileCodeModel fileCodeModel,
     AbstractCodeElement parent,
     string dottedName)
     : base(state, fileCodeModel)
 {
     _parentHandle = new ParentHandle<AbstractCodeElement>(parent);
     _dottedName = dottedName;
 }
예제 #8
0
 private CodeImport(
     CodeModelState state,
     FileCodeModel fileCodeModel,
     AbstractCodeElement parent,
     string dottedName)
     : base(state, fileCodeModel)
 {
     _parentHandle = new ParentHandle <AbstractCodeElement>(parent);
     _dottedName   = dottedName;
 }
        private ExternalCodeAccessorFunction(CodeModelState state, ProjectId projectId, IMethodSymbol symbol, AbstractExternalCodeMember parent)
            : base(state, projectId, symbol)
        {
            Debug.Assert(symbol.MethodKind == MethodKind.EventAdd ||
                         symbol.MethodKind == MethodKind.EventRaise ||
                         symbol.MethodKind == MethodKind.EventRemove ||
                         symbol.MethodKind == MethodKind.PropertyGet ||
                         symbol.MethodKind == MethodKind.PropertySet);

            _parentHandle = new ParentHandle<AbstractExternalCodeMember>(parent);
        }
예제 #10
0
 private CodeImplementsStatement(
     CodeModelState state,
     AbstractCodeMember parent,
     string namespaceName,
     int ordinal)
     : base(state, parent.FileCodeModel)
 {
     _parentHandle  = new ParentHandle <AbstractCodeMember>(parent);
     _namespaceName = namespaceName;
     _ordinal       = ordinal;
 }
예제 #11
0
 private CodeInheritsStatement(
     CodeModelState state,
     AbstractCodeMember parent,
     string namespaceName,
     int ordinal)
     : base(state, parent.FileCodeModel)
 {
     _parentHandle = new ParentHandle<AbstractCodeMember>(parent);
     _namespaceName = namespaceName;
     _ordinal = ordinal;
 }
 public Win32_Handle_Hijack setTargetValueToItsParent()
 {
     if (ParentHandle.get_Text().isInt())
     {
         if (ParentHandle.get_Text().toInt() > 0)
         {
             TargetHandle.set_Text(ParentHandle.get_Text());
         }
     }
     return(this);
 }
예제 #13
0
        private ExternalCodeAccessorFunction(CodeModelState state, ProjectId projectId, IMethodSymbol symbol, AbstractExternalCodeMember parent)
            : base(state, projectId, symbol)
        {
            Debug.Assert(symbol.MethodKind == MethodKind.EventAdd ||
                         symbol.MethodKind == MethodKind.EventRaise ||
                         symbol.MethodKind == MethodKind.EventRemove ||
                         symbol.MethodKind == MethodKind.PropertyGet ||
                         symbol.MethodKind == MethodKind.PropertySet);

            _parentHandle = new ParentHandle <AbstractExternalCodeMember>(parent);
        }
예제 #14
0
        private CodeAccessorFunction(CodeModelState state, AbstractCodeMember parent, MethodKind kind)
            : base(state, parent.FileCodeModel)
        {
            Debug.Assert(kind == MethodKind.EventAdd ||
                         kind == MethodKind.EventRaise ||
                         kind == MethodKind.EventRemove ||
                         kind == MethodKind.PropertyGet ||
                         kind == MethodKind.PropertySet);

            _parentHandle = new ParentHandle <AbstractCodeMember>(parent);
            _kind         = kind;
        }
예제 #15
0
        private CodeAccessorFunction(CodeModelState state, AbstractCodeMember parent, MethodKind kind)
            : base(state, parent.FileCodeModel)
        {
            Debug.Assert(kind == MethodKind.EventAdd ||
                         kind == MethodKind.EventRaise ||
                         kind == MethodKind.EventRemove ||
                         kind == MethodKind.PropertyGet ||
                         kind == MethodKind.PropertySet);

            _parentHandle = new ParentHandle<AbstractCodeMember>(parent);
            _kind = kind;
        }
        public Win32_Handle_Hijack hijack()
        {
            restore();
            var handle    = TargetHandle.get_Text().toInt().intPtr();
            var newParent = HijackedWindow.clear().handle();

            "Hijacking {0} into window {1}".info(handle, newParent);
            HijackedHandle = handle;

            WinAPI.GetWindowRect(handle, ref HijackedHandleRECT);
            HijackedParent = ParentHandle.get_Text().toInt().intPtr();
            handle.setParent(newParent);

            adjustHandleSizeToTargetWindow();
            return(this);
        }
예제 #17
0
파일: Pipe.cs 프로젝트: yang-er/joj-win32
 public void Dispose()
 {
     mParentStream?.Dispose();
     ParentHandle.Close();
     ChildrenHandle.Close();
 }
예제 #18
0
 private CodeAttributeArgument(CodeModelState state, CodeAttribute parent, int index)
     : base(state, parent.FileCodeModel)
 {
     _parentHandle = new ParentHandle <CodeAttribute>(parent);
     _index        = index;
 }
예제 #19
0
 private ExternalCodeParameter(CodeModelState state, ProjectId projectId, IParameterSymbol symbol, AbstractExternalCodeElement parent)
     : base(state, projectId, symbol)
 {
     _parentHandle = new ParentHandle<AbstractExternalCodeElement>(parent);
 }
예제 #20
0
 private CodeAttributeArgument(CodeModelState state, CodeAttribute parent, int index)
     : base(state, parent.FileCodeModel)
 {
     _parentHandle = new ParentHandle<CodeAttribute>(parent);
     _index = index;
 }