public void merge(DeclSpecNode that) { if (baseType == null) { baseType = that.baseType; } isTypedef |= that.isTypedef; isExtern |= that.isExtern; isStatic |= that.isStatic; isAuto |= that.isAuto; isRegister |= that.isRegister; isShort |= that.isShort; isSigned |= that.isSigned; isUnsigned |= that.isUnsigned; if (that.isLong) { longCount++; } isConst |= that.isConst; isRestrict |= that.isRestrict; isVolatile |= that.isVolatile; isInline |= that.isInline; }
public virtual void VisitTypeDeclNode(TypeDeclNode node) { Visit(node.NameNode); Visit(node.EqualSignNode); Visit(node.TypeKeywordNode); Visit(node.TypeNode); Visit(node.PortabilityDirectiveListNode); Visit(node.SemicolonNode); }
public override Node VisitTypeDecls([NotNull] TigerParser.TypeDeclsContext context) { var node = new TypeDeclListNode(context); for (int i = 0; i < context.type().Length; i++) { ITerminalNode id = context.ID(i); TigerParser.TypeContext type = context.type(i); var decl = new TypeDeclNode(id.Symbol.Line, id.Symbol.Column); decl.Children.Add( new IdNode(id.Symbol.Line, id.Symbol.Column, id.GetText())); decl.Children.Add( Visit(type)); node.Children.Add(decl); } return(node); }
public DeclSpecNode() { baseType = null; isTypedef = false; isExtern = false; isStatic = false; isAuto = false; isRegister = false; isShort = false; isLong = false; isSigned = false; isUnsigned = false; longCount = 0; isConst = false; isRestrict = false; isVolatile = false; isInline = false; }