Merge pull request #2713 from gregoryyoung/master
[mono.git] / mcs / mcs / context.cs
index b41d8c472771ec04e567e305606099e003cf6e63..7b5ffadf328884fdeaf5bc532468b005be5f98f2 100644 (file)
@@ -22,8 +22,7 @@ namespace Mono.CSharp
        {
                Normal = 0,
                Probing = 1,
-               IgnoreAccessibility = 2,
-               NameOf = 3
+               IgnoreAccessibility = 2
        }
 
        //
@@ -56,7 +55,7 @@ namespace Mono.CSharp
 
                string GetSignatureForError ();
 
-               ExtensionMethodCandidates LookupExtensionMethod (TypeSpec extensionType, string name, int arity);
+               ExtensionMethodCandidates LookupExtensionMethod (string name, int arity);
                FullNamedExpression LookupNamespaceOrType (string name, int arity, LookupMode mode, Location loc);
                FullNamedExpression LookupNamespaceAlias (string name);
        }
@@ -190,7 +189,9 @@ namespace Mono.CSharp
 
                        TryWithCatchScope = 1 << 15,
 
-                       ConditionalAccessReceiver = 1 << 16,
+                       DontSetConditionalAccessReceiver = 1 << 16,
+
+                       NameOfScope = 1 << 17,
 
                        ///
                        /// Indicates the current context is in probing mode, no errors are reported. 
@@ -425,9 +426,9 @@ namespace Mono.CSharp
                        return MemberContext.GetSignatureForError ();
                }
 
-               public ExtensionMethodCandidates LookupExtensionMethod (TypeSpec extensionType, string name, int arity)
+               public ExtensionMethodCandidates LookupExtensionMethod (string name, int arity)
                {
-                       return MemberContext.LookupExtensionMethod (extensionType, name, arity);
+                       return MemberContext.LookupExtensionMethod (name, arity);
                }
 
                public FullNamedExpression LookupNamespaceOrType (string name, int arity, LookupMode mode, Location loc)
@@ -446,7 +447,6 @@ namespace Mono.CSharp
        public class FlowAnalysisContext
        {
                readonly CompilerContext ctx;
-               DefiniteAssignmentBitSet conditional_access;
 
                public FlowAnalysisContext (CompilerContext ctx, ParametersBlock parametersBlock, int definiteAssignmentLength)
                {
@@ -498,7 +498,7 @@ namespace Mono.CSharp
                        }
 
                        foreach (var existing in das) {
-                               if (DefiniteAssignmentBitSet.AreEqual (existing, DefiniteAssignment))
+                               if (DefiniteAssignmentBitSet.IsIncluded (existing, DefiniteAssignment))
                                        return true;
                        }
 
@@ -524,19 +524,6 @@ namespace Mono.CSharp
                        return da;
                }
 
-               public void BranchConditionalAccessDefiniteAssignment ()
-               {
-                       if (conditional_access == null)
-                               conditional_access = BranchDefiniteAssignment ();
-               }
-
-               public void ConditionalAccessEnd ()
-               {
-                       Debug.Assert (conditional_access != null);
-                       DefiniteAssignment = conditional_access;
-                       conditional_access = null;
-               }
-
                public bool IsDefinitelyAssigned (VariableInfo variable)
                {
                        return variable.IsAssigned (DefiniteAssignment);