/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.ruby.core; import com.aptana.ruby.core.IRubyMethod.Visibility; public interface ISourceElementRequestor { public static class TypeInfo { public int declarationStart; public boolean isModule; public String name; public int nameSourceStart; public int nameSourceEnd; public String superclass; public String[] modules; public boolean secondary; } public static class MethodInfo { public boolean isConstructor; public boolean isClassLevel; public Visibility visibility; public int declarationStart; public String name; public int nameSourceStart; public int nameSourceEnd; public String[] parameterNames; public String[] blockVars; } public static class FieldInfo { public int declarationStart; public String name; public boolean isDynamic; public int nameSourceStart; public int nameSourceEnd; } public void enterMethod(MethodInfo methodInfo); public void enterConstructor(MethodInfo constructor); public void enterField(FieldInfo fieldInfo); public void enterType(TypeInfo typeInfo); public void enterScript(); public void exitMethod(int endOffset); public void exitConstructor(int endOffset); public void exitField(int endOffset); public void exitType(int endOffset); public void exitScript(int endOffset); public void acceptMethodReference(String name, int argCount, int offset); public void acceptConstructorReference(String name, int argCount, int offset); public void acceptFieldReference(String name, int offset); public void acceptTypeReference(String name, int startOffset, int endOffset); public void acceptImport(String value, int startOffset, int endOffset); public void acceptMixin(String string); public void acceptModuleFunction(String function); public void acceptMethodVisibilityChange(String methodName, Visibility visibility); public void acceptYield(String name); public void enterBlock(int startOffset, int endOffset); public void exitBlock(int endOffset); }