// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.NRefactory.PatternMatching;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.NRefactory.VB.Ast;
namespace ICSharpCode.NRefactory.VB.Visitors
{
public interface IEnvironmentProvider
{
string RootNamespace { get; }
string GetTypeNameForAttribute(CSharp.Attribute attribute);
TypeKind GetTypeKindForAstType(CSharp.AstType type);
TypeCode ResolveExpression(CSharp.Expression expression);
bool? IsReferenceType(CSharp.Expression expression);
//ITypeResolveContext ResolveContext { get; }
IType ResolveType(AstType type, TypeDeclaration entity = null);
bool IsMethodGroup(CSharp.Expression expression);
bool HasEvent(Expression expression);
CSharp.ParameterDeclaration[] GetParametersForProperty(CSharp.PropertyDeclaration property);
}
///
/// Description of CSharpToVBConverterVisitor.
///
public class CSharpToVBConverterVisitor : CSharp.IAstVisitor