public void Visit(MapTypeNode mapTypeNode) { sb.AppendLine("Map"); }
public void Visit(MapTypeNode mapTypeNode) { }
private bool MapType(NamespaceNode ns, out MapTypeNode result) { Token tk; if (Keyword(ParserConstants.MapKeyword, out tk)) { TokenExpected('<'); var key = (GlobalTypeRefNode)LocalTypeExpected(ns, LocalTypeFlags.GlobalTypeRef); TokenExpected(','); var value = LocalTypeExpected(ns, LocalTypeFlags.GlobalTypeRef | LocalTypeFlags.Nullable | LocalTypeFlags.List | LocalTypeFlags.Set | LocalTypeFlags.Map); TokenExpected('>'); result = new MapTypeNode(ns, tk.TextSpan, key, value); return true; } result = null; return false; }
public GameObjectContentNode VisitGameObjectContent(DazelParser.GameObjectContentContext context) { GameObjectContentTypeNode gameObjectContentTypeNode; switch (context.gameObjectContentType.Type) { case DazelLexer.MAP: gameObjectContentTypeNode = new MapTypeNode() { Token = context.Start }; break; case DazelLexer.ONSCREENENTERED: gameObjectContentTypeNode = new OnScreenEnteredTypeNode() { Token = context.Start }; break; case DazelLexer.ENTITIES: gameObjectContentTypeNode = new EntitiesTypeNodeNode() { Token = context.Start }; break; case DazelLexer.EXITS: gameObjectContentTypeNode = new ExitsTypeNodeNode() { Token = context.Start }; break; case DazelLexer.DATA: gameObjectContentTypeNode = new DataTypeNodeNode() { Token = context.Start }; break; case DazelLexer.PATTERN: gameObjectContentTypeNode = new PatternTypeNode() { Token = context.Start }; break; default: throw new ArgumentException("Invalid content type."); } GameObjectContentNode contentNode = new GameObjectContentNode() { Token = context.Start, Statements = VisitStatementBlock(context.statementBlock()), TypeNode = gameObjectContentTypeNode, }; return(contentNode); }