コード例 #1
0
 private void OutputTypedIdentifier(TypedIdentifierSyntax node, string prefix)
 {
     builder.AddFragment(new OutputFragment(prefix, DefaultColour));
     builder.AddFragment(new OutputFragment(node.IdentifierName.ToString(), VariableColour));
     builder.AddFragment(new OutputFragment(DelimeterString, DefaultColour));
     builder.AddFragment(new OutputFragment(node.Definition.TypeDescription.ToString(), TypeColour));
 }
コード例 #2
0
 protected override void VisitTypedIdentifierSyntax(TypedIdentifierSyntax pNode)
 {
     if (pNode.Type == SmallTypeCache.Undefined)
     {
         CompilerErrors.UndeclaredType(pNode.TypeNode.Value, pNode.Span);
     }
     base.VisitTypedIdentifierSyntax(pNode);
 }
コード例 #3
0
        protected override void VisitTypedIdentifierSyntax(TypedIdentifierSyntax pNode)
        {
            base.VisitTypedIdentifierSyntax(pNode);

            if (_locals.IsVariableDefinedInScope(pNode.Value))
            {
                CompilerErrors.IdentifierAlreadyDeclared(pNode, pNode.Span);
            }
            else
            {
                _locals.DefineVariableInScope(pNode.Value, LocalDefinition.Create(false, pNode.Type));
            }
        }
コード例 #4
0
 public VariableDeclarationSyntax(TokenSyntax keywordToken, TypedIdentifierSyntax identifier, AssignmentExpressionSyntax initialiser)
 {
     KeywordToken = keywordToken;
     Identifier   = identifier;
     Initialiser  = initialiser;
 }
コード例 #5
0
 protected virtual void VisitTypedIdentifierSyntax(TypedIdentifierSyntax pNode)
 {
     Visit(pNode.TypeNode);
 }
コード例 #6
0
 protected virtual SyntaxNode VisitTypedIdentifierSyntax(TypedIdentifierSyntax pNode)
 {
     return(SyntaxFactory.TypedIdentifier((TypeSyntax)Visit(pNode.TypeNode), pNode.Value));
 }