public ClassModuleDeclaration( QualifiedMemberName qualifiedName, Declaration projectDeclaration, string name, bool isBuiltIn, IEnumerable <IAnnotation> annotations, Attributes attributes, bool hasDefaultInstanceVariable = false) : base( qualifiedName, projectDeclaration, projectDeclaration, name, null, false, false, Accessibility.Public, DeclarationType.ClassModule, null, Selection.Home, false, null, isBuiltIn, annotations, attributes) { if (hasDefaultInstanceVariable) { _hasPredeclaredId = true; } _supertypeNames = new List <string>(); _supertypes = new HashSet <Declaration>(); _subtypes = new HashSet <Declaration>(); }
public ValuedDeclaration( QualifiedMemberName qualifiedName, Declaration parentDeclaration, string parentScope, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, IEnumerable <IParseTreeAnnotation> annotations, Accessibility accessibility, DeclarationType declarationType, string value, ParserRuleContext context, Selection selection, bool isUserDefined = true) : base( qualifiedName, parentDeclaration, parentScope, asTypeName, typeHint, true, false, accessibility, declarationType, context, null, selection, false, asTypeContext, isUserDefined, annotations) { Expression = value; }
public override void Run(QualifiedMemberName qualifiedMemberName) { // note: does not work. http://stackoverflow.com/q/31954364/1188513 //var app = Application.GetType(); //app.InvokeMember(qualifiedMemberName.MemberName, BindingFlags.InvokeMethod | BindingFlags.Default, null, Application, null); //Application.Run(qualifiedMemberName.ToString()); //note: this will work, but not implemented yet http://stackoverflow.com/questions/31954364#36889671 //TaskItem taskitem = Application.CreateItem(OlItemType.olTaskItem); //taskitem.Subject = "Rubberduck"; //taskitem.Body = qualifiedMemberName.MemberName; try { var app = Application; var exp = app.ActiveExplorer(); CommandBar cb = exp.CommandBars.Add("RubberduckCallbackProxy", Temporary: true); CommandBarControl btn = cb.Controls.Add(MsoControlType.msoControlButton, 1); btn.OnAction = qualifiedMemberName.ToString(); btn.Execute(); cb.Delete(); } catch { } }
public SubroutineDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, string asTypeName, Accessibility accessibility, ParserRuleContext context, Selection selection, bool isUserDefined, IEnumerable <IAnnotation> annotations, Attributes attributes) : base( name, parent, parentScope, asTypeName, null, false, false, accessibility, DeclarationType.Procedure, context, selection, false, null, isUserDefined, annotations, attributes) { _parameters = new List <Declaration>(); }
public PropertyLetDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, string asTypeName, Accessibility accessibility, ParserRuleContext context, ParserRuleContext attributesPassContext, Selection selection, bool isUserDefined, IEnumerable <IParseTreeAnnotation> annotations, Attributes attributes) : base( name, parent, parentScope, asTypeName, null, null, accessibility, DeclarationType.PropertyLet, context, attributesPassContext, selection, false, isUserDefined, annotations, attributes) { }
public Declaration( QualifiedMemberName qualifiedName, Declaration parentDeclaration, string parentScope, string asTypeName, string typeHint, bool isSelfAssigned, bool isWithEvents, Accessibility accessibility, DeclarationType declarationType, bool isArray, VBAParser.AsTypeClauseContext asTypeContext, bool isUserDefined = true, IEnumerable <IAnnotation> annotations = null, Attributes attributes = null) : this( qualifiedName, parentDeclaration, parentScope, asTypeName, typeHint, isSelfAssigned, isWithEvents, accessibility, declarationType, null, null, Selection.Home, isArray, asTypeContext, isUserDefined, annotations, attributes) { }
public EventDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, Accessibility accessibility, ParserRuleContext context, Selection selection, bool isArray, bool isUserDefined, IEnumerable <IAnnotation> annotations, Attributes attributes) : base( name, parent, parentScope, asTypeName, typeHint, false, false, accessibility, DeclarationType.Event, context, selection, isArray, asTypeContext, isUserDefined, annotations, attributes) { _parameters = new List <Declaration>(); }
private static ProceduralModuleDeclaration GetTestProceduralModule(Declaration projectDeclatation, string name) { var qualifiedClassModuleMemberName = new QualifiedMemberName(StubQualifiedModuleName(), name); var proceduralModuleDeclaration = new ProceduralModuleDeclaration(qualifiedClassModuleMemberName, projectDeclatation, name, true, null, null); return(proceduralModuleDeclaration); }
public ExternalProcedureDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, DeclarationType declarationType, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, Accessibility accessibility, ParserRuleContext context, ParserRuleContext attributesPassContext, Selection selection, bool isUserDefined, IEnumerable <IParseTreeAnnotation> annotations, Attributes attributes) : base( name, parent, parentScope, asTypeName, null, false, false, accessibility, declarationType, context, attributesPassContext, selection, false, asTypeContext, isUserDefined, annotations, attributes) { _parameters = new List <ParameterDeclaration>(); }
public ConstantDeclaration( QualifiedMemberName qualifiedName, Declaration parentDeclaration, string parentScope, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, IEnumerable <IAnnotation> annotations, Accessibility accessibility, DeclarationType declarationType, string value, ParserRuleContext context, Selection selection, bool isBuiltIn = false) : base( qualifiedName, parentDeclaration, parentScope, asTypeName, typeHint, true, false, accessibility, declarationType, context, selection, false, asTypeContext, isBuiltIn, annotations) { _expression = value; }
public PropertyGetDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, Accessibility accessibility, ParserRuleContext context, ParserRuleContext attributesPassContext, Selection selection, bool isArray, bool isUserDefined, IEnumerable <IAnnotation> annotations, Attributes attributes) : base( name, parent, parentScope, asTypeName, asTypeContext, typeHint, accessibility, DeclarationType.PropertyGet, context, attributesPassContext, selection, isArray, isUserDefined, annotations, attributes) { }
public ProceduralModuleDeclaration( QualifiedMemberName qualifiedName, Declaration projectDeclaration, string name, bool isUserDefined, IEnumerable <IAnnotation> annotations, Attributes attributes) : base( qualifiedName, projectDeclaration, projectDeclaration, name, null, false, false, Accessibility.Public, DeclarationType.ProceduralModule, null, Selection.Home, false, null, isUserDefined, annotations, attributes) { }
public ClassModuleDeclaration( QualifiedMemberName qualifiedName, Declaration projectDeclaration, string name, bool isUserDefined, IEnumerable <IAnnotation> annotations, Attributes attributes, bool isWithEvents = false, bool hasDefaultInstanceVariable = false, bool isControl = false, bool isDocument = false) : base( qualifiedName, projectDeclaration, name, isDocument ? DeclarationType.Document : DeclarationType.ClassModule, isUserDefined, annotations, attributes, isWithEvents) { _supertypeNames = new List <string>(); _supertypes = new HashSet <Declaration>(); _subtypes = new ConcurrentDictionary <Declaration, byte>(); IsControl = isControl; _isExtensible = new Lazy <bool>(IsExtensibleToCache); _isExposed = new Lazy <bool>(IsExposedToCache); _hasPredeclaredId = hasDefaultInstanceVariable ? new Lazy <bool>(() => true) : new Lazy <bool>(HasPredeclaredIdToCache); }
public ClassModuleDeclaration( QualifiedMemberName qualifiedName, Declaration projectDeclaration, string name, bool isBuiltIn, IEnumerable <IAnnotation> annotations, Attributes attributes, bool isExposed = false) : base( qualifiedName, projectDeclaration, projectDeclaration, name, false, false, Accessibility.Public, DeclarationType.ClassModule, null, Selection.Home, isBuiltIn, annotations, attributes) { _isExposed = isExposed; }
public ConstantDeclaration( QualifiedMemberName qualifiedName, Declaration parentDeclaration, string parentScope, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, IEnumerable <IAnnotation> annotations, Accessibility accessibility, DeclarationType declarationType, string value) : this( qualifiedName, parentDeclaration, parentScope, asTypeName, asTypeContext, typeHint, annotations, accessibility, declarationType, value, null, Selection.Home, true) { }
protected ModuleDeclaration( QualifiedMemberName qualifiedName, Declaration projectDeclaration, string name, DeclarationType declarationType, bool isUserDefined, IEnumerable <IParseTreeAnnotation> annotations, Attributes attributes, bool isWithEvents = false) : base( qualifiedName, projectDeclaration, projectDeclaration, name, null, false, isWithEvents, Accessibility.Public, declarationType, null, null, Selection.Home, false, null, isUserDefined, annotations, attributes) { CustomFolder = FolderFromAnnotations(); }
public override void Run(QualifiedMemberName qualifiedMemberName) { // note: does not work. http://stackoverflow.com/q/31954364/1188513 //var app = Application.GetType(); //app.InvokeMember(qualifiedMemberName.MemberName, BindingFlags.InvokeMethod | BindingFlags.Default, null, Application, null); throw new NotImplementedException(); }
/// <summary> /// Creates a new built-in parameter declaration. /// </summary> public ParameterDeclaration(QualifiedMemberName qualifiedName, Declaration parentDeclaration, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, bool isOptional, bool isByRef, bool isArray = false, bool isParamArray = false, string defaultValue = "") : base( qualifiedName, parentDeclaration, parentDeclaration, asTypeName, typeHint, false, false, Accessibility.Implicit, DeclarationType.Parameter, null, null, Selection.Home, isArray, asTypeContext, false) { IsOptional = isOptional; IsByRef = isByRef; IsImplicitByRef = false; IsParamArray = isParamArray; DefaultValue = defaultValue; }
public ExternalProcedureDeclaration( QualifiedMemberName name, Declaration parent, Declaration parentScope, DeclarationType declarationType, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, Accessibility accessibility, ParserRuleContext context, Selection selection, bool isBuiltIn, IEnumerable <IAnnotation> annotations) : base( name, parent, parentScope, asTypeName, null, false, false, accessibility, declarationType, context, selection, false, asTypeContext, isBuiltIn, annotations, null) { _parameters = new List <Declaration>(); }
public ProjectDeclaration( QualifiedMemberName qualifiedName, string name, bool isUserDefined, IVBProject project) : base( qualifiedName, null, (Declaration)null, name, null, false, false, Accessibility.Implicit, DeclarationType.Project, null, null, Selection.Home, false, null, isUserDefined) { _project = project; _projectReferences = new List <ProjectReference>(); }
public ValuedDeclaration(QualifiedMemberName qualifiedName, string parentScope, string asTypeName, Accessibility accessibility, DeclarationType declarationType, string value, ParserRuleContext context, Selection selection, bool isBuiltIn = false) : base(qualifiedName, parentScope, asTypeName, true, false, accessibility, declarationType, context, selection, isBuiltIn) { _value = value; }
/// <summary> /// Creates a new user declaration for a parameter. /// </summary> public ParameterDeclaration(QualifiedMemberName qualifiedName, Declaration parentDeclaration, ParserRuleContext context, Selection selection, string asTypeName, VBAParser.AsTypeClauseContext asTypeContext, string typeHint, bool isOptional, bool isByRef, bool isArray = false, bool isParamArray = false, bool isBuiltIn = false) : base( qualifiedName, parentDeclaration, parentDeclaration, asTypeName, typeHint, false, false, Accessibility.Implicit, DeclarationType.Parameter, context, selection, isArray, asTypeContext, isBuiltIn) { _isOptional = isOptional; _isByRef = isByRef; _isImplicitByRef = isByRef && (context == null || ((VBAParser.ArgContext)context).BYREF() == null); IsParamArray = isParamArray; }
public void ExpressionReturnsTheContructorInjectedValue() { var value = "testtest"; var constantName = new QualifiedMemberName(StubQualifiedModuleName(), "testConstant"); var constantDeclaration = new ConstantDeclaration(constantName, null, "test", "test", null, "test", null, Accessibility.Implicit, DeclarationType.Constant, value, null, Selection.Home, false); Assert.AreEqual <string>(value, constantDeclaration.Expression); }
public override void Run(QualifiedMemberName qualifiedMemberName) { object[] paramArray = { }; //PowerPoint requires a paramarray, so we pass it an empty array. var call = GenerateMethodCall(qualifiedMemberName); Application.Run(call, ref paramArray); }
public ParameterNotUsedInspectionResult(string inspection, CodeInspectionSeverity type, ParserRuleContext context, QualifiedMemberName qualifiedName, bool isInterfaceImplementation, RemoveParametersRefactoring quickFixRefactoring, VBProjectParseResult parseResult) : base(inspection, type, qualifiedName.QualifiedModuleName, context) { _isInterfaceImplementation = isInterfaceImplementation; _quickFixRefactoring = quickFixRefactoring; _parseResult = parseResult; }
public FunctionReturnValueNotUsedInspectionResult( IInspection inspection, ParserRuleContext context, QualifiedMemberName qualifiedName, Declaration target) : this(inspection, context, qualifiedName, new List <Tuple <ParserRuleContext, QualifiedSelection, Declaration> >(), target) { }
public TimeSpan TimedMethodCall(QualifiedMemberName qualifiedMemberName) { var stopwatch = Stopwatch.StartNew(); Run(qualifiedMemberName); stopwatch.Stop(); return(stopwatch.Elapsed); }
public FunctionReturnValueNotUsedInspectionResult( IInspection inspection, ParserRuleContext context, QualifiedMemberName qualifiedName, IEnumerable <string> returnStatements, Declaration target) : this(inspection, context, qualifiedName, returnStatements, new List <Tuple <ParserRuleContext, QualifiedSelection, IEnumerable <string> > >(), target) { }
public TimeSpan TimedMethodCall(QualifiedMemberName qualifiedMemberName) { var stopwatch = Stopwatch.StartNew(); Run(qualifiedMemberName); stopwatch.Stop(); return stopwatch.Elapsed; }
private string GenerateMethodCall(QualifiedMemberName qualifiedMemberName) { //Access only supports Project.Procedure syntax. Error occurs if there are naming conflicts. // http://msdn.microsoft.com/en-us/library/office/ff193559(v=office.15).aspx // https://github.com/retailcoder/Rubberduck/issues/109 var projectName = qualifiedMemberName.QualifiedModuleName.ProjectName; return($"{projectName}.{qualifiedMemberName.MemberName}"); }
//Function RunMacro(ModuleName As String, MacroName As String, Parameter() As Variant) As Variant //Where ModuleName appears to mean ProjectName, and MacroName has to be provided as "ModuleName.ProcName" //TODO:RunMacro can only execute methods in stand-alone projects (not document hosted projects) //TODO:Can only get a CorelDraw application if at least one document is open in CorelDraw. public override void Run(QualifiedMemberName qualifiedMemberName) { var projectName = qualifiedMemberName.QualifiedModuleName.ProjectId; var memberName = qualifiedMemberName.QualifiedModuleName.ComponentName + "." + qualifiedMemberName.MemberName; if (Application != null) { Application.GMSManager.RunMacro(projectName, memberName, new object[] {}); } }
public void Run(QualifiedMemberName qualifiedMemberName) { var component = qualifiedMemberName.QualifiedModuleName.Component; var line = component.CodeModule.get_ProcBodyLine(qualifiedMemberName.MemberName, vbext_ProcKind.vbext_pk_Proc); component.CodeModule.CodePane.SetSelection(line, 1, line, 1); component.CodeModule.CodePane.ForceFocus(); _runButton.Execute(); // note: this can't work... because the .Execute() call isn't blocking, so method returns before test method actually runs. }
internal void ImplementedBy(QualifiedMemberName name) { if (implementors == null) implementors = new Seq<QualifiedMemberName>(); implementors.Add(name); }
public bool ExtraUsedMethod(QualifiedMemberName name) { var assemblyDef = default(AssemblyDef); var typeDef = default(TypeDef); var memberDef = default(MemberDef); if (name.PrimTryResolve(Global, out assemblyDef, out typeDef, out memberDef)) return memberDef.MarkAsUsed(this, assemblyDef, typeDef); return false; }
internal void MustHaveADefinition(QualifiedMemberName name) { if (mustHaveADefinitionCache == null) mustHaveADefinitionCache = new Set<QualifiedMemberName>(); mustHaveADefinitionCache.Add(name); }
public bool IsMustHaveADefinition(QualifiedMemberName name) { return mustHaveADefinitionCache == null ? false : mustHaveADefinitionCache.Contains(name); }
internal void UsedBy(QualifiedMemberName name) { if (usedByMembers == null) usedByMembers = new Set<QualifiedMemberName>(); usedByMembers.Add(name); }
public InvalidMemberName(MessageContext ctxt, QualifiedMemberName name, string message) : base(ctxt, Severity.Warning, "1021") { Name = name; Message = message; }