system/src/sc/lang/java/BodyTypeDeclaration.java
public Object declaresMethod(String name, List<? extends Object> types, ITypeParamContext ctx, Object refType, boolean isTransformed, boolean staticOnly, Object inferredType, List<JavaType> methodTypeArgs, boolean includeModified) {
      if (methodsByName == null) {
         initMethodsByName();
      }
      List<Statement> sts = methodsByName.get(name);
      Object obj = findMethodInBody(sts, name, types, ctx, refType, staticOnly, inferredType, methodTypeArgs);
      if (obj != null)
         return obj;

      // Interfaces will put the complete version of the method in the hidden body so this needs to be first
      Object v = findMethodInBody(hiddenBody, name, types, ctx, refType, staticOnly, inferredType, methodTypeArgs);
      if (v != null)
         return v;

      if ((isTransformed || isTransformedType()) && isAutoComponent() && !isDynamicType() && !isTransformed() && componentMethodNames.contains(name)) {
         return addOrGetInitMethod(name, "public");
         // Note: this returns a compiled method even from the source type.  Use declaresMethodDef if you want to exclude
         // those compiled definitions.
         /*
         obj = ModelUtil.definesMethod(ComponentImpl.class, name, types, ctx, refType, true, staticOnly, inferredType, methodTypeArgs, getLayeredSystem());
         if (obj != null)
            return obj;
         */
      }

      return null;
   }
/**
    * Just returns methods declared in this specific type
    */
Just returns methods declared in this specific type
Just returns methods declared in this specific type
public Object declaresMethod(String name, List<? extends Object> types, ITypeParamContext ctx, Object refType, boolean isTransformed, boolean staticOnly, Object inferredType, List<JavaType> methodTypeArgs, boolean includeModified) {
      if (methodsByName == null) {
         initMethodsByName();
      }
      List<Statement> sts = methodsByName.get(name);
      Object obj = findMethodInBody(sts, name, types, ctx, refType, staticOnly, inferredType, methodTypeArgs);
      if (obj != null)
         return obj;
      Object v = findMethodInBody(hiddenBody, name, types, ctx, refType, staticOnly, inferredType, methodTypeArgs);
      if (v != null)
         return v;
      if ((isTransformed || isTransformedType()) && isAutoComponent() && !isDynamicType() && !isTransformed() && componentMethodNames.contains(name)) {
         return addOrGetInitMethod(name, "public");
         /*
         obj = ModelUtil.definesMethod(ComponentImpl.class, name, types, ctx, refType, true, staticOnly, inferredType, methodTypeArgs, getLayeredSystem());
         if (obj != null)
            return obj;
         */
      }
      return null;
   }
public Object declaresMethod ( String name , List < ? extends Object > types , ITypeParamContext ctx , Object refType , boolean isTransformed , boolean staticOnly , Object inferredType , List < JavaType > methodTypeArgs , boolean includeModified ) { if ( methodsByName == null ) { initMethodsByName ( ) ; } List < Statement > sts = methodsByName . get ( name ) ; Object obj = findMethodInBody ( sts , name , types , ctx , refType , staticOnly , inferredType , methodTypeArgs ) ; if ( obj != null ) return obj ; Object v = findMethodInBody ( hiddenBody , name , types , ctx , refType , staticOnly , inferredType , methodTypeArgs ) ; if ( v != null ) return v ; if ( ( isTransformed || isTransformedType ( ) ) && isAutoComponent ( ) && ! isDynamicType ( ) && ! isTransformed ( ) && componentMethodNames . contains ( name ) ) { return addOrGetInitMethod ( name , "public" ) ; /*
         obj = ModelUtil.definesMethod(ComponentImpl.class, name, types, ctx, refType, true, staticOnly, inferredType, methodTypeArgs, getLayeredSystem());
         if (obj != null)
            return obj;
         */ } return null ; }
Just returns methods declared in this specific type
Just returns methods declared in this specific type
// Interfaces will put the complete version of the method in the hidden body so this needs to be first // Note: this returns a compiled method even from the source type.  Use declaresMethodDef if you want to exclude // those compiled definitions.