@Override public SourceCode createSourceCode(SourceCode parentSourceCode, AstNode astNode) { seq++; SourceClass cls = new SourceClass("class:" + seq); cls.setStartAtLine(astNode.getTokenLine()); return cls; } }, FlexGrammar.CLASS_DEF, FlexGrammar.INTERFACE_DEF));
public SourceMethod(SourceClass peekParentClass, String methodSignature, int startAtLine) { super(peekParentClass.getKey() + "#" + methodSignature, methodSignature); setStartAtLine(startAtLine); }
/** * Builds and returns a source code builder callback. * * @param nodeName node type to identify a name. * @param isClass define a SourceClass or SourceFunction. * @return the builder callback. */ private static SourceCodeBuilderCallback buildCallback(AstNodeType nodeName, boolean isClass) { return (SourceCode sourceCode, AstNode astNode) -> { String key = generateKey(astNode, nodeName); sourceCode = isClass ? new SourceClass(key) : new SourceFunction(key); sourceCode.setStartAtLine(astNode.getTokenLine()); return sourceCode; }; }
@Override public SourceCode createSourceCode(SourceCode parentSourceCode, AstNode astNode) { seq++; SourceClass cls = new SourceClass("class:" + seq); cls.setStartAtLine(astNode.getTokenLine()); return cls; } }, Kind.CLASS_DECLARATION, Kind.CLASS_EXPRESSION));
@Override public SourceCode createSourceCode(SourceCode parentSourceCode, AstNode astNode) { String functionName = astNode.getFirstChild(PythonGrammar.CLASSNAME).getFirstChild().getTokenValue(); SourceClass function = new SourceClass(functionName + ":" + astNode.getToken().getLine()); function.setStartAtLine(astNode.getTokenLine()); return function; } }, PythonGrammar.CLASSDEF));
@Override public SourceCode createSourceCode(SourceCode parentSourceCode, AstNode astNode) { String className = astNode.getFirstDescendant(ErlangGrammarImpl.moduleAttr).getFirstChild(ErlangGrammarImpl.atom).getTokenValue(); SourceClass cls = new SourceClass(className + ":" + astNode.getToken().getLine()); cls.setStartAtLine(astNode.getTokenLine()); return cls; } }, ErlangGrammarImpl.module));