[bcl] Add missing APIs for netstandard parity and expose a few APIs on mobile
[mono.git] / mcs / class / dlr / Runtime / Microsoft.Scripting.Core / Compiler / DebugInfoGenerator.cs
index 843b30bd1fe6532d199ceec7a5437b0d69451007..b87eecde4e0d3524529469383fca3cdb6e696a69 100644 (file)
@@ -1,50 +1,46 @@
-/* ****************************************************************************
+/* ****************************************************************************
  *
  * Copyright (c) Microsoft Corporation. 
  *
- * This source code is subject to terms and conditions of the Microsoft Public License. A 
+ * This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
  * copy of the license can be found in the License.html file at the root of this distribution. If 
- * you cannot locate the  Microsoft Public License, please send an email to 
+ * you cannot locate the  Apache License, Version 2.0, please send an email to 
  * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
- * by the terms of the Microsoft Public License.
+ * by the terms of the Apache License, Version 2.0.
  *
  * You must not remove this notice, or any other, from this software.
  *
  *
  * ***************************************************************************/
 
-#if CODEPLEX_40
-using ILGenerator = System.Linq.Expressions.Compiler.OffsetTrackingILGenerator;
+#if !FEATURE_CORE_DLR
+using Microsoft.Scripting.Ast;
+using Microsoft.Scripting.Ast.Compiler;
 #else
-using ILGenerator = Microsoft.Linq.Expressions.Compiler.OffsetTrackingILGenerator;
+using System.Linq.Expressions;
+using System.Linq.Expressions.Compiler;
 #endif
 
-#if CODEPLEX_40
 using System;
-#else
-using System; using Microsoft;
-#endif
 using System.Collections.Generic;
 using System.Text;
+#if FEATURE_REFEMIT
 using System.Reflection.Emit;
+#endif
 using System.Diagnostics;
 using System.Diagnostics.SymbolStore;
 using System.Reflection;
-#if CODEPLEX_40
-using System.Linq.Expressions;
-#else
-using Microsoft.Linq.Expressions;
-#endif
 
-#if CODEPLEX_40
 namespace System.Runtime.CompilerServices {
-#else
-namespace Microsoft.Runtime.CompilerServices {
+#if !FEATURE_CORE_DLR || SILVERLIGHT
+    using ILGenerator = OffsetTrackingILGenerator;
 #endif
+
     /// <summary>
     /// Generates debug information for lambdas in an expression tree.
     /// </summary>
     public abstract class DebugInfoGenerator {
+#if FEATURE_PDBEMIT
         /// <summary>
         /// Creates PDB symbol generator.
         /// </summary>
@@ -52,7 +48,11 @@ namespace Microsoft.Runtime.CompilerServices {
         public static DebugInfoGenerator CreatePdbGenerator() {
             return new SymbolDocumentGenerator();
         }
-
+#else
+        public static DebugInfoGenerator CreatePdbGenerator() {
+            throw new PlatformNotSupportedException();
+        }
+#endif
         /// <summary>
         /// Marks a sequence point.
         /// </summary>
@@ -61,12 +61,14 @@ namespace Microsoft.Runtime.CompilerServices {
         /// <param name="sequencePoint">Debug informaton corresponding to the sequence point.</param>
         public abstract void MarkSequencePoint(LambdaExpression method, int ilOffset, DebugInfoExpression sequencePoint);
 
+#if FEATURE_REFEMIT
         internal virtual void MarkSequencePoint(LambdaExpression method, MethodBase methodBase, ILGenerator ilg, DebugInfoExpression sequencePoint) {
-            MarkSequencePoint(method, ilg.CurrentOffset, sequencePoint);
+            MarkSequencePoint(method, ilg.ILOffset, sequencePoint);
         }
 
         internal virtual void SetLocalName(LocalBuilder localBuilder, string name) {
             // nop
         }
+#endif
     }
 }