コード例 #1
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__pinvoke_");
     sb.Append(_moduleName);
     sb.Append("__");
     sb.Append(_entryPointName);
 }
コード例 #2
0
        public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
        {
            if (_dispatchMapTableIndex == IndexNotSet)
            {
                throw new InvalidOperationException("MangledName called before InterfaceDispatchMap index was initialized.");
            }

            sb.Append(nameMangler.CompilationUnitPrefix).Append("__InterfaceDispatchMap_").Append(_dispatchMapTableIndex.ToStringInvariant());
        }
コード例 #3
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     switch (_id)
     {
         case ReadyToRunHelperId.NewHelper:
             sb.Append("__NewHelper_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.NewArr1:
             sb.Append("__NewArr1_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.VirtualCall:
             sb.Append("__VirtualCall_").Append(NodeFactory.NameMangler.GetMangledMethodName((MethodDesc)_target));
             break;
         case ReadyToRunHelperId.IsInstanceOf:
             sb.Append("__IsInstanceOf_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.CastClass:
             sb.Append("__CastClass_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.GetNonGCStaticBase:
             sb.Append("__GetNonGCStaticBase_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.GetGCStaticBase:
             sb.Append("__GetGCStaticBase_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.GetThreadStaticBase:
             sb.Append("__GetThreadStaticBase_").Append(NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_target));
             break;
         case ReadyToRunHelperId.DelegateCtor:
             {
                 var createInfo = (DelegateCreationInfo)_target;
                 sb.Append("__DelegateCtor_");
                 createInfo.Constructor.AppendMangledName(nameMangler, sb);
                 sb.Append("__");
                 createInfo.Target.AppendMangledName(nameMangler, sb);
                 if (createInfo.Thunk != null)
                 {
                     sb.Append("__");
                     createInfo.Thunk.AppendMangledName(nameMangler, sb);
                 }
             }
             break;
         case ReadyToRunHelperId.ResolveVirtualFunction:
             sb.Append("__ResolveVirtualFunction_");
             sb.Append(NodeFactory.NameMangler.GetMangledMethodName((MethodDesc)_target));
             break;
         case ReadyToRunHelperId.ResolveGenericVirtualMethod:
             sb.Append("__ResolveGenericVirtualMethod_");
             sb.Append(NodeFactory.NameMangler.GetMangledMethodName((MethodDesc)_target));
             break;
         default:
             throw new NotImplementedException();
     }
 }
コード例 #4
0
ファイル: ISymbolNode.cs プロジェクト: nattress/corert
        static public string GetMangledName(this ISymbolNode symbolNode)
        {
            Utf8StringBuilder sb = s_cachedUtf8StringBuilder;
            if (sb == null)
                sb = new Utf8StringBuilder();

            symbolNode.AppendMangledName(NodeFactory.NameMangler, sb);
            string ret = sb.ToString();

            sb.Clear();
            s_cachedUtf8StringBuilder = sb;

            return ret;
        }
コード例 #5
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix).Append("__type_to_cctorContext_map");
 }
コード例 #6
0
ファイル: ObjectWriter.cs プロジェクト: nattress/corert
 public void EmitSymbolDef(Utf8StringBuilder symbolName)
 {
     EmitSymbolDef(_nativeObjectWriter, symbolName.Append('\0').UnderlyingArray);
 }
コード例 #7
0
ファイル: GCStaticsNode.cs プロジェクト: nattress/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__GCStaticBase_").Append(NodeFactory.NameMangler.GetMangledTypeName(_type));
 }
コード例 #8
0
ファイル: IndirectionNode.cs プロジェクト: nattress/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__indirection");
     _indirectedNode.AppendMangledName(nameMangler, sb);
 }
コード例 #9
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix).Append("__method_to_entrypoint_map");
 }
コード例 #10
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix).Append("__typemanager_indirection");
 }
コード例 #11
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__optionalfields_");
     _owner.AppendMangledName(nameMangler, sb);
 }
コード例 #12
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("TypeHandle_");
     sb.Append(nameMangler.GetMangledTypeName(_type));
 }
コード例 #13
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("MethodHandle_");
     sb.Append(nameMangler.GetMangledMethodName(_method));
 }
コード例 #14
0
ファイル: MethodCodeNode.cs プロジェクト: nattress/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(NodeFactory.NameMangler.GetMangledMethodName(_method));
 }
コード例 #15
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("NonGCStaticBase_");
     sb.Append(nameMangler.GetMangledTypeName(_type));
 }
コード例 #16
0
ファイル: UnboxingStubNode.cs プロジェクト: nattress/corert
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("unbox_").Append(NodeFactory.NameMangler.GetMangledMethodName(_target));
 }
コード例 #17
0
ファイル: ObjectWriter.cs プロジェクト: nattress/corert
 private void AppendExternCPrefix(Utf8StringBuilder sb)
 {
     if (_targetPlatform.OperatingSystem == TargetOS.OSX)
     {
         // On OSX, we need to prefix an extra underscore to account for correct linkage of 
         // extern "C" functions.
         sb.Append('_');
     }
 }
コード例 #18
0
ファイル: ObjectWriter.cs プロジェクト: nattress/corert
 public int EmitSymbolRef(Utf8StringBuilder symbolName, RelocType relocType, int delta = 0)
 {
     return EmitSymbolRef(_nativeObjectWriter, symbolName.Append('\0').UnderlyingArray, relocType, delta);
 }
コード例 #19
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(NodeFactory.CompilationUnitPrefix).Append("__field_to_offset_map");
 }
コード例 #20
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(NodeFactory.CompilationUnitPrefix);
     sb.Append("__ReadyToRunHeader");
 }
コード例 #21
0
ファイル: ArrayMapNode.cs プロジェクト: justinvp/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix).Append("__array_type_map");
 }
コード例 #22
0
        public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
        {
            Utf8String mangledContextName;
            if (_dictionaryOwner is MethodDesc)
                mangledContextName = NodeFactory.NameMangler.GetMangledMethodName((MethodDesc)_dictionaryOwner);
            else
                mangledContextName = NodeFactory.NameMangler.GetMangledTypeName((TypeDesc)_dictionaryOwner);

            sb.Append("__GenericLookupFromType_").Append(mangledContextName).Append("_");
            _lookupSignature.AppendMangledName(nameMangler, sb);
        }
コード例 #23
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__nativemodule_");
     sb.Append(_moduleName);
 }
コード例 #24
0
 //
 // A cloned type must be named differently than the type it is a clone of so the linker
 // will have an unambiguous symbol to resolve
 //
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__Cloned_EEType_").Append(nameMangler.GetMangledTypeName(_type));
 }
コード例 #25
0
ファイル: EETypeNode.cs プロジェクト: justinvp/corert
 public virtual void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__EEType_").Append(nameMangler.GetMangledTypeName(_type));
 }
コード例 #26
0
 public abstract void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb);
コード例 #27
0
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__fatpointer_").Append(NodeFactory.NameMangler.GetMangledMethodName(Method));
 }
コード例 #28
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(MangledNamePrefix).Append(NodeFactory.NameMangler.GetMangledTypeName(_owningType));
 }
コード例 #29
0
ファイル: GCStaticEETypeNode.cs プロジェクト: justinvp/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append("__GCStaticEEType_").Append(_gcMap.ToString());
 }
コード例 #30
0
ファイル: MetadataNode.cs プロジェクト: justinvp/corert
 public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix).Append("__embedded_metadata");
 }