/** Unlike other symbols, Frames are automatically added to the scope, right here at creation time. */ public Frame(String name, TreeParserSymbolScope scope) { super(name, scope); scope.add(this); }
/** Unlike other symbols, Frames are automatically added to the scope, right here at creation time. */ public Frame(String name, TreeParserSymbolScope scope) { super(name, scope); scope.add(this); }
/** Called at the *end* of the statement that defines the symbol. */ @Override public void addToSymbolScope(Object o) { LOG.trace("addToSymbolScope - Adding {} to {}", o, currentScope); if (inDefineEvent) return; currentScope.add((Symbol) o); }
/** Called at the *end* of the statement that defines the symbol. */ @Override public void addToSymbolScope(Object o) { LOG.trace("addToSymbolScope - Adding {} to {}", o, currentScope); if (inDefineEvent) return; currentScope.add((Symbol) o); }
/** Add a Symbol for names lookup. */ public void add(Symbol symbol) { if (symbol instanceof IFieldLevelWidget) { add((IFieldLevelWidget) symbol); } else if (symbol instanceof Variable) { add((Variable) symbol); } else if (symbol instanceof Routine) { add((Routine) symbol); } else if (symbol instanceof TableBuffer) { add((TableBuffer) symbol); } else { Map<String, Symbol> map = typeMap.get(symbol.getProgressType()); if (map == null) { map = new HashMap<>(); typeMap.put(symbol.getProgressType(), map); } map.put(symbol.getName().toLowerCase(), symbol); } }
/** Add a Symbol for names lookup. */ public void add(Symbol symbol) { if (symbol instanceof IFieldLevelWidget) { add((IFieldLevelWidget) symbol); } else if (symbol instanceof Variable) { add((Variable) symbol); } else if (symbol instanceof Routine) { add((Routine) symbol); } else if (symbol instanceof TableBuffer) { add((TableBuffer) symbol); } else { Map<String, Symbol> map = typeMap.get(symbol.getProgressType()); if (map == null) { map = new HashMap<>(); typeMap.put(symbol.getProgressType(), map); } map.put(symbol.getName().toLowerCase(), symbol); } }
@Override public void procedureBegin(JPNode procAST, JPNode idAST) { LOG.trace("Entering procedureBegin {} - {}", procAST, idAST); BlockNode blockNode = (BlockNode) procAST; TreeParserSymbolScope definingScope = currentScope; scopeAdd(blockNode); Routine r = new Routine(idAST.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.PROCEDURE); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void procedureBegin(JPNode procAST, JPNode idAST) { LOG.trace("Entering procedureBegin {} - {}", procAST, idAST); BlockNode blockNode = (BlockNode) procAST; TreeParserSymbolScope definingScope = currentScope; scopeAdd(blockNode); Routine r = new Routine(idAST.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.PROCEDURE); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void methodBegin(JPNode blockAST, JPNode idNode) { LOG.trace("Entering methodBegin {} - {}", blockAST, idNode); scopeAdd(blockAST); BlockNode blockNode = (BlockNode) idNode.getParent(); TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(idNode.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.METHOD); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void propGetSetBegin(JPNode propAST) { LOG.trace("Entering propGetSetBegin {}", propAST); scopeAdd(propAST); BlockNode blockNode = (BlockNode) propAST; TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(propAST.getText(), definingScope, currentScope); r.setProgressType(propAST.getType()); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void propGetSetBegin(JPNode propAST) { LOG.trace("Entering propGetSetBegin {}", propAST); scopeAdd(propAST); BlockNode blockNode = (BlockNode) propAST; TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(propAST.getText(), definingScope, currentScope); r.setProgressType(propAST.getType()); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void methodBegin(JPNode blockAST, JPNode idNode) { LOG.trace("Entering methodBegin {} - {}", blockAST, idNode); scopeAdd(blockAST); BlockNode blockNode = (BlockNode) idNode.getParent(); TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(idNode.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.METHOD); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void funcBegin(JPNode funcAST, JPNode idNode) { LOG.trace("Entering funcBegin {} {}", funcAST, idNode); // John: Need some comments here. Why don't I just fetch any // function forward scope right away? Why wait until funcDef()? // Why bother with a funcForward map specifically, rather than // just a funcScope map generally? scopeAdd(funcAST); BlockNode blockNode = (BlockNode) idNode.getParent(); TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(idNode.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.FUNCTION); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }
@Override public void funcBegin(JPNode funcAST, JPNode idNode) { LOG.trace("Entering funcBegin {} {}", funcAST, idNode); // John: Need some comments here. Why don't I just fetch any // function forward scope right away? Why wait until funcDef()? // Why bother with a funcForward map specifically, rather than // just a funcScope map generally? scopeAdd(funcAST); BlockNode blockNode = (BlockNode) idNode.getParent(); TreeParserSymbolScope definingScope = currentScope.getParentScope(); Routine r = new Routine(idNode.getText(), definingScope, currentScope); r.setProgressType(ProParserTokenTypes.FUNCTION); r.setDefOrIdNode(blockNode); blockNode.setSymbol(r); definingScope.add(r); currentRoutine = r; }