summaryrefslogtreecommitdiff
path: root/BCT/BytecodeTranslator
diff options
context:
space:
mode:
Diffstat (limited to 'BCT/BytecodeTranslator')
-rw-r--r--BCT/BytecodeTranslator/MetadataTraverser.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/BCT/BytecodeTranslator/MetadataTraverser.cs b/BCT/BytecodeTranslator/MetadataTraverser.cs
index eb8f96e1..e65ef6a9 100644
--- a/BCT/BytecodeTranslator/MetadataTraverser.cs
+++ b/BCT/BytecodeTranslator/MetadataTraverser.cs
@@ -90,6 +90,9 @@ namespace BytecodeTranslator {
public override void TraverseChildren(IModule module) {
this.PdbReaders.TryGetValue(module, out this.PdbReader);
+ if (!(module.EntryPoint is Dummy))
+ this.entryPoint = module.EntryPoint;
+
base.TraverseChildren(module);
}
@@ -323,6 +326,7 @@ namespace BytecodeTranslator {
}
private bool sawCctor = false;
+ private IMethodReference/*?*/ entryPoint = null;
private void CreateStaticConstructor(ITypeDefinition typeDefinition) {
var typename = TypeHelper.GetTypeName(typeDefinition, Microsoft.Cci.NameFormattingOptions.DocumentationId);
@@ -412,6 +416,10 @@ namespace BytecodeTranslator {
var proc = decl as Bpl.Procedure;
var formalMap = procInfo.FormalMap;
+ if (this.entryPoint != null && method.InternedKey == this.entryPoint.InternedKey) {
+ decl.AddAttribute("entrypoint");
+ }
+
// FEEDBACK inline handler methods to avoid more false alarms
if (PhoneCodeHelper.instance().PhoneFeedbackToggled && PhoneCodeHelper.instance().isMethodInputHandlerOrFeedbackOverride(method) &&
!PhoneCodeHelper.instance().isMethodIgnoredForFeedback(method)) {