本文整理汇总了C#中VBAParser.ambiguousIdentifier方法的典型用法代码示例。如果您正苦于以下问题:C# VBAParser.ambiguousIdentifier方法的具体用法?C# VBAParser.ambiguousIdentifier怎么用?C# VBAParser.ambiguousIdentifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VBAParser
的用法示例。
在下文中一共展示了VBAParser.ambiguousIdentifier方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcedureNode
public ProcedureNode(VBAParser.SubStmtContext context, string scope, string localScope)
: this(context, scope, localScope, VBProcedureKind.Sub, context.visibility(), context.ambiguousIdentifier(), null)
{
_argsListContext = context.argList();
_staticNode = context.STATIC();
_keyword = context.SUB();
}
示例2: GetNode
private ProcedureNode GetNode(VBAParser.PropertyGetStmtContext context)
{
if (context == null)
{
return null;
}
var scope = Selection.QualifiedName.ToString();
var localScope = scope + "." + context.ambiguousIdentifier().GetText();
return new ProcedureNode(context, scope, localScope);
}
示例3: DeclareExplicitVariant
private string DeclareExplicitVariant(VBAParser.ConstSubStmtContext context, out string instruction)
{
if (context == null)
{
instruction = null;
return null;
}
var parent = (VBAParser.ConstStmtContext) context.Parent;
instruction = parent.GetText();
var constant = context.GetText();
var replacement = context.ambiguousIdentifier().GetText() + ' '
+ Tokens.As + ' ' + Tokens.Variant + ' '
+ context.EQ().GetText() + ' '
+ context.valueStmt().GetText();
var result = instruction.Replace(constant, replacement);
return result;
}
示例4: EnterDeclareStmt
public override void EnterDeclareStmt(VBAParser.DeclareStmtContext context)
{
var accessibility = GetMemberAccessibility(context.visibility());
var nameContext = context.ambiguousIdentifier();
if (nameContext == null)
{
return;
}
var name = nameContext.GetText();
var hasReturnType = context.FUNCTION() != null;
var asTypeClause = context.asTypeClause();
var asTypeName = hasReturnType
? asTypeClause == null
? Tokens.Variant
: asTypeClause.type().GetText()
: null;
var selection = nameContext.GetSelection();
var declarationType = hasReturnType
? DeclarationType.LibraryFunction
: DeclarationType.LibraryProcedure;
var declaration = CreateDeclaration(name, asTypeName, accessibility, declarationType, context, selection);
OnNewDeclaration(declaration);
SetCurrentScope(declaration, name); // treat like a procedure block, to correctly scope parameters.
}
示例5: EnterTypeStmt
public override void EnterTypeStmt(VBAParser.TypeStmtContext context)
{
SetCurrentScope(context.ambiguousIdentifier().GetText(), DeclarationType.UserDefinedType);
}
示例6: EnterEnumerationStmt_Constant
public override void EnterEnumerationStmt_Constant(VBAParser.EnumerationStmt_ConstantContext context)
{
OnNewDeclaration(CreateDeclaration(context.ambiguousIdentifier().GetText(), null, Accessibility.Implicit, DeclarationType.EnumerationMember, context, context.ambiguousIdentifier().GetSelection()));
}
示例7: EnterTypeStmt_Element
public override void EnterTypeStmt_Element(VBAParser.TypeStmt_ElementContext context)
{
var asTypeClause = context.asTypeClause();
var asTypeName = asTypeClause == null
? Tokens.Variant
: asTypeClause.type().GetText();
OnNewDeclaration(CreateDeclaration(context.ambiguousIdentifier().GetText(), asTypeName, Accessibility.Implicit, DeclarationType.UserDefinedTypeMember, context, context.ambiguousIdentifier().GetSelection()));
}
示例8: EnterEnumerationStmt
public override void EnterEnumerationStmt(VBAParser.EnumerationStmtContext context)
{
var accessibility = GetMemberAccessibility(context.visibility());
var identifier = context.ambiguousIdentifier();
if (identifier == null)
{
return;
}
var name = identifier.GetText();
var declaration = CreateDeclaration(name, null, accessibility, DeclarationType.Enumeration, context, context.ambiguousIdentifier().GetSelection());
OnNewDeclaration(declaration);
_parentDeclaration = declaration; // treat members as child declarations, but keep them scoped to module
}
示例9: EnterPropertySetStmt
public override void EnterPropertySetStmt(VBAParser.PropertySetStmtContext context)
{
_currentScopeAttributes = new Attributes();
_currentScope = Tuple.Create(context.ambiguousIdentifier().GetText(), DeclarationType.PropertySet);
}
示例10: EnterEnumerationStmt
public override void EnterEnumerationStmt(VBAParser.EnumerationStmtContext context)
{
SetCurrentScope(context.ambiguousIdentifier().GetText(), DeclarationType.Enumeration);
}
示例11: EnterFunctionStmt
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context)
{
var accessibility = GetProcedureAccessibility(context.visibility());
var name = context.ambiguousIdentifier().GetText();
var asTypeClause = context.asTypeClause();
var asTypeName = asTypeClause == null
? Tokens.Variant
: asTypeClause.type().GetText();
var declaration = CreateDeclaration(name, asTypeName, accessibility, DeclarationType.Function, context, context.ambiguousIdentifier().GetSelection());
_declarations.Add(declaration);
SetCurrentScope(name);
}
示例12: EnterFunctionStmt
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context)
{
_resolver.SetCurrentScope(context.ambiguousIdentifier().GetText());
}
示例13: EnterEventStmt
public override void EnterEventStmt(VBAParser.EventStmtContext context)
{
var accessibility = GetMemberAccessibility(context.visibility());
var identifier = context.ambiguousIdentifier();
if (identifier == null)
{
return;
}
var name = identifier.GetText();
var declaration = CreateDeclaration(name, null, accessibility, DeclarationType.Event, context, context.ambiguousIdentifier().GetSelection());
OnNewDeclaration(declaration);
SetCurrentScope(declaration, name);
}
示例14: EnterPropertyGetStmt
public override void EnterPropertyGetStmt(VBAParser.PropertyGetStmtContext context)
{
var accessibility = GetProcedureAccessibility(context.visibility());
var identifier = context.ambiguousIdentifier();
if (identifier == null)
{
return;
}
var name = identifier.GetText();
var asTypeClause = context.asTypeClause();
var asTypeName = asTypeClause == null
? Tokens.Variant
: asTypeClause.type().GetText();
var declaration = CreateDeclaration(name, asTypeName, accessibility, DeclarationType.PropertyGet, context, context.ambiguousIdentifier().GetSelection());
OnNewDeclaration(declaration);
SetCurrentScope(declaration, name);
}
示例15: EnterEnumerationStmt
public override void EnterEnumerationStmt(VBAParser.EnumerationStmtContext context)
{
var accessibility = GetMemberAccessibility(context.visibility());
var name = context.ambiguousIdentifier().GetText();
_declarations.Add(CreateDeclaration(name, null, accessibility, DeclarationType.Enumeration, context, context.ambiguousIdentifier().GetSelection()));
//SetCurrentScope(name);
}