/** * For a Form_item node which is for a whole table reference, get a list of the FieldBuffers that would be added to * the frame, respecting any EXCEPT fields list. */ public List<FieldBuffer> calculateFormItemTableFields(JPNode formItemNode) { assert formItemNode.getType() == ProParserTokenTypes.Form_item; assert formItemNode.getFirstChild().getType() == ProParserTokenTypes.RECORD_NAME; RecordNameNode recordNameNode = (RecordNameNode) formItemNode.getFirstChild(); TableBuffer tableBuffer = recordNameNode.getTableBuffer(); HashSet<IField> fieldSet = new HashSet<>(tableBuffer.getTable().getFieldSet()); JPNode exceptNode = formItemNode.getParent().findDirectChild(ProParserTokenTypes.EXCEPT); if (exceptNode != null) for (JPNode n = exceptNode.getFirstChild(); n != null; n = n.getNextSibling()) { if (!(n instanceof FieldRefNode)) continue; IField f = ((FieldBuffer) ((FieldRefNode) n).getSymbol()).getField(); fieldSet.remove(f); } ArrayList<FieldBuffer> returnList = new ArrayList<>(); for (IField field : fieldSet) { returnList.add(tableBuffer.getFieldBuffer(field)); } return returnList; }
/** * For a Form_item node which is for a whole table reference, get a list of the FieldBuffers that would be added to * the frame, respecting any EXCEPT fields list. */ public List<FieldBuffer> calculateFormItemTableFields(JPNode formItemNode) { assert formItemNode.getType() == ProParserTokenTypes.Form_item; assert formItemNode.getFirstChild().getType() == ProParserTokenTypes.RECORD_NAME; RecordNameNode recordNameNode = (RecordNameNode) formItemNode.getFirstChild(); TableBuffer tableBuffer = recordNameNode.getTableBuffer(); HashSet<IField> fieldSet = new HashSet<>(tableBuffer.getTable().getFieldSet()); JPNode exceptNode = formItemNode.getParent().findDirectChild(ProParserTokenTypes.EXCEPT); if (exceptNode != null) for (JPNode n = exceptNode.getFirstChild(); n != null; n = n.getNextSibling()) { if (!(n instanceof FieldRefNode)) continue; IField f = ((FieldBuffer) ((FieldRefNode) n).getSymbol()).getField(); fieldSet.remove(f); } ArrayList<FieldBuffer> returnList = new ArrayList<>(); for (IField field : fieldSet) { returnList.add(tableBuffer.getFieldBuffer(field)); } return returnList; }
result.field = tableBuff.getFieldBuffer(field); if (!tableBuff.isDefaultSchema()) return result;
tableBuff = symbolScope.getUnnamedBuffer(field.getTable()); result.field = tableBuff.getFieldBuffer(field); if (field == null) return null; result.field = tableBuff.getFieldBuffer(field); if (fieldPart.length() < result.field.getName().length()) result.isAbbreviated = true;
result = new FieldLookupResult.Builder().setSymbol(tableBuff.getFieldBuffer(field)); if (!tableBuff.isDefaultSchema()) return result;
tableBuff = symbolScope.getUnnamedBuffer(field.getTable()); result.setSymbol(tableBuff.getFieldBuffer(field)); if (field == null) return null; result.setSymbol(tableBuff.getFieldBuffer(field)); if (fieldPart.length() < result.getField().getName().length()) result.setAbbreviated();
idNode.getFilename() + ":" + idNode.getLine() + " Unknown field or variable name: " + fieldPart); FieldBuffer fieldBuffer = ourBuffer.getFieldBuffer(field); result = new FieldLookupResult.Builder().setSymbol(fieldBuffer).build();
idNode.getFilename() + ":" + idNode.getLine() + " Unknown field or variable name: " + fieldPart); FieldBuffer fieldBuffer = ourBuffer.getFieldBuffer(field); result = new FieldLookupResult(); result.field = fieldBuffer;