Example #1
0
        void DefineConstant(ConstantDebugInformation constant)
        {
            var row   = metadata.AddStandAloneSignature(metadata.GetConstantTypeBlobIndex(constant.ConstantType));
            var token = new MetadataToken(TokenType.Signature, row);

            writer.DefineConstant2(constant.Name, constant.Value, token.ToInt32());
        }
Example #2
0
        public void Write(MethodBody body, /*Telerik Authorship*/ MetadataToken methodToken, /*Telerik Authorship*/ MetadataToken localVarToken)
        {
            /*Telerik Authorship*/
            //var method_token = body.Method.MetadataToken;
            var sym_token = new SymbolToken(methodToken.ToInt32());
            //var sym_token = new SymbolToken(body.Method.MetadataToken.ToInt32());

            var instructions = CollectInstructions(body);

            if (instructions.Count == 0)
            {
                return;
            }

            var start_offset = 0;
            var end_offset   = body.CodeSize;

            writer.OpenMethod(sym_token);
            writer.OpenScope(start_offset);

            DefineSequencePoints(instructions);

            /*Telerik Authorship*/
            Dictionary <VariableDefinition, string> methodVariableDefinitionToNameMap =
                GetMethodVariableDefinitionToNameMap(body.Method);

            DefineVariables(body, /*Telerik Authorship*/ localVarToken, /*Telerik Authorship*/ methodVariableDefinitionToNameMap, start_offset, end_offset);

            writer.CloseScope(end_offset);
            writer.CloseMethod();
        }
Example #3
0
        public static string ToSuffixString(this MetadataToken token)
        {
            if (!DisplaySettingsPanel.CurrentDisplaySettings.ShowMetadataTokens)
            {
                return(string.Empty);
            }

            return(" @" + token.ToInt32().ToString("x8"));
        }
Example #4
0
        public void Read(MethodBody body, InstructionMapper mapper)
        {
            MetadataToken method_token = body.Method.MetadataToken;
            MethodEntry   entry        = this.symbol_file.GetMethodByToken(method_token.ToInt32());

            if (entry != null)
            {
                Scope[] scopes = MdbReader.ReadScopes(entry, body, mapper);
                this.ReadLineNumbers(entry, mapper);
                MdbReader.ReadLocalVariables(entry, body, scopes);
            }
        }
Example #5
0
 public override void Process(NameValueCollection parameters, MetadataProcessor.MetadataAccessor accessor)
 {
     foreach (Context txt in cc.txts)
     {
         if (txt.fld.Name[0] != '\0')
         {
             continue;
         }
         MetadataToken tkn = accessor.LookupToken(txt.mtdRef);
         string        str = Convert.ToBase64String(BitConverter.GetBytes(tkn.ToInt32() ^ cc.key));
         StringBuilder sb  = new StringBuilder(str.Length);
         for (int i = 0; i < str.Length; i++)
         {
             sb.Append((char)((byte)str[i] ^ i));
         }
         txt.fld.Name = sb.ToString();
     }
 }
Example #6
0
        public static T Resolve <T>(this Assembly asm, MetadataToken token, object param = null) where T : MemberInfo
        {
            var mModule = asm.GetModules()[0];

            if (typeof(T) == typeof(FieldInfo))
            {
                try
                {
                    return(FieldInfo.GetFieldFromHandle(mModule.ResolveField(token.ToInt32()).FieldHandle) as T);
                }
                catch
                {
                    return(default(T));
                }
            }


            return(default(T));
        }
Example #7
0
        void DefineVariables(MethodBody body, /*Telerik Authorship*/ MetadataToken localVarToken, /*Telerik Authorship*/ Dictionary <VariableDefinition, string> methodVariableDefinitionToNameMap, int start_offset, int end_offset)
        {
            if (!body.HasVariables)
            {
                return;
            }

            /*Telerik Authorship*/
            //var sym_token = new SymbolToken (body.LocalVarToken.ToInt32 ());
            var sym_token = new SymbolToken(localVarToken.ToInt32());

            var variables = body.Variables;

            for (int i = 0; i < variables.Count; i++)
            {
                var variable = variables [i];

                /*Telerik Authorship*/
                string variableName = GetVariableName(variable, methodVariableDefinitionToNameMap);

                CreateLocalVariable(variable, /*Telerik Authorship*/ variableName, sym_token, start_offset, end_offset);
            }
        }
        public void Write(MethodBody body, /*Telerik Authorship*/ MetadataToken methodToken, /*Telerik Authorship*/ MetadataToken localVarToken)
        {
            /*Telerik Authorship*/
            //var method_token = body.Method.MetadataToken;
            var sym_token = new SymbolToken (methodToken.ToInt32 ());
            //var sym_token = new SymbolToken(body.Method.MetadataToken.ToInt32());

            var instructions = CollectInstructions (body);
            if (instructions.Count == 0)
                return;

            var start_offset = 0;
            var end_offset = body.CodeSize;

            writer.OpenMethod (sym_token);
            writer.OpenScope (start_offset);

            DefineSequencePoints (instructions);

            /*Telerik Authorship*/
            Dictionary<VariableDefinition, string> methodVariableDefinitionToNameMap =
                GetMethodVariableDefinitionToNameMap(body.Method);

            DefineVariables(body, /*Telerik Authorship*/ localVarToken, /*Telerik Authorship*/ methodVariableDefinitionToNameMap, start_offset, end_offset);

            writer.CloseScope (end_offset);
            writer.CloseMethod ();
        }
        void DefineVariables(MethodBody body, /*Telerik Authorship*/ MetadataToken localVarToken,  /*Telerik Authorship*/ Dictionary<VariableDefinition, string> methodVariableDefinitionToNameMap, int start_offset, int end_offset)
        {
            if (!body.HasVariables)
                return;

            /*Telerik Authorship*/
            //var sym_token = new SymbolToken (body.LocalVarToken.ToInt32 ());
            var sym_token = new SymbolToken(localVarToken.ToInt32());

            var variables = body.Variables;
            for (int i = 0; i < variables.Count; i++) {
                var variable = variables [i];

                /*Telerik Authorship*/
                string variableName = GetVariableName(variable, methodVariableDefinitionToNameMap);

                CreateLocalVariable(variable, /*Telerik Authorship*/ variableName, sym_token, start_offset, end_offset);
            }
        }
 public MemberID(string assemblyName, string moduleName, MetadataToken token)
 {
     AssemblyQualifiedTypeName = assemblyName;
     ModuleName = moduleName;
     Token      = token.ToInt32();
 }