[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 9516f3a0b8c7afd3e3ccb55060e3c2743e19e161..b87eecde4e0d3524529469383fca3cdb6e696a69 100644 (file)
@@ -1,19 +1,19 @@
-/* ****************************************************************************
+/* ****************************************************************************
  *
  * 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 CLR2
+#if !FEATURE_CORE_DLR
 using Microsoft.Scripting.Ast;
 using Microsoft.Scripting.Ast.Compiler;
 #else
@@ -24,13 +24,15 @@ using System.Linq.Expressions.Compiler;
 using System;
 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;
 
 namespace System.Runtime.CompilerServices {
-#if CLR2 || SILVERLIGHT
+#if !FEATURE_CORE_DLR || SILVERLIGHT
     using ILGenerator = OffsetTrackingILGenerator;
 #endif
 
@@ -38,6 +40,7 @@ namespace System.Runtime.CompilerServices {
     /// Generates debug information for lambdas in an expression tree.
     /// </summary>
     public abstract class DebugInfoGenerator {
+#if FEATURE_PDBEMIT
         /// <summary>
         /// Creates PDB symbol generator.
         /// </summary>
@@ -45,7 +48,11 @@ namespace System.Runtime.CompilerServices {
         public static DebugInfoGenerator CreatePdbGenerator() {
             return new SymbolDocumentGenerator();
         }
-
+#else
+        public static DebugInfoGenerator CreatePdbGenerator() {
+            throw new PlatformNotSupportedException();
+        }
+#endif
         /// <summary>
         /// Marks a sequence point.
         /// </summary>
@@ -54,6 +61,7 @@ namespace System.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.ILOffset, sequencePoint);
         }
@@ -61,5 +69,6 @@ namespace System.Runtime.CompilerServices {
         internal virtual void SetLocalName(LocalBuilder localBuilder, string name) {
             // nop
         }
+#endif
     }
 }